Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Jun 2013 20:47:00 +0200
From:      Tijl Coosemans <tijl@FreeBSD.org>
To:        olli hauer <ohauer@gmx.de>
Cc:        freebsd-apache@freebsd.org
Subject:   Re: Splitting up and simplifying devel/apr1
Message-ID:  <51C742A4.1070709@FreeBSD.org>
In-Reply-To: <51C58174.20209@gmx.de>
References:  <51C1AFA7.9080700@FreeBSD.org> <51C58174.20209@gmx.de>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
------enig2EIWEEDJSAQMVHUJBNSTJ
Content-Type: multipart/mixed;
 boundary="------------000203020007050305010807"

This is a multi-part message in MIME format.
--------------000203020007050305010807
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: quoted-printable

On 2013-06-22 12:50, olli hauer wrote:
>> In the discussion on src-committers about svnlite it was mentioned tha=
t
>> devel/subversion is too heavy to build, pulling in perl, python and
>> all the autotools. I've been going over its dependencies and it turns
>> out these are all pulled in by devel/apr1, so I've been looking into
>> simplifying that port.
>>
>> It seems the port can easily be split up into two simple ports, one fo=
r
>> the APR library and one for the APR Utility library. There's no need
>> for autotools, libtool, python, etc.
>>
>> I've attached a patch that creates devel/apr and devel/apr-util.
>> Please take a look at them and let me know what you think.
>> Another patch can then remove devel/apr1 and update all ports that
>> depend on it, but before I spend more time on this, do you agree this
>=20
> On upstream apr and apr-util are already merged but until now are
> delivered separate.
>=20
> In the past they had also sometimes update to apr2 snapshots where
> they delivered everything in one dist file.
>=20
> In case there is no planning on upstream to merge the two distfiles
> into one like the apr2 snapshots then I think we could spend some
> time and separate the ports.
>=20
> I will ask on the dev@apr.apache mailing list if there is a road map
> (I cannot find one on the apr public sites).

I've seen the mails on the apr mailing list. Since apr2 includes apr-util=

it's probably easier to keep apr1 and apr-util in one port too. Then
there's no need to update and rebuild dependent ports either.

I've attached a new patch for devel/apr1. It contains the following chang=
es:

- Move include <bsd.port.options.mk> down.
- Remove USE_AUTOTOOLS and USE_PYTHON_BUILD.
- Use pathfix to patch pkgconfig paths. (replaces a post-patch command)
- Add CFLAGS, CPPFLAGS and LDFLAGS to CONFIGURE_ENV. They are set for
  some options.
- Append include dirs to CPPFLAGS instead of CFLAGS.
- Remove files/patch-apr_hints.m4. Instead replace any evaluation of
  $os_version with ${OSVERSION} directly in configure script.
- Remove patching of gen-build.py because we don't run it anymore.
- Remove patching of "void main" to "int main". According to the commit l=
og
  it was added for Clang, but Clang no longer seems to complain about it.=

- Patch -lpthread directly in the configure script.
- Remove the run-autotools target. Running of configure has been moved to=

  the do-configure target.
- Replace "cd <dir>; <command>" with "(cd <dir> && <command>)" as
  recommended by the make manpage in current.
- Add ${_MAKE_JOBS} in do-build.
- Rename the test target to regression-test because that's what pointyhat=

  runs.
- Remove debug_autoconf target because we don't run autotools anymore.


--------------000203020007050305010807
Content-Type: text/plain; charset=ISO-8859-15;
 name="apr1.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="apr1.patch"

Index: devel/apr1/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- devel/apr1/Makefile	(revision 321639)
+++ devel/apr1/Makefile	(working copy)
@@ -29,18 +29,15 @@ NDBM_DESC=3D	NDBM support
 SSL_DESC=3D	OpenSSL crypto driver
 NSS_DESC=3D	NSS crypto driver
=20
-.include <bsd.port.options.mk>
-
 APR_VERSION=3D	1.4.6
 APU_VERSION=3D	1.4.1
=20
-USES=3D		iconv
-USE_AUTOTOOLS=3D	automake autoconf libtool:env
-USE_PYTHON_BUILD=3D	-2.7
-USE_LDCONFIG=3D		yes
-GNU_CONFIGURE=3D		yes
+USES=3D		iconv pathfix
+USE_LDCONFIG=3D	yes
+GNU_CONFIGURE=3D	yes
=20
-CONFIGURE_ENV=3D	CC=3D"${CC}"
+CONFIGURE_ENV=3D	CC=3D"${CC}" CFLAGS=3D"${CFLAGS}" CPPFLAGS=3D"${CPPFLAG=
S}" \
+		LDFLAGS=3D"${LDFLAGS}"
=20
 NO_WRKSUBDIR=3D	yes
 APR_WRKDIR=3D	${WRKDIR}/apr-${APR_VERSION}
