freebsd-ports/devel/apr1/Makefile
Stefan Eßer b7f05445c0 Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.

Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.

There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.

This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.

There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.

The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.

Approved by:		portmgr (tcberner)
2022-09-07 23:10:59 +02:00

173 lines
5.4 KiB
Makefile

PORTNAME= apr
PORTVERSION= ${APR_VERSION}.${APU_VERSION}
PORTREVISION= 2
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
WWW= https://apr.apache.org/
LICENSE= APACHE20
BUILD_DEPENDS+= automake>=1.16.1:devel/automake
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= BDB GDBM SSL
APU_DESC= Database support
CRYPTO_DESC= Cryptography provider
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
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} && \
autoreconf -f -i && \
${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>