1PORTNAME= apr 2PORTVERSION= ${APR_VERSION}.${APU_VERSION} 3PORTREVISION= 3 4CATEGORIES= devel 5MASTER_SITES= APACHE/apr 6DISTFILES= apr-${APR_VERSION}.tar.gz \ 7 apr-util-${APU_VERSION}.tar.gz 8 9MAINTAINER= ports@MidnightBSD.org 10COMMENT= Apache Portability Library 11WWW= https://apr.apache.org/ 12 13LICENSE= Apache-2.0 14 15LIB_DEPENDS= libexpat.so:textproc/expat2 16 17USES= autoreconf iconv pathfix libtool cpe 18USE_LDCONFIG= yes 19GNU_CONFIGURE= yes 20CONFIGURE_ARGS+= --build=${ARCH}-midnightbsd-freebsd12.4 21 22APR_VERSION= 1.7.5 23APU_VERSION= 1.6.3 24 25CPE_VENDOR= apache 26CPE_PRODUCT= apr-util 27CPE_VERSION= ${APU_VERSION} 28 29OPTIONS_SUB= yes 30OPTIONS_GROUP= APU 31OPTIONS_DEFINE= IPV6 32OPTIONS_GROUP_APU= GDBM LDAP MYSQL NDBM ODBC PGSQL SQLITE 33OPTIONS_RADIO= BERKELEYDB CRYPTO 34OPTIONS_RADIO_BERKELEYDB= BDB1 BDB5 BDB18 35OPTIONS_RADIO_CRYPTO= SSL NSS 36OPTIONS_DEFAULT= BDB1 GDBM SSL 37 38APU_DESC= Database support 39BDB1_DESC= Berkeley DB 1.85 support (BSD 3-clause) 40BDB5_DESC= Berkeley DB v5 support (deprecated) 41BDB18_DESC= Berkeley DB 18.x support (AGPLv3) 42BERKELEYDB_DESC= Berkeley DB provider 43CRYPTO_DESC= Cryptography provider 44NDBM_DESC= NDBM support 45NSS_DESC= NSS crypto driver 46SSL_DESC= OpenSSL crypto driver 47 48# APR-Util Options 49BDB5_USES= bdb:5 50BDB18_USES= bdb:18 51GDBM_LIB_DEPENDS= libgdbm.so:databases/gdbm 52LDAP_USE= OPENLDAP=yes 53LDAP_USES= ldap 54MYSQL_USES= mysql 55NSS_LIB_DEPENDS= libnss3.so:security/nss 56ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC 57PGSQL_USES= pgsql 58SQLITE_USES= sqlite 59SSL_USES= ssl 60 61APR_WRKDIR= ${WRKDIR}/apr-${APR_VERSION} 62APU_WRKDIR= ${WRKDIR}/apr-util-${APU_VERSION} 63WRKSRC= ${APR_WRKDIR} 64PATCH_WRKSRC= ${WRKDIR} 65PATHFIX_WRKSRC= ${WRKDIR} 66 67SHLIB_APR_MAJOR=${APR_VERSION:C/^1/0/} 68SHLIB_APU_MAJOR=${APU_VERSION:C/^1/0/} 69 70PLIST_SUB+= SHLIB_APR_MAJOR="${SHLIB_APR_MAJOR}" \ 71 SHLIB_APU_MAJOR="${SHLIB_APU_MAJOR}" 72 73APR_CONF_ARGS= --with-installbuilddir=${DATADIR}/build-1 \ 74 --enable-threads \ 75 --enable-posix-shm \ 76 --with-devrandom 77 78APU_CONF_ARGS= --with-apr=${APR_WRKDIR} \ 79 --with-expat=${LOCALBASE} \ 80 --with-iconv=${ICONV_PREFIX} 81 82########## APR Options 83IPV6_VARS= APR_CONF_ARGS+=--enable-ipv6 84IPV6_VARS_OFF= APR_CONF_ARGS+=--disable-ipv6 85 86######### APR-Util Options 87# make sure 1st include is "${APR_WRKDIR}/include" 88# to avoid failures if previous apr_version.h is present 89APU_CPPFLAGS= -I${APR_WRKDIR}/include 90 91BDB1_VARS= LICENSE_COMB=dual LICENSE+=bsd4 \ 92 APU_CONF_ARGS+="--with-berkeley-db=/usr/include:/usr/lib \ 93 --with-dbm=db1" 94BDB5_VARS= APU_CONF_ARGS+="--with-berkeley-db=${BDB_INCLUDE_DIR}:${BDB_LIB_DIR} \ 95 --with-dbm=db5" 96BDB18_VARS= LICENSE_COMB=dual LICENSE+=agpl3 \ 97 APU_CONF_ARGS+="--with-berkeley-db=${BDB_INCLUDE_DIR}:${BDB_LIB_DIR} \ 98 --with-dbm=db185" 99GDBM_VARS= APU_CONF_ARGS+=--with-gdbm=${LOCALBASE} 100LDAP_VARS= APU_CONF_ARGS+="--with-ldap-include=${LOCALBASE}/include \ 101 --with-ldap-lib=${LOCALBASE}/lib --with-ldap=ldap" 102MYSQL_VARS= APU_CONF_ARGS+=--with-mysql=${LOCALBASE} \ 103 APU_CPPFLAGS+="-I${LOCALBASE}/include -I${LOCALBASE}/include/mysql -DHAVE_MYSQL_H" \ 104 LIBS+=-L${LOCALBASE}/lib/mysql 105NDBM_VARS= APU_CONF_ARGS+=--with-ndbm=/usr 106NSS_VARS= APU_CONF_ARGS+=--with-nss=${LOCALBASE} \ 107 APU_CPPFLAGS+=-I${LOCALBASE}/include/nss \ 108 LDFLAGS+=-L${LOCALBASE}/lib/nss 109ODBC_VARS= APU_CONF_ARGS+=--with-odbc=${LOCALBASE} 110SSL_VARS= APU_CONF_ARGS+=--with-openssl=${OPENSSLBASE} \ 111 APU_CPPFLAGS+=-I${OPENSSLINC} \ 112 LDFLAGS+=-L${OPENSSLLIB} 113SSL_VARS_OFF= APU_CONF_ARGS+=--without-openssl 114PGSQL_VARS= APU_CONF_ARGS+=--with-pgsql=${LOCALBASE} \ 115 APU_CONF_ENV+=ac_cv_path_PGSQL_CONFIG="" 116SQLITE_VARS= APU_CONF_ARGS+=--with-sqlite3=${LOCALBASE} 117SQLITE_VARS_OFF= APU_CONF_ARGS+=--without-sqlite3 118 119.for db in GDBM NDBM LDAP ODBC MYSQL NSS PGSQL 120${db}_VARS_OFF= APU_CONF_ARGS+=--without-${db:tl} 121.endfor 122 123APR_CONF_ENV+= ${CONFIGURE_ENV:O:u} CC="${CC}" CC_FOR_BUILD="${CC}" \ 124 CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}" 125# include apu specific CPPFLAGS 1st! 126APU_CONF_ENV+= ${CONFIGURE_ENV:O:u} CC="${CC}" CFLAGS="${CFLAGS}" CPPFLAGS="${APU_CPPFLAGS} ${CPPFLAGS}" 127 128.include <bsd.mport.options.mk> 129 130.if !${PORT_OPTIONS:MBDB1} && !${PORT_OPTIONS:MBDB18} && !${PORT_OPTIONS:MBDB5} 131APU_CONF_ARGS+= --without-berkeley-db 132PLIST_SUB+= BERKELEYDB="@comment " 133.else 134PLIST_SUB+= BERKELEYDB="" 135.endif 136 137.if ${PORT_OPTIONS:MSSL} || ${PORT_OPTIONS:MNSS} 138APU_CONF_ARGS+= --with-crypto 139.else 140APU_CONF_ARGS+= --without-crypto 141.endif 142 143.include <bsd.port.pre.mk> 144 145post-extract: 146# cleanup files not used on this platform 147 @${FIND} ${WRKDIR} -type f \( -name 'NWGNU*' -o -name '*.ds?' -o -name '*.dep' -o -name '*.mak' -o -name '*.win' \) -delete 148 149post-patch: 150 @${REINPLACE_CMD} -e 's/OSVERSION/${OSVERSION}/g' \ 151 ${APR_WRKDIR}/configure 152 153do-configure: 154 @${ECHO_MSG} "# ===> ${.TARGET} apr-${APR_VERSION}" 155 (cd ${APR_WRKDIR} && \ 156 ${SETENV} ${APR_CONF_ENV} ./configure ${APR_CONF_ARGS} ${CONFIGURE_ARGS}) 157 @${ECHO_MSG} "# ===> ${.TARGET} apr-util-${APU_VERSION}" 158 (cd ${APU_WRKDIR} && \ 159 autoreconf -f -i && \ 160 ${SETENV} ${APU_CONF_ENV} ./configure ${APU_CONF_ARGS} ${CONFIGURE_ARGS}) 161 162do-build: 163 @${ECHO_MSG} "# ===> ${.TARGET} apr-${APR_VERSION}" 164 (cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${_MAKE_JOBS}) 165 @${ECHO_MSG} "# ===> ${.TARGET} apr-util-${APU_VERSION}" 166 (cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${_MAKE_JOBS}) 167 168pre-install: 169# always create the modules directory 170 @${MKDIR} ${PREFIX}/lib/apr-util-1 171 ${ECHO} "keep me" > ${PREFIX}/lib/apr-util-1/.keep.me 172 173do-install: 174 @(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${FAKE_MAKEARGS} ${INSTALL_TARGET}) 175 @(cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${FAKE_MAKEARGS} ${INSTALL_TARGET}) 176 -${FIND} ${PREFIX}/lib/ -name \*.so | ${XARGS} ${STRIP_CMD} 177 178do-test: 179 @${ECHO_MSG} "# ===> ${.TARGET} apr-${APR_VERSION}" 180 -(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} test) 181 @${ECHO_MSG} "# ===> ${.TARGET} apr-util-${APU_VERSION}" 182 -(cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} test) 183 184#regression-test: test 185 186rpfl: configure 187# maintainer only: strip PID from logs (better compare) 188 ${SED} -i '' -E 's|^configure:[0-9]+:|configure:_pid_:|g' ${APR_WRKDIR}/config.log 189 ${SED} -i '' -E 's|^configure:[0-9]+:|configure:_pid_:|g' ${APU_WRKDIR}/config.log 190 191.include <bsd.port.post.mk> 192