@@ -55,6 +52,8 @@ APU_CONF_ARGS=3D	--with-apr=3D${APR_WRKDIR}=20
 		--with-expat=3D${LOCALBASE} \
 		--with-iconv=3D${LOCALBASE}
=20
+.include <bsd.port.options.mk>
+
 ########## APR Options
 .if ${PORT_OPTIONS:MTHREADS}
 APR_CONF_ARGS+=3D	--enable-threads
@@ -131,7 +130,7 @@ PLIST_SUB+=3D	MYSQL=3D""
 USE_MYSQL=3D	YES
 APU_CONF_ARGS+=3D	--with-mysql=3D${LOCALBASE}
 CONFIGURE_ENV+=3D	LIBS=3D"${LIBS}"
-CFLAGS+=3D	-I${LOCALBASE}/include -I${LOCALBASE}/include/mysql -DHAVE_MY=
SQL_H
+CPPFLAGS+=3D	-I${LOCALBASE}/include -I${LOCALBASE}/include/mysql -DHAVE_=
MYSQL_H
 LDFLAGS+=3D	-L${LOCALBASE}/lib/mysql
 .else
 PLIST_SUB+=3D	MYSQL=3D"@comment "
@@ -168,7 +167,7 @@ APU_CONF_ARGS+=3D	--with-crypto
 APU_EXTRAS=3D	yes
 USE_OPENSSL=3D	yes
 PLIST_SUB+=3D	SSL=3D""
-CFLAGS+=3D	-I${OPENSSLINC}
+CPPFLAGS+=3D	-I${OPENSSLINC}
 LDFLAGS+=3D	-L${OPENSSLLIB}
 APU_CONF_ARGS+=3D	--with-openssl=3D${OPENSSLBASE}
 .else
@@ -182,7 +181,7 @@ APU_CONF_ARGS+=3D	--without-openssl
 APU_EXTRAS=3D	yes
 PLIST_SUB+=3D	NSS=3D""
 LIB_DEPENDS+=3D	nss3:${PORTSDIR}/security/nss
-CFLAGS+=3D	-I${LOCALBASE}/include/nss
+CPPFLAGS+=3D	-I${LOCALBASE}/include/nss
 LDFLAGS+=3D	-L${LOCALBASE}/lib/nss
 APU_CONF_ARGS+=3D	--with-nss=3D${LOCALBASE}
 .else
@@ -195,66 +194,31 @@ PLIST_SUB+=3D	APU_EXTRAS=3D""
 PLIST_SUB+=3D	APU_EXTRAS=3D"@comment "
 .endif
=20
-post-patch: .SILENT
-	${REINPLACE_CMD} -e 's/OSVERSION/${OSVERSION}/g' \
-		${APR_WRKDIR}/build/apr_hints.m4
-	${FIND} ${APR_WRKDIR} ${APU_WRKDIR} -name "Makefile.in*" | ${XARGS} ${R=
EINPLACE_CMD} -e \
-		's|[(]libdir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g'
-	${REINPLACE_CMD} -e '1 s/python/${PYTHON_VERSION}/' \
-		${APR_WRKDIR}/build/gen-build.py
-	${REINPLACE_CMD} -e 's/void main/int main/' ${APR_WRKDIR}/build/apr_net=
work.m4
+post-patch:
+	@${REINPLACE_CMD} -e 's/$$os_version/${OSVERSION}/g' \
+		${APR_WRKDIR}/configure
 # Fix pthread: Please do not remove, else apr-1-config returns wrong val=
ues
-	${REINPLACE_CMD} -e 's/-lpthread/-pthread/g' \
-		${APR_WRKDIR}/build/apr_threads.m4 ${APR_WRKDIR}/build/apr_hints.m4 \
-		${APU_WRKDIR}/build/apu-conf.m4
-
-run-autotools::
-	cd ${APR_WRKDIR} ; \
-		${SETENV} ${CONFIGURE_ENV} ${SH} ./buildconf
-	cd ${APU_WRKDIR} ; \
-		${RM} -fr xml/expat
-	cd ${APU_WRKDIR} ; \
-		${SETENV} ${CONFIGURE_ENV} ${SH} ./buildconf \
-		--with-apr=3D${APR_WRKDIR}
-	${REINPLACE_CMD} -e 's/ gsed//g' \
-		${APR_WRKDIR}/build/libtool.m4 \
+	@${REINPLACE_CMD} -e 's/-lpthread/${PTHREAD_LIBS}/g' \
 		${APR_WRKDIR}/configure
-	cd ${APR_WRKDIR}; \
-		${SETENV} ${CONFIGURE_ENV} ${SH} \
-		./configure ${CONFIGURE_ARGS} ${APR_CONF_ARGS}
-	cd ${APU_WRKDIR}; \
-		${SETENV} ${CONFIGURE_ENV} CFLAGS=3D"${CFLAGS}" ${SH} \
-		./configure ${CONFIGURE_ARGS} ${APU_CONF_ARGS}
=20
 do-configure:
