cc867e3fa0
*) apr_dir_read: [Unix] Dropped the preference of the dirread_r() flavor for dirread(), because the former is both deprecated and unneeded. [Yann Ylavic, William Rowe] *) apr_file_info: [Win32 only] Treat only "name surrogate" reparse points as symlinks, and not other reparse tag types. PR47630 [Oleg Liatte <olegliatte gmail.com>] *) Test %ld vs. %lld to avoid compiler emits using APR_OFF_T_FMT, in the case of apparently equivilant long and long long types. [William Rowe] *) Recognize APPLE predefined macros as equivilant to DARWIN. [Jim Jagielski] *) Signals: Allow handling of SIGUSR2 in apr_signal_thread. [Yann Ylavic] *) Atomics: Support for 64bit ints. [Jim Jagielski] *) Add the apr_encode_* API that implements RFC4648 and RFC7515 compliant BASE64, BASE64URL, BASE32, BASE32HEX and BASE16 encode/decode functions. [Graham Leggett] *) rand: Use arc4random_buf() on BSD platforms and getrandom() on Linux, when available. [Christian Weisgerber <naddy openbsd.org, Yann Ylavic] *) Add apr_sockaddr_zone_set, apr_sockaddr_zone_set to set and retrieve the zone for link-local IPv6 addresses. [Joe Orton] *) apr_sockaddr_equal: Compare link-local IPv6 addresses with different zones as not equal. [Joe Orton] *) apr_sockaddr_ip_getbuf, apr_sockaddr_ip_get: Append "%zone" for IPv6 link-local addresses. [Joe Orton] *) Locks: add a --disable-timedlocks config option in case users encounter more platforms where it fails [Nick Kew]. *) apr_allocator, apr_pools: Add apr_allocator_page_size() and apr_allocator_min_order_set() to respectively get the (system's) page size in use and set the minimum allocation size for an allocator (expressed in 2^order pages). [Yann Ylavic] *) locks: provide portable implementations of timedlock()s for posix-sems, sysv-sems and pthreads for those platforms that lack native versions (eg: OSX/macOS). [Jim Jagielski] *) locks: Introduce apr_{thread,proc,global}_mutex_timedlock(). [Yann Ylavic] - Add PORTVERSION (with svn mv) to relevant patches to make it easier for maintaining PR: 239382 Sponsored by: Netzkommune GmbH Differential Revision: https://reviews.freebsd.org/D21073
175 lines
5.5 KiB
Makefile
175 lines
5.5 KiB
Makefile
# Created by: Garrett Rooney <rooneg@electricjellyfish.net>
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= apr
|
|
PORTVERSION= ${APR_VERSION}.${APU_VERSION}
|
|
CATEGORIES= devel
|
|
MASTER_SITES= APACHE/apr
|
|
DISTFILES= apr-${APR_VERSION}.tar.gz \
|
|
apr-util-${APU_VERSION}.tar.gz
|
|
|
|
MAINTAINER= apache@FreeBSD.org
|
|
COMMENT= Apache Portability Library
|
|
|
|
LICENSE= APACHE20
|
|
|
|
LIB_DEPENDS= libexpat.so:textproc/expat2
|
|
|
|
USES= iconv pathfix libtool cpe
|
|
USE_LDCONFIG= yes
|
|
GNU_CONFIGURE= yes
|
|
|
|
APR_VERSION= 1.7.0
|
|
APU_VERSION= 1.6.1
|
|
|
|
CPE_VENDOR= apache
|
|
CPE_PRODUCT= apr-util
|
|
CPE_VERSION= ${APU_VERSION}
|
|
|
|
OPTIONS_SUB= yes
|
|
OPTIONS_GROUP= APU
|
|
OPTIONS_DEFINE= IPV6
|
|
OPTIONS_GROUP_APU= BDB GDBM LDAP MYSQL NDBM ODBC PGSQL SQLITE
|
|
OPTIONS_RADIO= CRYPTO
|
|
OPTIONS_RADIO_CRYPTO= SSL NSS
|
|
OPTIONS_DEFAULT= DEVRANDOM BDB GDBM SSL
|
|
|
|
APU_DESC= Database support
|
|
CRYPTO_DESC= Cryptography provider
|
|
DEVRANDOM_DESC= Use /dev/random or compatible
|
|
NDBM_DESC= NDBM support
|
|
NSS_DESC= NSS crypto driver
|
|
SSL_DESC= OpenSSL crypto driver
|
|
|
|
# APR-Util Options
|
|
BDB_USES= bdb:5+
|
|
GDBM_LIB_DEPENDS= libgdbm.so:databases/gdbm
|
|
LDAP_USE= OPENLDAP=yes
|
|
MYSQL_USES= mysql
|
|
NSS_LIB_DEPENDS= libnss3.so:security/nss
|
|
ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC
|
|
PGSQL_USES= pgsql
|
|
SQLITE_USES= sqlite
|
|
SSL_USES= ssl
|
|
|
|
APR_WRKDIR= ${WRKDIR}/apr-${APR_VERSION}
|
|
APU_WRKDIR= ${WRKDIR}/apr-util-${APU_VERSION}
|
|
WRKSRC= ${APR_WRKDIR}
|
|
PATCH_WRKSRC= ${WRKDIR}
|
|
PATHFIX_WRKSRC= ${WRKDIR}
|
|
|
|
SHLIB_APR_MAJOR=${APR_VERSION:C/^1/0/}
|
|
SHLIB_APU_MAJOR=${APU_VERSION:C/^1/0/}
|
|
|
|
PLIST_SUB+= SHLIB_APR_MAJOR="${SHLIB_APR_MAJOR}" \
|
|
SHLIB_APU_MAJOR="${SHLIB_APU_MAJOR}"
|
|
|
|
APR_CONF_ARGS= --with-installbuilddir=${DATADIR}/build-1 \
|
|
--enable-threads \
|
|
--enable-posix-shm \
|
|
--with-devrandom
|
|
|
|
APU_CONF_ARGS= --with-apr=${APR_WRKDIR} \
|
|
--with-expat=${LOCALBASE}
|
|
|
|
########## APR Options
|
|
IPV6_VARS= APR_CONF_ARGS+=--enable-ipv6
|
|
IPV6_VARS_OFF= APR_CONF_ARGS+=--disable-ipv6
|
|
|
|
######### APR-Util Options
|
|
# make sure 1st include is "${APR_WRKDIR}/include"
|
|
# to avoid failures if previous apr_version.h is present
|
|
APU_CPPFLAGS= -I${APR_WRKDIR}/include
|
|
|
|
BDB_VARS= APU_CONF_ARGS+=--with-berkeley-db=${BDB_INCLUDE_DIR}:${BDB_LIB_DIR}
|
|
BDB_VARS_OFF= APU_CONF_ARGS+=--without-berkeley-db
|
|
GDBM_VARS= APU_CONF_ARGS+=--with-gdbm=${LOCALBASE}
|
|
LDAP_VARS= APU_CONF_ARGS+="--with-ldap-include=${LOCALBASE}/include \
|
|
--with-ldap-lib=${LOCALBASE}/lib --with-ldap=ldap"
|
|
MYSQL_VARS= APU_CONF_ARGS+=--with-mysql=${LOCALBASE} \
|
|
APU_CPPFLAGS+="-I${LOCALBASE}/include -I${LOCALBASE}/include/mysql -DHAVE_MYSQL_H" \
|
|
LIBS+=-L${LOCALBASE}/lib/mysql
|
|
NDBM_VARS= APU_CONF_ARGS+=--with-ndbm=/usr
|
|
NSS_VARS= APU_CONF_ARGS+=--with-nss=${LOCALBASE} \
|
|
APU_CPPFLAGS+=-I${LOCALBASE}/include/nss \
|
|
LDFLAGS+=-L${LOCALBASE}/lib/nss
|
|
ODBC_VARS= APU_CONF_ARGS+=--with-odbc=${LOCALBASE}
|
|
SSL_VARS= APU_CONF_ARGS+=--with-openssl=${OPENSSLBASE} \
|
|
APU_CPPFLAGS+=-I${OPENSSLINC} \
|
|
LDFLAGS+=-L${OPENSSLLIB}
|
|
SSL_VARS_OFF= APU_CONF_ARGS+=--without-openssl
|
|
PGSQL_VARS= APU_CONF_ARGS+=--with-pgsql=${LOCALBASE} \
|
|
APU_CONF_ENV+=ac_cv_path_PGSQL_CONFIG=""
|
|
SQLITE_VARS= APU_CONF_ARGS+=--with-sqlite3=${LOCALBASE}
|
|
SQLITE_VARS_OFF= APU_CONF_ARGS+=--without-sqlite3
|
|
|
|
.for db in GDBM NDBM LDAP ODBC MYSQL NSS PGSQL
|
|
${db}_VARS_OFF= APU_CONF_ARGS+=--without-${db:tl}
|
|
.endfor
|
|
|
|
APR_CONF_ENV+= ${CONFIGURE_ENV:O:u} CC="${CC}" CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}"
|
|
# include apu specific CPPFLAGS 1st!
|
|
APU_CONF_ENV+= ${CONFIGURE_ENV:O:u} CC="${CC}" CFLAGS="${CFLAGS}" CPPFLAGS="${APU_CPPFLAGS} ${CPPFLAGS}"
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.if ${PORT_OPTIONS:MSSL} || ${PORT_OPTIONS:MNSS}
|
|
APU_CONF_ARGS+= --with-crypto
|
|
.else
|
|
APU_CONF_ARGS+= --without-crypto
|
|
.endif
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
post-extract:
|
|
# cleanup files not used on this platform
|
|
@${FIND} ${WRKDIR} -type f \( -name 'NWGNU*' -o -name '*.ds?' -o -name '*.dep' -o -name '*.mak' -o -name '*.win' \) -delete
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} -e 's/OSVERSION/${OSVERSION}/g' \
|
|
${APR_WRKDIR}/configure
|
|
@${REINPLACE_CMD} -e '/recursive:/s/$$/ .MAKE/' \
|
|
${APR_WRKDIR}/build/apr_rules.mk.in
|
|
|
|
do-configure:
|
|
@${ECHO_MSG} "# ===> ${.TARGET} apr-${APR_VERSION}"
|
|
(cd ${APR_WRKDIR} && \
|
|
${SETENV} ${APR_CONF_ENV} ./configure ${APR_CONF_ARGS} ${CONFIGURE_ARGS})
|
|
@${ECHO_MSG} "# ===> ${.TARGET} apr-util-${APU_VERSION}"
|
|
(cd ${APU_WRKDIR} && \
|
|
${SETENV} ${APU_CONF_ENV} ./configure ${APU_CONF_ARGS} ${CONFIGURE_ARGS})
|
|
|
|
do-build:
|
|
@${ECHO_MSG} "# ===> ${.TARGET} apr-${APR_VERSION}"
|
|
(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${_MAKE_JOBS})
|
|
@${ECHO_MSG} "# ===> ${.TARGET} apr-util-${APU_VERSION}"
|
|
(cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${_MAKE_JOBS})
|
|
|
|
pre-install:
|
|
# always create the modules directory
|
|
@${MKDIR} ${STAGEDIR}${PREFIX}/lib/apr-util-1
|
|
${ECHO} "keep me" > ${STAGEDIR}${PREFIX}/lib/apr-util-1/.keep.me
|
|
|
|
do-install:
|
|
@${ECHO_MSG} "# ===> ${.TARGET} apr-${APR_VERSION}"
|
|
(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${INSTALL_TARGET} ${MAKE_ARGS})
|
|
@${ECHO_MSG} "# ===> ${.TARGET} apr-util-${APU_VERSION}"
|
|
(cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${INSTALL_TARGET} ${MAKE_ARGS})
|
|
|
|
-${FIND} ${STAGEDIR}${PREFIX}/lib/ -name \*.so | ${XARGS} ${STRIP_CMD}
|
|
|
|
do-test:
|
|
@${ECHO_MSG} "# ===> ${.TARGET} apr-${APR_VERSION}"
|
|
-(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} test)
|
|
@${ECHO_MSG} "# ===> ${.TARGET} apr-util-${APU_VERSION}"
|
|
-(cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} test)
|
|
|
|
#regression-test: test
|
|
|
|
rpfl: configure
|
|
# maintainer only: strip PID from logs (better compare)
|
|
${SED} -i '' -E 's|^configure:[0-9]+:|configure:_pid_:|g' ${APR_WRKDIR}/config.log
|
|
${SED} -i '' -E 's|^configure:[0-9]+:|configure:_pid_:|g' ${APU_WRKDIR}/config.log
|
|
|
|
.include <bsd.port.post.mk>
|