aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorleeym <leeym@FreeBSD.org>2006-04-09 02:31:48 +0800
committerleeym <leeym@FreeBSD.org>2006-04-09 02:31:48 +0800
commitb579c43e4eb231eb73007e8fba798757b036ce9b (patch)
tree177c9cf397c30e5f0ccedd5d2645dbd227571ac8
parent8591f49b9784977367e93881fdae3f453535f08f (diff)
downloadfreebsd-ports-gnome-b579c43e4eb231eb73007e8fba798757b036ce9b.tar.gz
freebsd-ports-gnome-b579c43e4eb231eb73007e8fba798757b036ce9b.tar.zst
freebsd-ports-gnome-b579c43e4eb231eb73007e8fba798757b036ce9b.zip
- utilize USE_BDB [1]
- support BDB 40+ PR: 89023 [1] Submitted by: swhetzel at gmail.com [1]
-rw-r--r--chinese/libtabe/Makefile55
-rw-r--r--chinese/libtabe/files/patch-configure36
-rw-r--r--chinese/libtabe/files/patch-src::tabe_tsidbint.c48
-rw-r--r--chinese/libtabe/files/patch-src::tabe_tsiyindbint.c48
-rw-r--r--chinese/libtabe/pkg-plist34
5 files changed, 164 insertions, 57 deletions
diff --git a/chinese/libtabe/Makefile b/chinese/libtabe/Makefile
index 36e26e7c8402..97639e370ec8 100644
--- a/chinese/libtabe/Makefile
+++ b/chinese/libtabe/Makefile
@@ -14,54 +14,45 @@ MASTER_SITES= ftp://ftp.linux.org.tw/pub/xcin/libtabe/devel/
MAINTAINER= kcwu@csie.org
COMMENT= Unified library for Chinese text processing
-.if !defined(USE_DB2)
-LIB_DEPENDS= db3.3:${PORTSDIR}/databases/db3
-.else
-LIB_DEPENDS= db2.0:${PORTSDIR}/databases/db2
-.endif
-
WRKSRC= ${WRKDIR}/libtabe
INSTALLS_SHLIB= yes
HAS_CONFIGURE= yes
USE_GMAKE= yes
-USE_XLIB= yes
+USE_BDB= yes
+OBSOLETE_BDB_VAR= USE_DB2
+NOT_FOR_ARCHS= amd64
+DATADIR= ${PREFIX}/share/tabe
+DOCSDIR= ${PREFIX}/share/doc/tabe
CONFIGURE_ARGS= --prefix=${PREFIX} \
--includedir=${PREFIX}/include/tabe \
- --with-db-lib=${LOCALBASE}/lib \
+ --with-db-inc=${BDB_INCLUDE_DIR} \
+ --with-db-lib=${BDB_LIB_DIR} \
--with-db-bin=${LOCALBASE}/bin \
--enable-shared
-.if !defined(USE_DB2)
-CONFIGURE_ARGS+= --with-db-inc=${LOCALBASE}/include/db3
+.if !defined(WITHOUT_X11)
+PLIST_SUB+= X11=""
+USE_XLIB= yes
.else
-CONFIGURE_ARGS+= --with-db-inc=${LOCALBASE}/include/db2
-.endif
-
-.include <bsd.port.pre.mk>
-
-.if ${ARCH} == "amd64"
-BROKEN= "Does not compile on amd64"
-.endif
-
-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} --
+CONFIGURE_ARGS+=--without-x
+PLIST_SUB+= X11="@comment "
+post-patch:
+ ${REINPLACE_CMD} -e '/all:/s/ bims//; /bims/d' ${WRKSRC}/src/Makefile.in
.endif
post-install:
.if !defined(NOPORTDOCS)
- ${MKDIR} ${PREFIX}/share/doc/tabe
- ${INSTALL_DATA} ${WRKSRC}/tsi-src/README ${PREFIX}/share/doc/tabe/README.tsi
- ${INSTALL_DATA} ${WRKSRC}/src/supports/bims/README ${PREFIX}/share/doc/tabe/README.bims
+ ${MKDIR} ${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/tsi-src/README ${DOCSDIR}/README.tsi
+.if !defined(WITHOUT_X11)
+ ${INSTALL_DATA} ${WRKSRC}/src/supports/bims/README ${DOCSDIR}/README.bims
+.endif
.for DOC in BoPoMoFo.shtml Changes Changes.pre-0.1 TODO ZuYinCode.txt \
et26.txt libtabe.sgml
- ${INSTALL_DATA} ${WRKSRC}/doc/${DOC} ${PREFIX}/share/doc/tabe
+ ${INSTALL_DATA} ${WRKSRC}/doc/${DOC} ${DOCSDIR}
.endfor
.endif
- ${MKDIR} ${PREFIX}/share/tabe
- ${TOUCH} ${PREFIX}/share/tabe/libtabe-0.2.5
+ ${MKDIR} ${DATADIR}
+ ${TOUCH} ${DATADIR}/${PORTNAME}-${PORTVERSION}
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/chinese/libtabe/files/patch-configure b/chinese/libtabe/files/patch-configure
new file mode 100644
index 000000000000..2563f5f28f3a
--- /dev/null
+++ b/chinese/libtabe/files/patch-configure
@@ -0,0 +1,36 @@
+--- configure.orig Sat Oct 20 20:03:29 2001
++++ configure Wed Apr 5 13:26:48 2006
+@@ -5315,18 +5315,15 @@
+ 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
+ LIBS="-l$i $ac_func_search_save_LIBS"
+ 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. */
+-char db_create();
++#include "db.h"
+
+ int main() {
+-db_create()
++db_create(0,0,0)
+ ; 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
+ 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
+
+
+
diff --git a/chinese/libtabe/files/patch-src::tabe_tsidbint.c b/chinese/libtabe/files/patch-src::tabe_tsidbint.c
index 9bb3c612b45b..12cccfbb6e65 100644
--- a/chinese/libtabe/files/patch-src::tabe_tsidbint.c
+++ b/chinese/libtabe/files/patch-src::tabe_tsidbint.c
@@ -1,10 +1,50 @@
---- src/tabe_tsidbint.c.orig Sun Nov 11 12:33:07 2001
-+++ src/tabe_tsidbint.c Thu Aug 22 02:14:53 2002
-@@ -267,3 +267,7 @@
+--- 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 @@
+ else {
+ #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))
+ 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);
+ #endif
+ }
+ }
+@@ -93,15 +95,19 @@
+ if (flags & DB_FLAG_READONLY) {
+ #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))
+ 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);
+ #endif
+ }
+ else {
+ #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))
+ errno = dbp->open(dbp, db_name, NULL, DB_BTREE, 0, 0644);
++#else
++ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, 0, 0644);
+ #endif
+ }
+ }
+@@ -265,7 +271,13 @@
+ switch(tsidb->type) {
+ case DB_TYPE_DB:
dbp = (DB *)tsidb->dbp;
+#ifndef HAVE_DB3
errno = dbp->stat(dbp, &sp, NULL, 0);
-+#else
++#elif (DB_VERSION_MAJOR == 3 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR <= 2))
+ errno = dbp->stat(dbp, &sp, 0);
++#else
++ errno = dbp->stat(dbp, NULL, &sp, 0);
+#endif
if (!errno) {
+ #ifndef HAVE_DB3
+ return(sp->bt_nrecs);
diff --git a/chinese/libtabe/files/patch-src::tabe_tsiyindbint.c b/chinese/libtabe/files/patch-src::tabe_tsiyindbint.c
index 57e27d85288d..2ba0ab508647 100644
--- a/chinese/libtabe/files/patch-src::tabe_tsiyindbint.c
+++ b/chinese/libtabe/files/patch-src::tabe_tsiyindbint.c
@@ -1,10 +1,50 @@
---- src/tabe_tsiyindbint.c.orig Sun Nov 11 12:33:08 2001
-+++ src/tabe_tsiyindbint.c Thu Aug 22 02:16:00 2002
-@@ -270,3 +270,7 @@
+--- 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 @@
+ else {
+ #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))
+ 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);
+ #endif
+ }
+ }
+@@ -96,15 +98,19 @@
+ if (flags & DB_FLAG_READONLY) {
+ #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))
+ 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);
+ #endif
+ }
+ else {
+ #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))
+ errno = dbp->open(dbp, db_name, NULL, DB_BTREE, 0, 0644);
++#else
++ errno = dbp->open(dbp, NULL, db_name, NULL, DB_BTREE, 0, 0644);
+ #endif
+ }
+ }
+@@ -268,7 +274,13 @@
+ switch(tsiyindb->type) {
+ case DB_TYPE_DB:
dbp = (DB *)tsiyindb->dbp;
+#ifndef HAVE_DB3
errno = dbp->stat(dbp, &sp, NULL, 0);
-+#else
++#elif (DB_VERSION_MAJOR == 3 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR <= 2))
+ errno = dbp->stat(dbp, &sp, 0);
++#else
++ errno = dbp->stat(dbp, NULL, &sp, 0);
+#endif
if (!errno) {
+ #ifndef HAVE_DB3
+ return(sp->bt_nrecs);
diff --git a/chinese/libtabe/pkg-plist b/chinese/libtabe/pkg-plist
index 2bdd45b703d2..870b9e3ab67f 100644
--- a/chinese/libtabe/pkg-plist
+++ b/chinese/libtabe/pkg-plist
@@ -3,29 +3,29 @@ bin/tsidel
bin/tsidump
bin/tsiyincheck
bin/tsiyindump
-include/tabe/bims.h
+%%X11%%include/tabe/bims.h
include/tabe/tabe.h
-lib/libbims.a
-lib/libbims.la
-lib/libbims.so
-lib/libbims.so.2
+%%X11%%lib/libbims.a
+%%X11%%lib/libbims.la
+%%X11%%lib/libbims.so
+%%X11%%lib/libbims.so.2
lib/libtabe.a
lib/libtabe.la
lib/libtabe.so
lib/libtabe.so.2
lib/tabe/tsi.db
lib/tabe/yin.db
-%%PORTDOCS%%share/doc/tabe/BoPoMoFo.shtml
-%%PORTDOCS%%share/doc/tabe/Changes
-%%PORTDOCS%%share/doc/tabe/Changes.pre-0.1
-%%PORTDOCS%%share/doc/tabe/README.bims
-%%PORTDOCS%%share/doc/tabe/README.tsi
-%%PORTDOCS%%share/doc/tabe/TODO
-%%PORTDOCS%%share/doc/tabe/ZuYinCode.txt
-%%PORTDOCS%%share/doc/tabe/et26.txt
-%%PORTDOCS%%share/doc/tabe/libtabe.sgml
-share/tabe/libtabe-0.2.5
+%%PORTDOCS%%%%DOCSDIR%%/BoPoMoFo.shtml
+%%PORTDOCS%%%%DOCSDIR%%/Changes
+%%PORTDOCS%%%%DOCSDIR%%/Changes.pre-0.1
+%%X11%%%%PORTDOCS%%%%DOCSDIR%%/README.bims
+%%PORTDOCS%%%%DOCSDIR%%/README.tsi
+%%PORTDOCS%%%%DOCSDIR%%/TODO
+%%PORTDOCS%%%%DOCSDIR%%/ZuYinCode.txt
+%%PORTDOCS%%%%DOCSDIR%%/et26.txt
+%%PORTDOCS%%%%DOCSDIR%%/libtabe.sgml
+%%DATADIR%%/libtabe-0.2.5
@dirrm include/tabe
@dirrm lib/tabe
-%%PORTDOCS%%@dirrm share/doc/tabe
-@dirrm share/tabe
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+@dirrm %%DATADIR%%