1PORTNAME= db5 2PORTVERSION= 5.3.28 3PORTREVISION= 5 4CATEGORIES= databases java 5MASTER_SITES= https://download.oracle.com/berkeley-db/ 6PKGNAMEPREFIX?= 7# 8# the distfiles aren't named db5-* but db-*: 9DISTNAME= db-${PORTVERSION} 10DIST_SUBDIR= bdb 11 12DEPRECATED= EOLd, potential security issues, maybe use db18 instead 13 14MAINTAINER= ports@MidnightBSD.org 15COMMENT= Oracle Berkeley DB, revision ${BDBVER} 16WWW= https://www.oracle.com/database/berkeley-db/db.html 17 18LICENSE= SLEEPYCAT 19LICENSE_NAME= Sleepycat 20LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept 21LICENSE_FILE= ${WRKSRC}/../LICENSE 22LICENSE_GROUPS= FSF GPL OSI 23 24BDBVER= ${PORTVERSION:R} 25BDBMAJ= ${BDBVER:R} 26CONFIGURE_ARGS= --enable-cxx --enable-stl --enable-dbm \ 27 --enable-compat185 --enable-dump185 \ 28 --includedir=${PREFIX}/include/${PORTNAME} \ 29 --libdir=${PREFIX}/lib/${PORTNAME} \ 30 --bindir=${PREFIX}/bin/${PORTNAME} \ 31 --host=${ARCH}-portbld-midnightbsd${OSREL} \ 32 --target=${ARCH}-portbld-midnightbsd${OSREL} 33CONFIGURE_SCRIPT= ../dist/configure 34GNU_CONFIGURE= yes 35USES= gmake libtool 36INSTALL_TARGET= install_include install_lib install_utilities 37WRKSRC= ${WRKDIR}/${DISTNAME}/build_unix 38PATCH_WRKSRC= ${WRKDIR}/${DISTNAME} 39USE_LDCONFIG= yes 40PLIST_SUB= BDBMAJ=${BDBMAJ} BDBVER=${BDBVER} 41MAKE_ARGS+= docdir=${DOCSDIR} 42CFLAGS+= -Wall -Wextra 43 44OPTIONS_DEFINE= CRYPTO DEBUG L10N JAVA TCL DOCS 45OPTIONS_DEFAULT=CRYPTO 46OPTIONS_SUB= yes 47CRYPTO_DESC= Cryptography support 48L10N_DESC= Localization support (EXPERIMENTAL) 49 50PORTDOCS= * 51 52DBLIBS= libdb libdb_cxx libdb_stl 53 54DEBUG_CONFIGURE_ENABLE= debug umrw 55CRYPTO_CONFIGURE_WITH= cryptography=yes 56L10N_CONFIGURE_ENABLE= localization 57JAVA_USE= java 58# db5 is incompatible with openjdk8 and causes IllegalArgument 59# exceptions during build 60JAVA_VARS= DBLIBS+=libdb_java JAVA_VERSION="8" 61JAVA_CONFIGURE_ENABLE= java 62JAVA_CPPFLAGS= -I"${JAVA_HOME}/include" 63JAVA_CONFIGURE_ENV= JAVAC="${JAVAC}" JAR="${JAR}" JAVA="${JAVA}" JAVACFLAGS="-Xlint:unchecked" 64TCL_CONFIGURE_ENABLE= tcl 65TCL_USES= tcl 66TCL_CONFIGURE_WITH= tcl=${TCL_LIBDIR} 67TCL_VARS= DBLIBS+=libdb_tcl 68DOCS_INSTALL_TARGET= install_docs 69 70.include <bsd.mport.options.mk> 71 72.if ${ARCH} == aarch64 || ${ARCH:Marmv*} 73# db5 uses a deprecated instruction for mutexes on ARM, fbsd bug#197227 74# and also bug#205001 75CONFIGURE_ARGS+= --enable-posixmutexes 76# force POSIX mutexes - the OS supports PTHREAD_PROCESS_SHARED 77CONFIGURE_ARGS+= --with-mutex=POSIX/pthreads 78.endif 79 80post-patch: 81 ${REINPLACE_CMD} -i '' -e '/^DOCLIST/{s/csharp//;}' ${WRKSRC}/../dist/Makefile.in 82 ${REINPLACE_CMD} -i '' -Ee 's/[[:<:]]atomic_init[[:>:]]/db_atomic_init/g' ${WRKSRC}/../src/mp/mp* ${WRKSRC}/../src/mutex/mut_* 83 84post-install: 85 ${STRIP_CMD} ${PREFIX}/bin/db5/db_* 86 ${RM} -r ${DOCSDIR}/bdb-sql 87.for i in ${DBLIBS} 88 ${STRIP_CMD} ${PREFIX}/lib/${PORTNAME}/${i}-${BDBVER}.so.0 89 ${LN} -s -f ${PORTNAME}/${i}-${BDBVER}.so.0 ${PREFIX}/lib 90 ${LN} -s -f ${PORTNAME}/${i}-${BDBMAJ}.so ${PREFIX}/lib 91 ${LN} -s -f ${i}-${BDBVER}.so.0 ${PREFIX}/lib/${i}-${BDBVER}.so 92 ${LN} -s -f ${i}-${BDBVER}.so.0 ${PREFIX}/lib/${i}-${BDBMAJ}.so.0 93 ${LN} -s -f ${i}-${BDBVER}.a ${PREFIX}/lib/${PORTNAME}/${i}.a 94.endfor 95 cd ${PREFIX}/bin/${PORTNAME}; \ 96 for i in *; do ${LN} -s -f ${PORTNAME}/$$i ../$$i-${BDBVER} ; \ 97 ${LN} -s -f ${PORTNAME}/$$i ../$$i-${BDBMAJ} ; done 98 99post-install-JAVA-off: 100 ${RM} -r ${FAKE_DESTDIR}${DOCSDIR}/java 101.for i in gsg gsg_db_rep gsg_txn 102 ${RM} -r ${FAKE_DESTDIR}${DOCSDIR}/${i}/JAVA 103.endfor 104 105post-install-TCL-on: 106 echo "package ifneeded Db_tcl ${BDBVER} \ 107 [list load [file join $$dir libdb_tcl-${BDBVER}.so]] \ 108 " > ${FAKE_DESTDIR}${PREFIX}/lib/${PORTNAME}/pkgIndex.tcl 109 110post-install-TCL-off: 111.for i in api_reference/TCL 112 ${RM} -r ${FAKE_DESTDIR}${DOCSDIR}/${i} 113.endfor 114 115.include <bsd.port.mk> 116