diff options
author | Hiroki Sato <hrs@FreeBSD.org> | 2008-10-26 19:17:56 +0000 |
---|---|---|
committer | Hiroki Sato <hrs@FreeBSD.org> | 2008-10-26 19:17:56 +0000 |
commit | ed4de7cae668f4cd70a7798b1aca8be8823aa30d (patch) | |
tree | 6750ad6c180af4894bed40793867534d298ababd /japanese/FreeWnn-server | |
parent | 6d01198244a05b16a038f8b2b6b9afe18db7d173 (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/Makefile | 74 | ||||
-rw-r--r-- | japanese/FreeWnn-server/distinfo | 9 | ||||
-rw-r--r-- | japanese/FreeWnn-server/files/patch-Wnn-man-Makefile.in | 11 | ||||
-rw-r--r-- | japanese/FreeWnn-server/files/patch-makerule.mk.in | 13 | ||||
-rw-r--r-- | japanese/FreeWnn-server/files/pkg-install.in | 175 | ||||
-rw-r--r-- | japanese/FreeWnn-server/pkg-descr | 2 |
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. |