1PORTNAME=	db18
2PORTVERSION=	18.1.40
3CATEGORIES=	databases java
4MASTER_SITES=	https://github.com/yasuhirokimura/${PORTNAME}/releases/download/${PORTVERSION}/
5PKGNAMEPREFIX?=
6#
7# the distfiles aren't named db18-* but db-*:
8DISTNAME=	db-${PORTVERSION}
9DIST_SUBDIR=	bdb
10
11MAINTAINER=	ports@MidnightBSD.org
12COMMENT=	Oracle Berkeley DB, Release ${BDBVER}
13WWW=		https://www.oracle.com/database/berkeley-db/
14
15LICENSE=	agpl bsd3 UPL10
16LICENSE_COMB=	multi
17LICENSE_NAME_UPL10=	The Universal Permissive License (UPL), Version 1.0
18LICENSE_FILE_UPL10=	${WRKSRC}/../EXAMPLES-LICENSE
19LICENSE_FILE=	${WRKSRC}/../LICENSE
20LICENSE_PERMS_UPL10=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
21
22BDBVER=		${PORTVERSION:R}
23BDBMAJ=		${BDBVER:R}
24CONFIGURE_ARGS=	--enable-cxx --enable-stl --enable-dbm \
25		--enable-compat185 --enable-dump185 \
26		--includedir=${PREFIX}/include/${PORTNAME} \
27		--libdir=${PREFIX}/lib/${PORTNAME} \
28		--bindir=${PREFIX}/bin/${PORTNAME} \
29		--host=${ARCH}-portbld-midnightbsd${OSREL} \
30		--target=${ARCH}-portbld-midnightbsd${OSREL}
31CONFIGURE_SCRIPT=	../dist/configure
32GNU_CONFIGURE=	yes
33USES=		gmake libtool ssl
34INSTALL_TARGET=	install_include install_lib install_utilities
35WRKSRC=		${WRKDIR}/${DISTNAME}/build_unix
36PATCH_WRKSRC=	${WRKDIR}/${DISTNAME}
37USE_LDCONFIG=	yes
38PLIST_SUB=	BDBMAJ=${BDBMAJ} BDBVER=${BDBVER}
39MAKE_ARGS+=	docdir=${DOCSDIR}
40
41CFLAGS+=	-I${OPENSSLINC} -Wno-deprecated-non-prototype \
42		-Wno-incompatible-library-redeclaration -Wno-int-conversion
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
58JAVA_VARS=		DBLIBS+=libdb_java JAVA_VERSION="7+"
59JAVA_CONFIGURE_ENABLE=	java
60JAVA_CONFIGURE_ENV=	JAVAC="${JAVAC}" JAR="${JAR}" JAVA="${JAVA}"
61JAVA_CPPFLAGS=		-I"${JAVA_HOME}/include"
62TCL_CONFIGURE_ENABLE=	tcl
63TCL_USES=		tcl
64TCL_CONFIGURE_WITH=	tcl=${TCL_LIBDIR}
65TCL_VARS=		DBLIBS+=libdb_tcl
66DOCS_INSTALL_TARGET=	install_docs
67
68.include <bsd.mport.options.mk>
69
70.if ${ARCH} == aarch64
71CONFIGURE_ARGS+=	--with-mutex=POSIX/pthreads
72.endif
73
74post-install:
75.for i in ${DBLIBS}
76	${STRIP_CMD} ${PREFIX}/lib/${PORTNAME}/${i}-${BDBVER}.so
77	${LN} -s -f ${PORTNAME}/${i}-${BDBVER}.so ${PREFIX}/lib
78	${LN} -s -f ${PORTNAME}/${i}-${BDBVER}.so ${PREFIX}/lib/${i}-${BDBMAJ}.so
79	${LN} -s -f ${i}-${BDBVER}.a ${PREFIX}/lib/${PORTNAME}/${i}.a
80.endfor
81	cd ${PREFIX}/bin/${PORTNAME}; \
82	for i in *; do ${LN} -s -f ${PORTNAME}/$$i ../$$i-${BDBVER} ; done
83
84post-install-JAVA-off:
85	${RM} -r ${FAKE_DESTDIR}${DOCSDIR}/java
86.for i in gsg gsg_db_rep gsg_txn
87	${RM} -r ${FAKE_DESTDIR}${DOCSDIR}/${i}/JAVA
88.endfor
89
90post-install-TCL-on:
91	echo "package ifneeded Db_tcl ${BDBVER} \
92	      [list load [file join $$dir libdb_tcl-${BDBVER}.so]] \
93	     " > ${FAKE_DESTDIR}${PREFIX}/lib/${PORTNAME}/pkgIndex.tcl
94
95post-install-TCL-off:
96.for i in api_reference/TCL
97	${RM} -r ${FAKE_DESTDIR}${DOCSDIR}/${i}
98.endfor
99
100.include <bsd.port.mk>
101