-	${DO_NADA}
+	@(cd ${APR_WRKDIR} && \
+		${SETENV} ${CONFIGURE_ENV} \
+		./configure ${CONFIGURE_ARGS} ${APR_CONF_ARGS})
+	@(cd ${APU_WRKDIR} && \
+		${SETENV} ${CONFIGURE_ENV} \
+		./configure ${CONFIGURE_ARGS} ${APU_CONF_ARGS})
=20
 do-build:
-	cd ${APR_WRKDIR}; ${SETENV} ${MAKE_ENV} ${MAKE}
-	cd ${APU_WRKDIR}; ${SETENV} ${MAKE_ENV} ${MAKE}
+	@(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${_MAKE_JOBS})
+	@(cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${_MAKE_JOBS})
=20
 do-install:
-	cd ${APR_WRKDIR}; ${SETENV} ${MAKE_ENV} ${MAKE} ${INSTALL_TARGET}
-	cd ${APU_WRKDIR}; ${SETENV} ${MAKE_ENV} ${MAKE} ${INSTALL_TARGET}
+	@(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${INSTALL_TARGET})
+	@(cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${INSTALL_TARGET})
=20
-test: build
-	-@(cd ${APR_WRKDIR}; ${MAKE} test)
-	-@(cd ${APU_WRKDIR}; ${MAKE} test)
-
-#regression-test: test
-
-debug_autoconf:
-	@${ECHO} "LIBTOOL: ${LIBTOOL_VERSION}"
-	@${ECHO} "AUTOCONF: dev ${dev_acver} cur ${cur_acver} use ${use_acver}"=

-	@${ECHO} "AUTOMAKE: dev ${dev_amver} cur ${cur_amver} use ${use_amver}"=

-	@${ECHO} "AUTOCONF_DIR: ${AUTOCONF_DIR}"
-	@${ECHO} "BUILD_DEPENDS: ${BUILD_DEPENDS}"
-	@${ECHO} "ACLOCAL_DIR: ${ACLOCAL_DIR}"
-	@${ECHO} "LIBTOOLFILES: ${LIBTOOLFILES}"
-	@${ECHO} "LIBTOOL_SHAREDIR: ${LIBTOOL_SHAREDIR}"
-	@${ECHO} "LIBTOOL_LIBEXECDIR: ${LIBTOOL_LIBEXECDIR}"
-	@${ECHO} "LIBTOOL_M4: ${LIBTOOL_M4}"
-	@${ECHO} "${SETENV} ${CONFIGURE_ENV} ${SH} ./configure ${CONFIGURE_ARGS=
} ${APR_CONF_ARGS}"
-	@${ECHO} "${SETENV} ${CONFIGURE_ENV} CFLAGS=3D"${CFLAGS}" ${SH} ./confi=
gure ${CONFIGURE_ARGS} ${APR_UTIL_CONF_ARGS}"
+regression-test: build
+	@(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} test)
+	@(cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} test)
=20
 .include <bsd.port.mk>
Index: devel/apr1/files/patch-apr_hints.m4
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- devel/apr1/files/patch-apr_hints.m4	(revision 321639)
+++ devel/apr1/files/patch-apr_hints.m4	(working copy)
@@ -1,15 +0,0 @@
---- apr-1.4.6/build/apr_hints.m4.orig	Wed Oct 27 11:12:28 2004
-+++ apr-1.4.6/build/apr_hints.m4	Wed Oct 27 11:25:32 2004
-@@ -159,11 +159,7 @@
- 	;;
-     *-freebsd*)
-         APR_SETIFNULL(apr_lock_method, [USE_FLOCK_SERIALIZE])
--        if test -x /sbin/sysctl; then
--            os_version=3D`/sbin/sysctl -n kern.osreldate`
--        else
--            os_version=3D000000
--        fi
-+        os_version=3D"OSVERSION"
-         # 502102 is when libc_r switched to libpthread (aka libkse).
-         if test $os_version -ge "502102"; then
-           apr_cv_pthreads_cflags=3D"none"

--------------000203020007050305010807--

------enig2EIWEEDJSAQMVHUJBNSTJ
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (FreeBSD)

iF4EAREIAAYFAlHHQqkACgkQfoCS2CCgtisiRwEAhahA2B8koPpCPw+Idekq+u+f
YUHQAl0ggxOqyQR8OD0A/j/FVQ48pGSrHOtRyxwtEZRLNGiKY7P7bYxcSTvey9rK
=dMLu
-----END PGP SIGNATURE-----

------enig2EIWEEDJSAQMVHUJBNSTJ--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51C742A4.1070709>