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