aboutsummaryrefslogtreecommitdiff
path: root/japanese/FreeWnn-server
diff options
context:
space:
mode:
authorHiroki Sato <hrs@FreeBSD.org>2008-10-26 19:17:56 +0000
committerHiroki Sato <hrs@FreeBSD.org>2008-10-26 19:17:56 +0000
commited4de7cae668f4cd70a7798b1aca8be8823aa30d (patch)
tree6750ad6c180af4894bed40793867534d298ababd /japanese/FreeWnn-server
parent6d01198244a05b16a038f8b2b6b9afe18db7d173 (diff)
- Style clean-ups.
- Separate */FreeWnn-server and */FreeWnn-lib. - Take maintainership.
Notes
Notes: svn path=/head/; revision=222102
Diffstat (limited to 'japanese/FreeWnn-server')
-rw-r--r--japanese/FreeWnn-server/Makefile74
-rw-r--r--japanese/FreeWnn-server/distinfo9
-rw-r--r--japanese/FreeWnn-server/files/patch-Wnn-man-Makefile.in11
-rw-r--r--japanese/FreeWnn-server/files/patch-makerule.mk.in13
-rw-r--r--japanese/FreeWnn-server/files/pkg-install.in175
-rw-r--r--japanese/FreeWnn-server/pkg-descr2
6 files changed, 272 insertions, 12 deletions
diff --git a/japanese/FreeWnn-server/Makefile b/japanese/FreeWnn-server/Makefile
index 27cf0bfaa28a..865db29eaf7c 100644
--- a/japanese/FreeWnn-server/Makefile
+++ b/japanese/FreeWnn-server/Makefile
@@ -5,11 +5,75 @@
# $FreeBSD$
#
+PORTNAME= FreeWnn
+PORTVERSION= 1.1.1.a021
+PORTREVISION= 3
+CATEGORIES?= japanese
+MASTER_SITES= ftp://ftp.freewnn.org/pub/%SUBDIR%/ \
+ ${MASTER_SITE_SOURCEFORGE_JP}
+MASTER_SITE_SUBDIR= FreeWnn/alpha \
+ freewnn/17724
PKGNAMESUFFIX= -server
-COMMENT= A Japanese/Chinese/Korean input method (Japanese server)
+DISTNAME= ${PORTNAME}-1.1.1-a021
-MASTERDIR= ${.CURDIR}/../FreeWnn-lib
-PKGDIR= ${.CURDIR}
-PATCHDIR= ${.CURDIR}/files
+MAINTAINER= hrs@FreeBSD.org
+COMMENT?= A Japanese/Chinese/Korean input method (Japanese client libraries)
-.include "${MASTERDIR}/Makefile"
+USE_BZIP2= yes
+GNU_CONFIGURE= yes
+USE_AUTOTOOLS= autoconf:262 libtool:15
+USE_LDCONFIG= yes
+USE_RC_SUBR= yes
+MAKE_ARGS= MANLANG="${MANLANG}" CDEBUGFLAGS="${CFLAGS}"
+ALL_TARGET= includes all
+INSTALL_TARGET= install install.man
+SUB_FILES= pkg-install
+SUB_LIST= RC_SUBR=${RC_SUBR}
+PKGINSTALL= ${WRKDIR}/pkg-install
+
+WNNTYPE?= WNN
+CONFIGURE_ARGS= --enable-library=no ${CONFIGURE_ARGS.${WNNTYPE}}
+
+# Wnn
+LIB_DEPENDS.WNN= wnn.0:${PORTSDIR}/japanese/FreeWnn-lib
+CONFIGURE_ARGS.WNN= --enable-cWnn=no --enable-kWnn=no \
+ --with-libwnn=-lwnn \
+ --with-wnn-libraries="${PREFIX}/lib"
+MAN1.WNN= atod.1 atof.1 dtoa.1 jserver.1 oldatonewa.1 uum.1 wddel.1 \
+ wdreg.1 wnnkill.1 wnnstat.1 wnntouch.1
+MAN4.WNN= 2a_ctrl.4 2b_romkana.4 cvt_key_tbl.4 fzk.data.4 fzk.u.4 \
+ hinsi_data.4 jserverrc.4 mode.4 serverdefs.4 ujis_dic.4 \
+ uumkey.4 uumrc.4 wnnenvrc.4
+MAN5.WNN= pubdic.5 usr_dic.5
+MANLANG.WNN= ja
+
+# CWnn
+CONFIGURE_ARGS.CWNN+= --enable-Wnn=no --enable-kWnn=no \
+ --with-libcwnn=-lcwnn \
+ --with-cwnn-libraries="${PREFIX}/lib"
+LIB_DEPENDS.CWNN= cwnn.0:${PORTSDIR}/chinese/FreeWnn-lib
+MAN1.CWNN= cserver.1 cuum.1 cwnnkill.1 cwnnstat.1 catod.1 catof.1 \
+ cdicsort.1 cdtoa.1 cwddel.1 cwdreg.1 cwnntouch.1
+MAN4.CWNN= cst_end.4 cwnn.4 cenv.4 ckey.4
+
+# KWnn
+CONFIGURE_ARGS.KWNN+= --enable-Wnn=no --enable-cWnn=no \
+ --with-libkwnn=-lkwnn \
+ --with-kwnn-libraries="${PREFIX}/lib"
+LIB_DEPENDS.KWNN= kwnn.0:${PORTSDIR}/korean/FreeWnn-lib
+
+.for M in LIB_DEPENDS MAN1 MAN4 MAN5 MLINKS MANLANG
+. if defined(${M}.${WNNTYPE})
+${M}+= ${${M}.${WNNTYPE}}
+. endif
+.endfor
+
+pre-install:
+ ${SETENV} BATCH=${BATCH} \
+ ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
+
+post-install:
+ ${SETENV} PKG_PREFIX=${PREFIX} \
+ ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+
+.include <bsd.port.mk>
diff --git a/japanese/FreeWnn-server/distinfo b/japanese/FreeWnn-server/distinfo
index bc9146a2c6c5..00c692250120 100644
--- a/japanese/FreeWnn-server/distinfo
+++ b/japanese/FreeWnn-server/distinfo
@@ -1,6 +1,3 @@
-MD5 (Wnn4.2.tar.gz) = dcb6271403577199e8141d07cd54be73
-MD5 (Wnn4.2.patch-981201.tar.gz) = 542847bff36e88f0ea588153b387e932
-MD5 (pubdic+.tar.gz) = 92dc7dfeae7eb3b637157fe2fd25480a
-MD5 (pubdic+-fix01.gz) = 2469f2e65ac5f3248dd4225ca5383c49
-MD5 (pubdic+.diff) = 51e53024862273f51d8f3c51a3ea70b2
-MD5 (pubdic+.special.diff) = acf3faa8ba8219ed97ca0c4e59030145
+MD5 (FreeWnn-1.1.1-a021.tar.bz2) = 7e15ab385932d58e3743400d303a05e6
+SHA256 (FreeWnn-1.1.1-a021.tar.bz2) = df9523b2eea7cbc94d9d01c19a01394abe3b648c5ec3f1259adac06fc8ecbb86
+SIZE (FreeWnn-1.1.1-a021.tar.bz2) = 3108905
diff --git a/japanese/FreeWnn-server/files/patch-Wnn-man-Makefile.in b/japanese/FreeWnn-server/files/patch-Wnn-man-Makefile.in
new file mode 100644
index 000000000000..959cf22f19ea
--- /dev/null
+++ b/japanese/FreeWnn-server/files/patch-Wnn-man-Makefile.in
@@ -0,0 +1,11 @@
+--- Wnn/man/Makefile.in.orig 2008-10-27 03:58:56.000000000 +0900
++++ Wnn/man/Makefile.in 2008-10-27 04:04:06.000000000 +0900
+@@ -32,7 +32,7 @@
+ include @top_srcdir@/makerule.mk
+ top_builddir = ../..
+
+-LIB_WNNMANDIR = 3.libwnn
++#LIB_WNNMANDIR = 3.libwnn
+
+ SERVER_WNNMANDIR = 2.env 4.cmd 6.jutil
+
diff --git a/japanese/FreeWnn-server/files/patch-makerule.mk.in b/japanese/FreeWnn-server/files/patch-makerule.mk.in
new file mode 100644
index 000000000000..38dab5046455
--- /dev/null
+++ b/japanese/FreeWnn-server/files/patch-makerule.mk.in
@@ -0,0 +1,13 @@
+--- makerule.mk.in.orig 2008-10-27 03:37:44.000000000 +0900
++++ makerule.mk.in 2008-10-27 03:38:15.000000000 +0900
+@@ -42,8 +42,8 @@
+ # for libtool (AM_PROG_LIBTOOL)
+ # top_builddir = @abs_top_srcdir@
+
+- MANDIR = @mandir@/man$(MANSUFFIX)
+- LIBMANDIR = @mandir@/man$(LIBMANSUFFIX)
++ MANDIR = @mandir@/${MANLANG}/man$(MANSUFFIX)
++ LIBMANDIR = @mandir@/${MANLANG}/man$(LIBMANSUFFIX)
+
+ MANSUFFIX = 1
+ LIBMANSUFFIX = 3
diff --git a/japanese/FreeWnn-server/files/pkg-install.in b/japanese/FreeWnn-server/files/pkg-install.in
new file mode 100644
index 000000000000..17d1a833683c
--- /dev/null
+++ b/japanese/FreeWnn-server/files/pkg-install.in
@@ -0,0 +1,175 @@
+#!/bin/sh
+# $FreeBSD$
+# an installation script for Wnn4.2
+
+ask() {
+ local question default answer
+
+ question=$1
+ default=$2
+ if [ -z "${PACKAGE_BUILDING}" ]; then
+ read -p "${question} (y/n) [${default}]? " answer
+ fi
+ if [ x${answer} = x ]; then
+ answer=${default}
+ fi
+ echo ${answer}
+}
+
+yesno() {
+ local dflt question answer
+
+ question=$1
+ dflt=$2
+ while :; do
+ answer=$(ask "${question}" "${dflt}")
+ case "${answer}" in
+ [Yy]*) return 0;;
+ [Nn]*) return 1;;
+ esac
+ echo "Please answer yes or no."
+ done
+}
+
+mk_startup_script() {
+ _wnnname=$1
+ _wnnserver=$2
+ _wnn_socket=$3
+ _scriptfile=${PKG_PREFIX}/etc/rc.d/${_wnnname}.sh
+
+ echo "Installing ${_scriptfile} startup file.";
+ cat << EOF > ${_scriptfile}
+#!/bin/sh
+#
+# PROVIDE: ${_wnnname}
+# REQUIRE: LOGIN
+#
+
+. %%RC_SUBR%%
+
+name=${_wnnname}
+rcvar=\`set_rcvar\`
+command=${_wnnserver}
+procname=${_wnnserver}
+
+load_rc_config \${name}
+
+start_precmd()
+{
+ rm -f ${_wnn_socket}
+}
+
+stop_postcmd()
+{
+ rm -f ${_wnn_socket}
+}
+
+run_rc_command "\$1"
+EOF
+ chmod 0555 ${_scriptfile}
+
+}
+
+case $2 in
+PRE-INSTALL)
+
+ ## Hack /etc/master.passwd ##
+ # check
+ id_69=`id -u 69 2> /dev/null`
+ id_wnn=`id -u wnn 2> /dev/null`
+ if [ X"$id_wnn" != X ];then
+ exit 0
+ elif [ X"$id_69" != X ]; then
+ cat <<EOF
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+This system already has an account whose name is not 'wnn' and ID
+number is 69.
+
+ '`id 69`'
+
+For Wnn4.2 in this port or package, ID number of 'wnn' has to be 69.
+Please try again after you delete the account.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+EOF
+ exit 1
+ fi
+
+ # add an account 'wnn' to this system
+ echo ""
+ echo "You need an account 'wnn' whose ID number is 69"
+ if [ -z "${BATCH}" ]; then
+ if yesno "Would you like to create it automatically?" y; then
+ pw useradd wnn -u 69 -g 7 -h - -d /nonexistent \
+ -s /nonexistent -c Wnn || exit
+ else
+ echo "Please create it, and try again."
+ exit 1
+ fi
+ else
+ echo "Create it automatically!"
+ check_pw
+ pw useradd wnn -u 69 -g 7 -h - -d /nonexistent \
+ -s /nonexistent -c Wnn || exit
+ fi
+ ;;
+
+POST-INSTALL)
+
+ case $1 in
+ ja-FreeWnn-*)
+ sys_dirs="${PKG_PREFIX}/lib/wnn/ja_JP/dic/pubdic ${PKG_PREFIX}/lib/wnn/ja_JP/dic/wnncons ${PKG_PREFIX}/lib/wnn/ja_JP/dic/gerodic"
+ usr_dirs=${PKG_PREFIX}/lib/wnn/ja_JP/dic/usr
+ wnnserver=${PKG_PREFIX}/bin/Wnn4/jserver
+ wnntouch=${PKG_PREFIX}/bin/Wnn4/wnntouch
+ wnnstat=${PKG_PREFIX}/bin/Wnn4/wnnstat
+ wnnkill=${PKG_PREFIX}/bin/Wnn4/wnnkill
+ wnnname=wnn
+ wnn_socket=/tmp/jd_sockV4
+ wnn_lang=ja_JP
+ mk_startup_script ${wnnname} ${wnnserver} ${wnn_socket}
+ ;;
+ zh-FreeWnn-*)
+ sys_dirs="${PKG_PREFIX}/lib/wnn/zh_CN/dic/sys ${PKG_PREFIX}/lib/wnn/zh_TW/dic/sys"
+ usr_dirs="${PKG_PREFIX}/lib/wnn/zh_CN/dic/usr ${PKG_PREFIX}/lib/wnn/zh_TW/dic/usr"
+ wnnserver=${PKG_PREFIX}/bin/cWnn4/cserver
+ wnntouch=${PKG_PREFIX}/bin/cWnn4/cwnntouch
+ wnnstat=${PKG_PREFIX}/bin/cWnn4/cwnnstat
+ wnnkill=${PKG_PREFIX}/bin/cWnn4/cwnnkill
+ wnnname=cwnn
+ wnn_socket=/tmp/cd_sockV4
+ wnn_lang=zh_CN
+ mk_startup_script ${wnnname} ${wnnserver} ${wnn_socket}
+
+ wnnserver=${PKG_PREFIX}/bin/cWnn4/tserver
+ wnn_lang=zh_TW
+ wnnname=twnn
+ wnn_socket=/tmp/td_sockV4
+ mk_startup_script ${wnnname} ${wnnserver} ${wnn_socket}
+ ;;
+ ko-FreeWnn-*)
+ sys_dirs="${PKG_PREFIX}/lib/wnn/ko_KR/dic/sys"
+ usr_dirs=${PKG_PREFIX}/lib/wnn/ko_KR/dic/usr
+ wnnserver=${PKG_PREFIX}/bin/kWnn4/kserver
+ wnntouch=${PKG_PREFIX}/bin/kWnn4/kwnntouch
+ wnnstat=${PKG_PREFIX}/bin/kWnn4/kwnnstat
+ wnnkill=${PKG_PREFIX}/bin/kWnn4/kwnnkill
+ wnnname=kwnn
+ wnn_socket=/tmp/kd_sockV4
+ wnn_lang=ko_KR
+ mk_startup_script ${wnnname} ${wnnserver} ${wnn_socket}
+ ;;
+ esac
+
+ chown wnn $wnnserver
+ for dir in $sys_dirs; do
+ $wnntouch $dir/*
+ done
+ for dir in $usr_dirs; do
+ if [ ! -d $dir ]; then
+ mkdir -p $dir
+ fi
+ chown wnn $dir
+ done
+ ;;
+esac
diff --git a/japanese/FreeWnn-server/pkg-descr b/japanese/FreeWnn-server/pkg-descr
index ee85631be981..7fe7ce1a073b 100644
--- a/japanese/FreeWnn-server/pkg-descr
+++ b/japanese/FreeWnn-server/pkg-descr
@@ -1,4 +1,4 @@
-FreeWnn is a Japanese/Chinese/Korean input method.
+FreeWnn is a Japanese/Chinese/Korean input method.
This port installs only the server and dictionaries for
the Japanese imput method.