summaryrefslogtreecommitdiffstats
path: root/japanese/skk-jisyo/Makefile
diff options
context:
space:
mode:
authormatusita <matusita@FreeBSD.org>2004-10-30 14:20:21 +0000
committermatusita <matusita@FreeBSD.org>2004-10-30 14:20:21 +0000
commitdc26b3103c0ad9fd1f70087511d5b164a4a08eff (patch)
treec91d14f54eff96a9781854dd9be4ac0522499830 /japanese/skk-jisyo/Makefile
parentc9dc5f89ec8b06f715e74d7a86c2df4fdc0cc056 (diff)
downloadFreeBSD-ports-dc26b3103c0ad9fd1f70087511d5b164a4a08eff.zip
FreeBSD-ports-dc26b3103c0ad9fd1f70087511d5b164a4a08eff.tar.gz
Take MAINTAINERship from ports@FreeBSD.org (again; I was the MAINTAINER
of this port), and completely rewrite this port in order to install latest version of dictionaries with less costs. Major changes are as follows: * Set DISTFILES to my directory of MASTER_SITE_LOCAL. This directory will contain monthly jisyo snapshot from the original distribution, <URL:http://openlab.jp/skk/skk/dic/>. For less traffic, dictionary files are bzip2(1)ed. Thanks to cron(8), I can update my MASTER_SITE_LOCAL directory automatically -- you can see 200411 version of dictionary file at Nov/01/2004 (yeah!). * You can choose which size of dictionary files to be installed. Set SKK_JISYO_TYPE to L, M, S, or any combination of these chars. Default to 'L M S' so no files are disappeared with this commit. * Introduce WITH_SKKJISYO_DELCOMMENTS, to delete annotations of any dictionaries (at this time, only SKK-JISYO.L have annotations). If you 1) don't want any annotations, 2) want to save disk space, or 3) have a client which doesn't aware annotations, use this option: i.e., "make WITH_SKKJISYO_DELCOMMENTS=yes". * Introduce WITH_SKKJISYO_CDB, to build CDB version of dictionaries. In previsous version of ports, it is assumed that CDB version is already made. However, it seems that the maintenance cost is not so cheap; ports/japanese/skk-jisyo-cdb is broken at least two months. I'm trying to contact the MAINTAINER of ports/japanese/skk-jisyo-cdb; with this change, ports/japanese/skk-jisyo-cdb can be changed more simple one. * While I'm here, employ PLIST_FILES to simplify pkg-plist. I've tested as much as possible including option combinations, "make package", and pkg_add/delete. But if you find that I made a mistake, please let me know. Tested by: rushani Suggestion from: nork
Diffstat (limited to 'japanese/skk-jisyo/Makefile')
-rw-r--r--japanese/skk-jisyo/Makefile89
1 files changed, 71 insertions, 18 deletions
diff --git a/japanese/skk-jisyo/Makefile b/japanese/skk-jisyo/Makefile
index f77fd18..e266976 100644
--- a/japanese/skk-jisyo/Makefile
+++ b/japanese/skk-jisyo/Makefile
@@ -5,36 +5,89 @@
# $FreeBSD$
#
-PORTNAME?= skk-jisyo
-PORTVERSION?= 200408
+PORTNAME= skk-jisyo
+PORTVERSION= 200410
CATEGORIES= japanese
-MASTER_SITES?= http://www.tkd.ne.jp/~toru/skk/
-DISTFILES?= SKK-JISYO.L.${PORTVERSION}${SKK_JISYO_SUFFIX}.gz \
- SKK-JISYO.M.${PORTVERSION}${SKK_JISYO_SUFFIX}.gz \
- SKK-JISYO.S.${PORTVERSION}${SKK_JISYO_SUFFIX}.gz
+MASTER_SITES= ${MASTER_SITE_LOCAL}
+MASTER_SITE_SUBDIR= matusita/${PORTNAME}
+.if defined(WITH_SKKJISYO_CDB)
+PKGNAMESUFFIX= -cdb
+.endif
DIST_SUBDIR= skk-jisyo
-MAINTAINER?= ports@FreeBSD.org
+MAINTAINER?= matusita@FreeBSD.org
COMMENT?= Jisyo (dictionary) files for the SKK Japanese-input software
-NO_WRKSUBDIR= yes
-NO_BUILD= yes
-EXTRACT_CMD= ${CP}
+.if defined(WITH_SKKJISYO_CDB)
+BUILD_DEPENDS= ${LOCALBASE}/bin/cdbmake:${PORTSDIR}/databases/cdb
+.endif
+
+SKKDIR?= share/skk
+SKK_JISYO_TYPE?=L M S
+
+USE_BZIP2= yes
+NO_WRKSUBDIR= yes
+EXTRACT_CMD= ${CP}
EXTRACT_BEFORE_ARGS= -p
EXTRACT_AFTER_ARGS= ${WRKDIR}
+PLIST_SUB+= SKKDIR=${SKKDIR}
+.for type in ${SKK_JISYO_TYPE}
+DISTFILES+= SKK-JISYO.${type}.${PORTVERSION}.bz2
+PLIST_FILES+= ${SKKDIR}/SKK-JISYO.${type}${CDBSUFFIX}
+.endfor
+.if defined(WITH_SKKJISYO_DELCOMMENTS)
+USE_REINPLACE= yes
+.endif
-SKKDIR?= share/skk
-SKK_JISYO_TYPE?= L M S
-SKK_JISYO_SUFFIX?= # empty
-
-PLIST_SUB= SKKDIR=${SKKDIR} JISYO_SUFFIX=${SKK_JISYO_SUFFIX}
+.if defined(WITH_SKKJISYO_CDB)
+CDBSUFFIX= .cdb
+.else
+CDBSUFFIX= #empty
+NO_BUILD= yes
+.endif
post-extract:
- @(cd ${WRKDIR}; ${GUNZIP_CMD} *.gz)
+ @(cd ${WRKDIR}; ${BZIP2_CMD} -d *.bz2)
+
+.if defined(WITH_SKKJISYO_DELCOMMENTS)
+# Strip comments in transtation candidates list.
+# Candidate list starts with '/', and each candidate is concatinated by
+# '/' (e.g., "/c1/c2/".) Each candidate may have a comment just after
+# the candidate, leading a marker character ';' (e.g. /c3;comment/).
+do-patch:
+.for type in ${SKK_JISYO_TYPE}
+ ${REINPLACE_CMD} -e '/^[^;]/s,;[^/]*/,/,g' \
+ ${WRKDIR}/SKK-JISYO.${type}.${PORTVERSION}
+.endfor
+.endif
+
+.if defined(WITH_SKKJISYO_CDB)
+# Convert plaintext jisyo data to CDB database by cdbmake.
+# Each line consists of "+${klen},${dlen}:${key}->${data}", where klen/dlen
+# are length of key/data. A blank line at the end of data is required.
+# See also: <URL:http://cr.yp.to/cdb/cdbmake.html>.
+do-build:
+.for type in ${SKK_JISYO_TYPE}
+ ${AWK} '/^[^;]/ { \
+ k = $$1; didx = index($$0, $$2); \
+ d = substr($$0, didx); \
+ print "+" length(k) "," length(d) ":" k "->" d; \
+ } \
+ END { \
+ print ""; \
+ }' \
+ < ${WRKDIR}/SKK-JISYO.${type}.${PORTVERSION} | \
+ ${LOCALBASE}/bin/cdbmake \
+ ${WRKDIR}/SKK-JISYO.${type}.${PORTVERSION}${CDBSUFFIX} \
+ ${WRKDIR}/SKK-JISYO.${type}.${PORTVERSION}.tmp
+.endfor
+.endif
+
do-install:
${MKDIR} ${PREFIX}/${SKKDIR}
-.for i in ${SKK_JISYO_TYPE}
- ${INSTALL_DATA} ${WRKSRC}/SKK-JISYO.${i}.${PORTVERSION}${SKK_JISYO_SUFFIX} ${PREFIX}/${SKKDIR}/SKK-JISYO.${i}${SKK_JISYO_SUFFIX}
+.for type in ${SKK_JISYO_TYPE}
+ ${INSTALL_DATA} ${WRKSRC}/SKK-JISYO.${type}.${PORTVERSION}${CDBSUFFIX} \
+ ${PREFIX}/${SKKDIR}/SKK-JISYO.${type}${CDBSUFFIX}
.endfor
.include <bsd.port.mk>
OpenPOWER on IntegriCloud