databases/db5, db6: enable DBM compatibility

Enable DBM API. [1]
Reorder license information of db5/Makefile to fix portlint warning. [1]
Bump PORTREVISON. [1]
Add command creating symbolic link such as ${PREFIX}/lib/libdb-6.so to
post-install target of db6/Makefile. [1]

Instead of USE_GCC, patch src/dbinc/db.in to not expose the store() macro under C++.
Mark db6 broken on MIPS64 for now, we do not have a workable MUTEX implementation.
Unbreak build on AARCH64, where the db6 autoconfiguration chooses the wrong MUTEX.

PR:		230191
Submitted by:	Yasuhiro Kimura
This commit is contained in:
Matthias Andree 2018-08-02 16:05:16 +00:00
parent f20b287af6
commit 105a8b5ab2
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=476241
5 changed files with 60 additions and 12 deletions

View file

@ -3,7 +3,7 @@
PORTNAME= db5
PORTVERSION= 5.3.28
PORTREVISION= 6
PORTREVISION= 7
CATEGORIES= databases java
MASTER_SITES= http://download.oracle.com/berkeley-db/
PKGNAMEPREFIX?=
@ -16,14 +16,14 @@ MAINTAINER= mandree@FreeBSD.org
COMMENT= Oracle Berkeley DB, revision ${BDBVER}
LICENSE= SLEEPYCAT
LICENSE_NAME= Sleepycat
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
LICENSE_FILE= ${WRKSRC}/../LICENSE
LICENSE_GROUPS= FSF GPL OSI
LICENSE_NAME= Sleepycat
LICENSE_FILE= ${WRKSRC}/../LICENSE
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
BDBVER= ${PORTVERSION:R}
BDBMAJ= ${BDBVER:R}
CONFIGURE_ARGS= --enable-cxx --enable-stl \
CONFIGURE_ARGS= --enable-cxx --enable-stl --enable-dbm \
--enable-compat185 --enable-dump185 \
--includedir=${PREFIX}/include/${PORTNAME} \
--libdir=${PREFIX}/lib/${PORTNAME} \

View file

