aboutsummaryrefslogtreecommitdiff
path: root/chinese
diff options
context:
space:
mode:
authorCheng-Lung Sung <clsung@FreeBSD.org>2006-05-23 01:13:40 +0000
committerCheng-Lung Sung <clsung@FreeBSD.org>2006-05-23 01:13:40 +0000
commite61273a9771e85a997b21bfd2bdb0b79d7610806 (patch)
tree12ac11748c0002e0469517a44e46cf37c62b243e /chinese
parent1db80025a290f0817538c4dbc901c8beb159bbd1 (diff)
downloadports-e61273a9771e85a997b21bfd2bdb0b79d7610806.tar.gz
ports-e61273a9771e85a997b21bfd2bdb0b79d7610806.zip
Notes
Diffstat (limited to 'chinese')
-rw-r--r--chinese/libtabe/Makefile22
-rw-r--r--chinese/libtabe/files/patch-configure73
-rw-r--r--chinese/libtabe/files/patch-src::tabe_tsidbint.c109
-rw-r--r--chinese/libtabe/files/patch-src::tabe_tsiyindbint.c110
-rw-r--r--chinese/libtabe/files/patch-util-tsipackdb.in63
-rw-r--r--chinese/xcin25/Makefile39
-rw-r--r--chinese/xcin25/files/patch-configure68
7 files changed, 394 insertions, 90 deletions
diff --git a/chinese/libtabe/Makefile b/chinese/libtabe/Makefile
index 97639e370ec8..83981f47dc62 100644
--- a/chinese/libtabe/Makefile
+++ b/chinese/libtabe/Makefile
@@ -7,7 +7,7 @@
PORTNAME= libtabe
PORTVERSION= 0.2.5
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= chinese
MASTER_SITES= ftp://ftp.linux.org.tw/pub/xcin/libtabe/devel/
@@ -25,18 +25,34 @@ DATADIR= ${PREFIX}/share/tabe
DOCSDIR= ${PREFIX}/share/doc/tabe
CONFIGURE_ARGS= --prefix=${PREFIX} \
--includedir=${PREFIX}/include/tabe \
+ --with-db-name=${BDB_LIB_NAME} \
--with-db-inc=${BDB_INCLUDE_DIR} \
--with-db-lib=${BDB_LIB_DIR} \
--with-db-bin=${LOCALBASE}/bin \
--enable-shared
.if !defined(WITHOUT_X11)
-PLIST_SUB+= X11=""
USE_XLIB= yes
+PLIST_SUB+= X11=""
.else
CONFIGURE_ARGS+=--without-x
PLIST_SUB+= X11="@comment "
+.endif
+
+.include <bsd.port.pre.mk>
+
+pre-everything::
+.if defined(WITH_BDB_VER)
+ @${ECHO} ""
+ @${ECHO} "WARNING:"
+ @${ECHO} " You have defined WITH_BDB_VER. Make sure you use the same"
+ @${ECHO} " db version for all ports that use libtabe, such as xcin."
+ @${ECHO} " Otherwise, ports that use libtabe may not work correctly."
+ @${ECHO} ""
+.endif
+
post-patch:
+.if defined(WITHOUT_X11)
${REINPLACE_CMD} -e '/all:/s/ bims//; /bims/d' ${WRKSRC}/src/Makefile.in
.endif
@@ -55,4 +71,4 @@ post-install:
${MKDIR} ${DATADIR}
${TOUCH} ${DATADIR}/${PORTNAME}-${PORTVERSION}
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/chinese/libtabe/files/patch-configure b/chinese/libtabe/files/patch-configure
index 2563f5f28f3a..85693dc3115f 100644
--- a/chinese/libtabe/files/patch-configure
+++ b/chinese/libtabe/files/patch-configure
@@ -1,36 +1,69 @@
---- configure.orig Sat Oct 20 20:03:29 2001
-+++ configure Wed Apr 5 13:26:48 2006
-@@ -5315,18 +5315,15 @@
+--- configure.orig Sat Oct 20 07:03:29 2001
++++ configure Mon May 1 10:53:24 2006
+@@ -22,6 +22,8 @@
+ ac_help="$ac_help
+ --with-db-bin=PATH set the binary dir of Berkeley DB2/3."
+ ac_help="$ac_help
++ --with-db-name=NAME set the library name of Berkeley DB."
++ac_help="$ac_help
+ --enable-shared[=PKGS] build shared libraries [default=yes]"
+ ac_help="$ac_help
+ --enable-static[=PKGS] build static libraries [default=yes]"
+@@ -790,6 +792,14 @@
+ :
+ fi
+
++# Check whether --with-db_name or --without-db_name was given.
++if test "${with_db_name+set}" = set; then
++ withval="$with_db_name"
++ test x$withval != x && with_db_name="$withval"
++else
++ with_db_name='db'
++fi;
++
+
+ if test "$program_prefix" != NONE; then
+ program_prefix="$program_prefix/"
+@@ -5315,18 +5325,22 @@
cat conftest.$ac_ext >&5
fi
rm -f conftest*
-test "$ac_cv_search_db_create" = "no" && for i in db db3; do
-+test "$ac_cv_search_db_create" = "no" && for i in db db3 db4 db41 db-4.2 db-4.3 db-4.4; do
++test "$ac_cv_search_db_create" = "no" && for i in $with_db_name; do
LIBS="-l$i $ac_func_search_save_LIBS"
++__db_create="db_create"
++if [ "$i" = "db-4.2" ]; then
++ __db_create="db_create_4002"
++fi
cat > conftest.$ac_ext <<EOF
#line 5322 "configure"
#include "confdefs.h"
--/* Override any gcc2 internal prototype to avoid an error. */
--/* We use char because int might match the return type of a gcc2
-- builtin and then its argument prototype would still apply. */
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
-char db_create();
-+#include "db.h"
++char $__db_create();
int main() {
-db_create()
-+db_create(0,0,0)
++$__db_create()
; return 0; }
EOF
if { (eval echo configure:5333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-@@ -5726,11 +5723,6 @@
- echo "$ac_t""libraries $x_libraries, headers $x_includes" 1>&6
+@@ -5385,7 +5399,7 @@
+ cat conftest.$ac_ext >&5
fi
-
--if test x$no_x = xyes; then
-- echo "$ac_t""You need X11R6 header files to compile libtabe." 1>&6
-- echo "$ac_t""Please use --x-includes to configure." 1>&6
-- exit 1
--fi
-
-
-
+ rm -f conftest*
+-test "$ac_cv_search_db_open" = "no" && for i in db db2; do
++test "$ac_cv_search_db_open" = "no" && for i in $with_db_name; do
+ LIBS="-l$i $ac_func_search_save_LIBS"
+ cat > conftest.$ac_ext <<EOF
+ #line 5392 "configure"
+@@ -6219,6 +6233,7 @@
+ s%@with_db_inc@%$with_db_inc%g
+ s%@with_db_lib@%$with_db_lib%g
+ s%@with_db_bin@%$with_db_bin%g
++s%@with_db_name@%$with_db_name%g
+ s%@USE_DB@%$USE_DB%g
+ s%@x_includes@%$x_includes%g
+ s%@x_libraries@%$x_libraries%g
diff --git a/chinese/libtabe/files/patch-src::tabe_tsidbint.c b/chinese/libtabe/files/patch-src::tabe_tsidbint.c
index 12cccfbb6e65..3d9468e57be1 100644
--- a/chinese/libtabe/files/patch-src::tabe_tsidbint.c
+++ b/chinese/libtabe/files/patch-src::tabe_tsidbint.c
@@ -1,50 +1,113 @@
---- src/tabe_tsidbint.c.orig Sun Nov 11 20:33:07 2001
-+++ src/tabe_tsidbint.c Wed Apr 5 13:40:32 2006
-@@ -84,8 +84,10 @@
+--- src/tabe_tsidbint.c.orig Sun Nov 11 07:33:07 2001
++++ src/tabe_tsidbint.c Mon May 1 00:47:55 2006
+@@ -27,6 +27,7 @@
+ #endif
+
+ #include "tabe.h"
++#define DB_VERSION (DB_VERSION_MAJOR*100000+DB_VERSION_MINOR*1000+DB_VERSION_PATCH)
+
+ static void tabeTsiDBClose(struct TsiDB *tsidb);
+ static int tabeTsiDBRecordNumber(struct TsiDB *tsidb);
+@@ -69,7 +70,7 @@
+ {
+ DB *dbp=NULL;
+
+-#ifdef HAVE_DB3
++#if DB_VERSION >= 300000
+ /* create a db handler */
+ if ((errno = db_create(&dbp, NULL, 0)) != 0) {
+ fprintf(stderr, "db_create: %s\n", db_strerror(errno));
+@@ -82,26 +83,32 @@
+ return(NULL);
+ }
else {
- #ifndef HAVE_DB3
- errno = db_open(db_name, DB_BTREE, DB_CREATE, 0644, NULL, NULL, &dbp);
+-#ifndef HAVE_DB3
+- errno = db_open(db_name, DB_BTREE, DB_CREATE, 0644, NULL, NULL, &dbp);
-#else
-+#elif (DB_VERSION_MAJOR == 3 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 0))
++#if DB_VERSION >= 401025
++ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, DB_CREATE, 0644);
++#elif DB_VERSION >= 300000
errno = dbp->open(dbp, db_name, NULL, DB_BTREE, DB_CREATE, 0644);
+#else
-+ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, DB_CREATE, 0644);
++ errno = db_open(db_name, DB_BTREE, DB_CREATE, 0644, NULL, NULL, &dbp);
#endif
}
}
-@@ -93,15 +95,19 @@
+ else {
if (flags & DB_FLAG_READONLY) {
- #ifndef HAVE_DB3
- errno = db_open(db_name, DB_BTREE, DB_RDONLY, 0444, NULL, NULL, &dbp);
+-#ifndef HAVE_DB3
+- errno = db_open(db_name, DB_BTREE, DB_RDONLY, 0444, NULL, NULL, &dbp);
-#else
-+#elif (DB_VERSION_MAJOR == 3 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 0))
++#if DB_VERSION >= 401025
++ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, DB_RDONLY, 0444);
++#elif DB_VERSION >= 300000
errno = dbp->open(dbp, db_name, NULL, DB_BTREE, DB_RDONLY, 0444);
+#else
-+ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, DB_RDONLY, 0444);
++ errno = db_open(db_name, DB_BTREE, DB_RDONLY, 0444, NULL, NULL, &dbp);
#endif
}
else {
- #ifndef HAVE_DB3
- errno = db_open(db_name, DB_BTREE, 0, 0644, NULL, NULL, &dbp);
+-#ifndef HAVE_DB3
+- errno = db_open(db_name, DB_BTREE, 0, 0644, NULL, NULL, &dbp);
-#else
-+#elif (DB_VERSION_MAJOR == 3 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 0))
++#if DB_VERSION >= 401025
++ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, 0, 0644);
++#elif DB_VERSION >= 300000
errno = dbp->open(dbp, db_name, NULL, DB_BTREE, 0, 0644);
+#else
-+ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, 0, 0644);
++ errno = db_open(db_name, DB_BTREE, 0, 0644, NULL, NULL, &dbp);
#endif
}
}
-@@ -265,7 +271,13 @@
+@@ -112,10 +119,10 @@
+ }
+ if (errno < 0) {
+ /* DB specific errno */
+-#ifndef HAVE_DB3
+- fprintf(stderr, "tabeTsiDBOpen(): DB error opening DB File %s.\n", db_name);
+-#else
++#if DB_VERSION >= 300000
+ fprintf(stderr, "tabeTsiDBOpen(): %s.\n", db_strerror(errno));
++#else
++ fprintf(stderr, "tabeTsiDBOpen(): DB error opening DB File %s.\n", db_name);
+ #endif
+ return(NULL);
+ }
+@@ -265,12 +272,18 @@
switch(tsidb->type) {
case DB_TYPE_DB:
dbp = (DB *)tsidb->dbp;
-+#ifndef HAVE_DB3
- errno = dbp->stat(dbp, &sp, NULL, 0);
-+#elif (DB_VERSION_MAJOR == 3 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR <= 2))
++#if DB_VERSION >= 403000
++ errno = dbp->stat(dbp, NULL, &sp, 0);
++#elif DB_VERSION >= 303011
+ errno = dbp->stat(dbp, &sp, 0);
+#else
-+ errno = dbp->stat(dbp, NULL, &sp, 0);
+ errno = dbp->stat(dbp, &sp, NULL, 0);
+#endif
if (!errno) {
- #ifndef HAVE_DB3
- return(sp->bt_nrecs);
+-#ifndef HAVE_DB3
+- return(sp->bt_nrecs);
+-#else
++#if DB_VERSION >= 300000
+ return(sp->bt_ndata); /* or sp->bt_nkeys? */
++#else
++ return(sp->bt_nrecs);
+ #endif
+ }
+ break;
+@@ -502,14 +515,10 @@
+ dbcp->c_close(dbcp);
+ }
+
+-#ifndef HAVE_DB3
+-#if DB_VERSION_MINOR > 6 || (DB_VERSION_MINOR == 6 && DB_VERSION_PATCH > 4)
++#if DB_VERSION >= 206004
+ dbp->cursor(dbp, NULL, &dbcp, 0);
+ #else
+ dbp->cursor(dbp, NULL, &dbcp);
+-#endif
+-#else
+- dbp->cursor(dbp, NULL, &dbcp, 0);
+ #endif
+ tsidb->dbcp = dbcp;
+
diff --git a/chinese/libtabe/files/patch-src::tabe_tsiyindbint.c b/chinese/libtabe/files/patch-src::tabe_tsiyindbint.c
index 2ba0ab508647..05002f976ad4 100644
--- a/chinese/libtabe/files/patch-src::tabe_tsiyindbint.c
+++ b/chinese/libtabe/files/patch-src::tabe_tsiyindbint.c
@@ -1,50 +1,114 @@
---- src/tabe_tsiyindbint.c.orig Sun Nov 11 20:33:08 2001
-+++ src/tabe_tsiyindbint.c Wed Apr 5 14:30:18 2006
-@@ -87,8 +87,10 @@
+--- src/tabe_tsiyindbint.c.orig Mon May 1 00:49:54 2006
++++ src/tabe_tsiyindbint.c Mon May 1 00:50:03 2006
+@@ -27,6 +27,7 @@
+ #endif
+
+ #include "tabe.h"
++#define DB_VERSION (DB_VERSION_MAJOR*100000+DB_VERSION_MINOR*1000+DB_VERSION_PATCH)
+
+ static void tabeTsiYinDBClose(struct TsiYinDB *tsiyindb);
+ static int tabeTsiYinDBRecordNumber(struct TsiYinDB *tsiyindb);
+@@ -72,7 +73,7 @@
+ {
+ DB *dbp=NULL;
+
+-#ifdef HAVE_DB3
++#if DB_VERSION >= 300000
+ /* create a db handler */
+ if ((errno = db_create(&dbp, NULL, 0)) != 0) {
+ fprintf(stderr, "db_create: %s\n", db_strerror(errno));
+@@ -85,26 +86,32 @@
+ return(NULL);
+ }
else {
- #ifndef HAVE_DB3
- errno = db_open(db_name, DB_BTREE, DB_CREATE, 0644, NULL, NULL, &dbp);
+-#ifndef HAVE_DB3
+- errno = db_open(db_name, DB_BTREE, DB_CREATE, 0644, NULL, NULL, &dbp);
-#else
-+#elif (DB_VERSION_MAJOR == 3 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 0))
++#if DB_VERSION >= 401025
++ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, DB_CREATE, 0644);
++#elif DB_VERSION >= 300000
errno = dbp->open(dbp, db_name, NULL, DB_BTREE, DB_CREATE, 0644);
+#else
-+ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, DB_CREATE, 0644);
++ errno = db_open(db_name, DB_BTREE, DB_CREATE, 0644, NULL, NULL, &dbp);
#endif
}
}
-@@ -96,15 +98,19 @@
+ else {
if (flags & DB_FLAG_READONLY) {
- #ifndef HAVE_DB3
- errno = db_open(db_name, DB_BTREE, DB_RDONLY, 0444, NULL, NULL, &dbp);
+-#ifndef HAVE_DB3
+- errno = db_open(db_name, DB_BTREE, DB_RDONLY, 0444, NULL, NULL, &dbp);
-#else
-+#elif (DB_VERSION_MAJOR == 3 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 0))
++#if DB_VERSION >= 401025
++ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, DB_RDONLY, 0444);
++#elif DB_VERSION >= 300000
errno = dbp->open(dbp, db_name, NULL, DB_BTREE, DB_RDONLY, 0444);
+#else
-+ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, DB_RDONLY, 0444);
++ errno = db_open(db_name, DB_BTREE, DB_RDONLY, 0444, NULL, NULL, &dbp);
#endif
}
else {
- #ifndef HAVE_DB3
- errno = db_open(db_name, DB_BTREE, 0, 0644, NULL, NULL, &dbp);
+-#ifndef HAVE_DB3
+- errno = db_open(db_name, DB_BTREE, 0, 0644, NULL, NULL, &dbp);
-#else
-+#elif (DB_VERSION_MAJOR == 3 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 0))
++#if DB_VERSION >= 401025
++ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, 0, 0644);
++#elif DB_VERSION >= 300000
errno = dbp->open(dbp, db_name, NULL, DB_BTREE, 0, 0644);
+#else
-+ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, 0, 0644);
++ errno = db_open(db_name, DB_BTREE, 0, 0644, NULL, NULL, &dbp);
#endif
}
}
-@@ -268,7 +274,13 @@
+@@ -115,11 +122,11 @@
+ }
+ if (errno < 0) {
+ /* DB specific errno */
+-#ifndef HAVE_DB3
++#if DB_VERSION >= 300000
++ fprintf(stderr, "tabeTsiYinDBOpen(): %s.\n", db_strerror(errno));
++#else
+ fprintf(stderr, "tabeTsiYinDBOpen(): DB error opening DB File %s.\n",
+ db_name);
+-#else
+- fprintf(stderr, "tabeTsiYinDBOpen(): %s.\n", db_strerror(errno));
+ #endif
+ return(NULL);
+ }
+@@ -268,12 +275,18 @@
switch(tsiyindb->type) {
case DB_TYPE_DB:
dbp = (DB *)tsiyindb->dbp;
-+#ifndef HAVE_DB3
- errno = dbp->stat(dbp, &sp, NULL, 0);
-+#elif (DB_VERSION_MAJOR == 3 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR <= 2))
++#if DB_VERSION >= 403000
++ errno = dbp->stat(dbp, NULL, &sp, 0);
++#elif DB_VERSION >= 303011
+ errno = dbp->stat(dbp, &sp, 0);
+#else
-+ errno = dbp->stat(dbp, NULL, &sp, 0);
+ errno = dbp->stat(dbp, &sp, NULL, 0);
+#endif
if (!errno) {
- #ifndef HAVE_DB3
- return(sp->bt_nrecs);
+-#ifndef HAVE_DB3
+- return(sp->bt_nrecs);
+-#else
++#if DB_VERSION >= 300000
+ return(sp->bt_ndata); /* or sp->bt_nkeys? */
++#else
++ return(sp->bt_nrecs);
+ #endif
+ }
+ break;
+@@ -481,14 +494,10 @@
+ dbcp->c_close(dbcp);
+ }
+
+-#ifndef HAVE_DB3
+-#if DB_VERSION_MINOR > 6 || (DB_VERSION_MINOR == 6 && DB_VERSION_PATCH > 4)
++#if DB_VERSION >= 206004
+ dbp->cursor(dbp, NULL, &dbcp, 0);
+ #else
+ dbp->cursor(dbp, NULL, &dbcp);
+-#endif
+-#else
+- dbp->cursor(dbp, NULL, &dbcp, 0);
+ #endif
+ tsiyindb->dbcp = dbcp;
+
diff --git a/chinese/libtabe/files/patch-util-tsipackdb.in b/chinese/libtabe/files/patch-util-tsipackdb.in
new file mode 100644
index 000000000000..753ed93d6d39
--- /dev/null
+++ b/chinese/libtabe/files/patch-util-tsipackdb.in
@@ -0,0 +1,63 @@
+--- util/tsipackdb.in.orig Sun Nov 11 07:33:09 2001
++++ util/tsipackdb.in Mon May 1 10:19:51 2006
+@@ -29,31 +29,37 @@
+ }
+
+ pack_db_file () {
+- db_stat=`mywhich ${1}_stat`
+- db_dump=`mywhich ${1}_dump`
+- db_load=`mywhich ${1}_load`
+- test x$db_stat != x && test x$db_dump != x && test x$db_load != x && \
+- $db_stat -d $2 2>&1 | (
+- read line
+- read line
+- test "$line" = "$3" && \
+- echo "Using $db_dump and $db_load to pack $2 ...." && \
+- ${1}_dump $2 | ${1}_load $2.new && \
+- mv $2.new $2 && \
+- return 0
+- return -1 \
+- )
+-}
++ case "${1}" in
++ db|db3|db4|db41)
++ db_dump=`mywhich ${1}_dump`
++ db_load=`mywhich ${1}_load`
++ ;;
++ db-4.[234])
++ db_name=${1#db-}
++ db_dump=`mywhich db_dump-${db_name}`
++ db_load=`mywhich db_load-${db_name}`
++ ;;
++ *)
++ echo "unsupportted Berkyley version: ${1}"
++ return 1
++ esac
++ if [ -x "$db_dump" ] && [ -x "$db_load" ]; then
++
++ echo "Try using $db_dump and $db_load to pack $2 ...."
+
++ $db_dump $2 > $2.tmp && \
++ $db_load $2.new < $2.tmp && \
++ mv $2.new $2 && \
++ return 0
+
+-if [ "$USE_DB" = "DB2" ]; then
+- pack_db_file db $1 "$DB2_VER" && exit 0
+- pack_db_file db2 $1 "$DB2_VER" && exit 0
+-fi
++ fi
++
++ return 1
++}
+
+-if [ "$USE_DB" = "DB3" ]; then
+- pack_db_file db $1 "$DB3_VER" && exit 0
+- pack_db_file db3 $1 "$DB3_VER" && exit 0
+-fi
++for dbname in @with_db_name@ db db2 db3 db4
++do
++ pack_db_file $dbname $1 && exit 0
++done
+
+ exit 0
diff --git a/chinese/xcin25/Makefile b/chinese/xcin25/Makefile
index 8fda89030eaa..fafe7974ff9f 100644
--- a/chinese/xcin25/Makefile
+++ b/chinese/xcin25/Makefile
@@ -7,7 +7,7 @@
PORTNAME= xcin
PORTVERSION= 2.5.3.p2
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= chinese x11
MASTER_SITES= ftp://ftp.linux.org.tw/pub/xcin/xcin/ \
ftp://ftp.linux.org.tw/pub/xcin/xcin/devel/ \
@@ -20,15 +20,11 @@ COMMENT= Chinese input method server under X
LIB_DEPENDS= tabe.2:${PORTSDIR}/chinese/libtabe
-.if !defined(USE_DB2)
-LIB_DEPENDS+= db3.3:${PORTSDIR}/databases/db3
-.else
-LIB_DEPENDS+= db2.0:${PORTSDIR}/databases/db2
-.endif
-RUN_DEPENDS= ${X11BASE}/lib/X11/fonts/local/kc15f.pcf.gz:${PORTSDIR}/chinese/kcfonts \
- ${LOCALBASE}/share/tabe/libtabe-0.2.5:${PORTSDIR}/chinese/libtabe
+RUN_DEPENDS= ${X11BASE}/lib/X11/fonts/local/kc15f.pcf.gz:${PORTSDIR}/chinese/kcfonts
WRKSRC= ${WRKDIR}/xcin
+USE_BDB= yes
+OBSOLETE_BDB_VAR= USE_DB2
USE_GETTEXT= yes
USE_ICONV= yes
USE_X_PREFIX= yes
@@ -37,27 +33,28 @@ INSTALLS_SHLIB= yes
CONFIGURE_ARGS= --prefix=${PREFIX} \
--x-libraries=${X11BASE}/lib \
--with-xcin-dir=${PREFIX}/lib/X11/xcin25 \
- --with-db-lib=${LOCALBASE}/lib \
+ --with-db-name=${BDB_LIB_NAME} \
+ --with-db-inc=${BDB_INCLUDE_DIR} \
+ --with-db-lib=${BDB_LIB_DIR}/lib \
--with-tabe-inc=${LOCALBASE}/include/tabe \
--with-tabe-lib=${LOCALBASE}/lib \
--with-intl-inc=${LOCALBASE}/include \
--with-intl-lib=${LOCALBASE}/lib \
--with-iconv-inc=${LOCALBASE}/include \
--with-iconv-lib=${LOCALBASE}/lib
-.if !defined(USE_DB2)
-CONFIGURE_ARGS+= --with-db-inc=${LOCALBASE}/include/db3
-.else
-CONFIGURE_ARGS+= --with-db-inc=${LOCALBASE}/include/db2
-.endif
MAN1= xcin.1
-pre-fetch:
-.if !defined(USE_DB2)
- @${ECHO} --
- @${ECHO} "Type \"make -DUSE_DB2\" if you want use DB2."
- @${ECHO} "Otherwise, xcin2.5 will use DB3."
- @${ECHO} --
+.include <bsd.port.pre.mk>
+
+pre-everything::
+.if defined(WITH_BDB_VER)
+ @${ECHO_CMD} ""
+ @${ECHO_CMD} "WARNING:"
+ @${ECHO_CMD} " You have defined WITH_BDB_VER. Make sure you use the same"
+ @${ECHO_CMD} " db version that libtabe uses. Otherwise, this port may"
+ @${ECHO_CMD} " not work correctly."
+ @${ECHO_CMD} ""
.endif
post-extract:
@@ -101,4 +98,4 @@ post-install:
.endfor
.endif
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/chinese/xcin25/files/patch-configure b/chinese/xcin25/files/patch-configure
new file mode 100644
index 000000000000..50d0f2630665
--- /dev/null
+++ b/chinese/xcin25/files/patch-configure
@@ -0,0 +1,68 @@
+--- configure.orig Tue Nov 27 09:21:17 2001
++++ configure Sat Apr 22 01:24:08 2006
+@@ -32,6 +32,8 @@
+ ac_help="$ac_help
+ --with-db-lib=PATH set the library dir of Berkeley DB2/3."
+ ac_help="$ac_help
++ --with-db-name=NAME set the library name of Berkeley DB."
++ac_help="$ac_help
+ --with-tabe-inc=PATH set the include dir of libtabe."
+ ac_help="$ac_help
+ --with-tabe-lib=PATH set the library dir of libtabe."
+@@ -869,6 +871,15 @@
+ fi
+
+
++# Check whether --with-db_name or --without-db_name was given.
++if test "${with_db_name+set}" = set; then
++ withval="$with_db_name"
++ test x$withval != x && with_db_name="$withval"
++else
++ with_db_name='db'
++fi;
++
++
+ # Check whether --with-tabe_inc or --without-tabe_inc was given.
+ if test "${with_tabe_inc+set}" = set; then
+ withval="$with_tabe_inc"
+@@ -7869,7 +7880,7 @@
+ fi
+
+ LIBS="$OLD_LIBS"
+-for f in db db3; do
++for f in $with_db_name; do
+ echo $ac_n "checking for db_create in -l$f""... $ac_c" 1>&6
+ echo "configure:7875: checking for db_create in -l$f" >&5
+ ac_lib_var=`echo $f'_'db_create | sed 'y%./+-%__p_%'`
+@@ -7878,16 +7889,20 @@
+ else
+ ac_save_LIBS="$LIBS"
+ LIBS="-l$f $LIBS"
++__db_create="db_create"
++if [ "$f" = "db-4.2" ]; then
++ __db_create="db_create_4002"
++fi
+ cat > conftest.$ac_ext <<EOF
+ #line 7883 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char db_create();
++char $__db_create();
+
+ int main() {
+-db_create()
++$__db_create()
+ ; return 0; }
+ EOF
+ if { (eval echo configure:7894: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+@@ -7914,7 +7929,7 @@
+ test $found = y && break
+ done
+ if test $found = n; then
+- for f in db db2; do
++ for f in $with_db_name; do
+ echo $ac_n "checking for db_open in -l$f""... $ac_c" 1>&6
+ echo "configure:7920: checking for db_open in -l$f" >&5
+ ac_lib_var=`echo $f'_'db_open | sed 'y%./+-%__p_%'`