freebsd-ports/devel/apr1/Makefile
Alexey Dokuchaev 936a36e30d Update `databases/gdbm' to version 1.18.1, an important bugfix release
which restores compatibility with old databases (version 1.8) and some
later versions which were built without mmap(2) support.  Due to shlib
version change, bump port revisions of the consumer ports.

PR:		233059
Exp-run by:	antoine
Approved by:	maintainer (johans, numerous timeouts)
2018-11-11 15:38:50 +00:00

179 lines
5.7 KiB
Makefile

# Created by: Garrett Rooney <rooneg@electricjellyfish.net>
# $FreeBSD$
PORTNAME= apr
PORTVERSION= ${APR_VERSION}.${APU_VERSION}
PORTREVISION= 1
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.6.5
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>
.if ${PORT_OPTIONS:MMYSQL} && ${MYSQL_VER} == 80
BROKEN= Does not build with MySQL 8.0, see https://bz.apache.org/bugzilla/show_bug.cgi?id=62631
.endif
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>