@ -0,0 +1,15 @@
--- src/dbinc/db.in.orig 2013-09-09 15:35:08 UTC
+++ src/dbinc/db.in
@@ -2778,11 +2778,11 @@ typedef struct {
#define dbmclose __db_dbm_close@DB_VERSION_UNIQUE_NAME@
#if !defined(__cplusplus)
#define delete(a) __db_dbm_delete@DB_VERSION_UNIQUE_NAME@(a)
+#define store(a, b) __db_dbm_store@DB_VERSION_UNIQUE_NAME@(a, b)
#endif
#define fetch(a) __db_dbm_fetch@DB_VERSION_UNIQUE_NAME@(a)
#define firstkey __db_dbm_firstkey@DB_VERSION_UNIQUE_NAME@
#define nextkey(a) __db_dbm_nextkey@DB_VERSION_UNIQUE_NAME@(a)
-#define store(a, b) __db_dbm_store@DB_VERSION_UNIQUE_NAME@(a, b)
/*******************************************************
* Hsearch historic interface.

View file

@ -3,6 +3,7 @@
PORTNAME= db6
PORTVERSION= 6.2.32
PORTREVISION= 1
CATEGORIES= databases java
MASTER_SITES= http://download.oracle.com/berkeley-db/
PKGNAMEPREFIX?=
@ -17,9 +18,11 @@ COMMENT= Oracle Berkeley DB, revision ${BDBVER}
LICENSE= AGPLv3
LICENSE_FILE= ${WRKSRC}/../LICENSE
BROKEN_mips64= no usable MUTEX implementation, assy works only for MIPS32, POSIX mutexes are unshared
BDBVER= ${PORTVERSION:R}
BDBMAJ= ${BDBVER:R}
CONFIGURE_ARGS= --enable-cxx --enable-stl \
CONFIGURE_ARGS= --enable-cxx --enable-stl --enable-dbm \
--enable-compat185 --enable-dump185 \
--includedir=${PREFIX}/include/${PORTNAME} \
--libdir=${PREFIX}/lib/${PORTNAME} \
@ -63,6 +66,14 @@ DOCS_INSTALL_TARGET= install_docs
.include <bsd.port.options.mk>
.if ${ARCH} == aarch64
. if ${OSVERSION} > 1100100
CONFIGURE_ARGS+= --with-mutex=POSIX/pthreads
. else
CONFIGURE_ARGS+= --enable-posixmutexes
. endif
.endif
post-patch:
${REINPLACE_CMD} -e '/^DOCLIST/{s/csharp//;}' ${WRKSRC}/../dist/Makefile.in
${REINPLACE_CMD} -Ee 's/[[:<:]]atomic_init[[:>:]]/db_atomic_init/g' \
@ -74,6 +85,7 @@ post-install:
.for i in ${DBLIBS}
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${i}-${BDBVER}.so
${LN} -s -f ${PORTNAME}/${i}-${BDBVER}.so ${STAGEDIR}${PREFIX}/lib
${LN} -s -f ${PORTNAME}/${i}-${BDBVER}.so ${STAGEDIR}${PREFIX}/lib/${i}-${BDBMAJ}.so
${LN} -s -f ${i}-${BDBVER}.a ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${i}.a
.endfor
cd ${STAGEDIR}${PREFIX}/bin/${PORTNAME}; \

View file

@ -0,0 +1,15 @@
--- src/dbinc/db.in.orig 2017-04-13 14:06:20 UTC
+++ src/dbinc/db.in
@@ -2997,11 +2997,11 @@ typedef struct {
#define dbmclose __db_dbm_close@DB_VERSION_UNIQUE_NAME@
#if !defined(__cplusplus)
#define delete(a) __db_dbm_delete@DB_VERSION_UNIQUE_NAME@(a)
+#define store(a, b) __db_dbm_store@DB_VERSION_UNIQUE_NAME@(a, b)
#endif
#define fetch(a) __db_dbm_fetch@DB_VERSION_UNIQUE_NAME@(a)
#define firstkey __db_dbm_firstkey@DB_VERSION_UNIQUE_NAME@
#define nextkey(a) __db_dbm_nextkey@DB_VERSION_UNIQUE_NAME@(a)
-#define store(a, b) __db_dbm_store@DB_VERSION_UNIQUE_NAME@(a, b)
/*******************************************************
* Hsearch historic interface.

View file

@ -80,14 +80,20 @@ lib/db%%BDBMAJ%%/libdb_stl-%%BDBMAJ%%.so
lib/db%%BDBMAJ%%/libdb_stl.a
lib/db%%BDBMAJ%%/libdb_stl.so
lib/libdb-%%BDBVER%%.so
lib/libdb-%%BDBMAJ%%.so
lib/libdb_cxx-%%BDBVER%%.so
lib/libdb_cxx-%%BDBMAJ%%.so
%%JAVA%%lib/libdb_java-%%BDBVER%%.so
%%JAVA%%lib/libdb_java-%%BDBMAJ%%.so
%%SQL%%lib/libdb_sql-%%BDBVER%%.so
%%SQL%%lib/libdb_sql-%%BDBMAJ%%.so
lib/libdb_stl-%%BDBVER%%.so
%%TCL%%lib/db6/libdb_tcl-%%BDBVER%%.a
%%TCL%%lib/db6/libdb_tcl-%%BDBVER%%.so
%%TCL%%lib/db6/libdb_tcl-6.so
%%TCL%%lib/db6/libdb_tcl.a
%%TCL%%lib/db6/libdb_tcl.so
%%TCL%%lib/db6/pkgIndex.tcl
lib/libdb_stl-%%BDBMAJ%%.so
%%TCL%%lib/db%%BDBMAJ%%/libdb_tcl-%%BDBVER%%.a
%%TCL%%lib/db%%BDBMAJ%%/libdb_tcl-%%BDBVER%%.so
%%TCL%%lib/db%%BDBMAJ%%/libdb_tcl-%%BDBMAJ%%.so
%%TCL%%lib/db%%BDBMAJ%%/libdb_tcl.a
%%TCL%%lib/db%%BDBMAJ%%/libdb_tcl.so
%%TCL%%lib/db%%BDBMAJ%%/pkgIndex.tcl
%%TCL%%lib/libdb_tcl-%%BDBVER%%.so
%%TCL%%lib/libdb_tcl-%%BDBMAJ%%.so