aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--japanese/skk-jisyo/Makefile89
-rw-r--r--japanese/skk-jisyo/distinfo12
-rw-r--r--japanese/skk-jisyo/pkg-plist5
3 files changed, 78 insertions, 28 deletions
diff --git a/japanese/skk-jisyo/Makefile b/japanese/skk-jisyo/Makefile
index f77fd180e47e..e26697624bb8 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>
diff --git a/japanese/skk-jisyo/distinfo b/japanese/skk-jisyo/distinfo
index a4a15f78fe57..3d10ae5a45b4 100644
--- a/japanese/skk-jisyo/distinfo
+++ b/japanese/skk-jisyo/distinfo
@@ -1,6 +1,6 @@
-MD5 (skk-jisyo/SKK-JISYO.L.200408.gz) = 8ff73f84557c7de2de709723b6ea7e21
-SIZE (skk-jisyo/SKK-JISYO.L.200408.gz) = 1374640
-MD5 (skk-jisyo/SKK-JISYO.M.200408.gz) = a74a489dff168abc2bf1bd94cb8af325
-SIZE (skk-jisyo/SKK-JISYO.M.200408.gz) = 65385
-MD5 (skk-jisyo/SKK-JISYO.S.200408.gz) = 2b507b98aceab0d896f6a29f9ebc7ac6
-SIZE (skk-jisyo/SKK-JISYO.S.200408.gz) = 28096
+MD5 (skk-jisyo/SKK-JISYO.L.200410.bz2) = 5cbe6dfcbc75128fbd5d0f5772551f21
+SIZE (skk-jisyo/SKK-JISYO.L.200410.bz2) = 1365374
+MD5 (skk-jisyo/SKK-JISYO.M.200410.bz2) = 7a33898e8a5c549def05a0b093d1a782
+SIZE (skk-jisyo/SKK-JISYO.M.200410.bz2) = 62542
+MD5 (skk-jisyo/SKK-JISYO.S.200410.bz2) = 5c0b82c2acc571f4d54f094b5d50601c
+SIZE (skk-jisyo/SKK-JISYO.S.200410.bz2) = 25955
diff --git a/japanese/skk-jisyo/pkg-plist b/japanese/skk-jisyo/pkg-plist
index 7fee972746ab..8a11bf34d68d 100644
--- a/japanese/skk-jisyo/pkg-plist
+++ b/japanese/skk-jisyo/pkg-plist
@@ -1,4 +1 @@
-%%SKKDIR%%/SKK-JISYO.L%%JISYO_SUFFIX%%
-%%SKKDIR%%/SKK-JISYO.M%%JISYO_SUFFIX%%
-%%SKKDIR%%/SKK-JISYO.S%%JISYO_SUFFIX%%
-@dirrm %%SKKDIR%%
+@unexec rmdir %%SKKDIR%% > /dev/null 2>&1 || true