aboutsummaryrefslogtreecommitdiff
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
parent1db80025a290f0817538c4dbc901c8beb159bbd1 (diff)
downloadports-e61273a9771e85a997b21bfd2bdb0b79d7610806.tar.gz
ports-e61273a9771e85a997b21bfd2bdb0b79d7610806.zip
- chinese/xcin25 is updated to use USE_BDB, and supports db4+.
A warning message is printed if user defines WITH_BDB_VER. The db version used for xcin25 and libtabe MUST match. - USE_BDB exists in libtabe, but it may find the wrong version if one has more than one bdb version installed. Thus, configure and two source files are patched to use the correct bdb version specified in WITH_BDB_VER. - bump PORTREVISION to encourage updating PR: ports/96606 Submitted by: Rong-En Fan <rafan_AT_infor dot org> Approved by: maintainer (Kuang-che Wu)
Notes
Notes: svn path=/head/; revision=163144
-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_%'`