aboutsummaryrefslogtreecommitdiffstats
path: root/devel/apr1
diff options
context:
space:
mode:
authorohauer <ohauer@FreeBSD.org>2014-03-23 05:14:41 +0800
committerohauer <ohauer@FreeBSD.org>2014-03-23 05:14:41 +0800
commitace399466f2c0587461fc2bae6a4a91c747a8622 (patch)
tree600a858f12de666247b25837392efc99b021e63d /devel/apr1
parenta93a3c44c0b3d9446cb9b8442ba79d1d1a0e81e9 (diff)
downloadfreebsd-ports-graphics-ace399466f2c0587461fc2bae6a4a91c747a8622.tar.gz
freebsd-ports-graphics-ace399466f2c0587461fc2bae6a4a91c747a8622.tar.zst
freebsd-ports-graphics-ace399466f2c0587461fc2bae6a4a91c747a8622.zip
- update to apr-1.5.0
- add fix for FreeBSD 10 obtained from http://svn.apache.org/viewvc?view=revision&revision=1551672 - bump USE_BDB=42+ -> USE_BDB=48+ [1] - add entry to UPDATING Changes for APR 1.5.0 (shortened) http://www.apache.org/dist/apr/CHANGES-APR-1.5 *) Add apr_sockaddr_is_wildcard() to check if a socket address refers to the wildcard address for the protocol family (e.g., 0.0.0.0/INADDR_ANY for IPv4). [Jeff Trawick] *) Add the apr_escape interface. [Graham Leggett] *) Add apr_skiplist family. [Jim Jagielski] *) Add the apr_table_getm() call, which transparently handles the merging of keys with multiple values. [Graham Leggett] *) Add apr_hash_this_key(), apr_hash_this_key_len(), and apr_hash_this_val() for easier access to those attributes from a hash iterator. [Hyrum K. Wright <hyrum_wright mail.utexas.edu>] *) Improve platform detection by updating config.guess and config.sub. [Rainer Jung] *) apr_socket_opt_set: Add support for APR_SO_BROADCAST. PR 46389. [Armin MÃŒller <mueller itestra com>] *) Enable platform specific support for the opening of a file or pipe in non-blocking mode through the APR_FOPEN_NONBLOCK flag. [Graham Leggett] [1] requested by Pavel Timofeev, Sean Bruno with hat apache@ PR: ports/186441 PR: ports/186899
Diffstat (limited to 'devel/apr1')
-rw-r--r--devel/apr1/Makefile16
-rw-r--r--devel/apr1/distinfo4
-rw-r--r--devel/apr1/files/patch-apr-1.5.0__network_io__unix__sockets.c44
-rw-r--r--devel/apr1/files/patch-apr__configure10
-rw-r--r--devel/apr1/pkg-plist2
5 files changed, 60 insertions, 16 deletions
diff --git a/devel/apr1/Makefile b/devel/apr1/Makefile
index 7189a4ed7ac..31d596756af 100644
--- a/devel/apr1/Makefile
+++ b/devel/apr1/Makefile
@@ -26,7 +26,7 @@ NDBM_DESC= NDBM support
SSL_DESC= OpenSSL crypto driver
NSS_DESC= NSS crypto driver
-APR_VERSION= 1.4.8
+APR_VERSION= 1.5.0
APU_VERSION= 1.5.3
USES= iconv pathfix
@@ -38,7 +38,7 @@ APR_WRKDIR= ${WRKDIR}/apr-${APR_VERSION}
APU_WRKDIR= ${WRKDIR}/apr-util-${APU_VERSION}
PLIST_SUB+= SHLIB_APR_MAJOR="${SHLIB_APR_MAJOR}" SHLIB_APU_MAJOR="${SHLIB_APU_MAJOR}"
-SHLIB_APR_MAJOR= 4
+SHLIB_APR_MAJOR= 5
SHLIB_APU_MAJOR= 5
APR_CONF_ARGS= --with-installbuilddir=${DATADIR}/build-1
@@ -81,7 +81,7 @@ APU_CONF_ARGS+= --without-gdbm
.if ${PORT_OPTIONS:MBDB}
APU_EXTRAS= yes
PLIST_SUB+= BDB=""
-USE_BDB= 42+
+USE_BDB= 48+
APU_CONF_ARGS+= --with-berkeley-db=${BDB_INCLUDE_DIR}:${BDB_LIB_DIR}
.else
PLIST_SUB+= BDB="@comment "
@@ -200,19 +200,17 @@ post-patch:
do-configure:
@(cd ${APR_WRKDIR} && \
- ${SETENV} ${CONFIGURE_ENV} \
- ./configure ${CONFIGURE_ARGS} ${APR_CONF_ARGS})
+ ${SETENV} ${CONFIGURE_ENV} ./configure ${CONFIGURE_ARGS} ${APR_CONF_ARGS})
@(cd ${APU_WRKDIR} && \
- ${SETENV} ${CONFIGURE_ENV} \
- ./configure ${CONFIGURE_ARGS} ${APU_CONF_ARGS})
+ ${SETENV} ${CONFIGURE_ENV} ./configure ${CONFIGURE_ARGS} ${APU_CONF_ARGS})
do-build:
@(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${_MAKE_JOBS})
@(cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${_MAKE_JOBS})
do-install:
- @(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${INSTALL_TARGET} ${MAKE_ARGS} )
- @(cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${INSTALL_TARGET} ${MAKE_ARGS} )
+ @(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${INSTALL_TARGET} ${MAKE_ARGS})
+ @(cd ${APU_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} ${INSTALL_TARGET} ${MAKE_ARGS})
test: build
-@(cd ${APR_WRKDIR} && ${SETENV} ${MAKE_ENV} ${MAKE} test)
diff --git a/devel/apr1/distinfo b/devel/apr1/distinfo
index ff379f3d780..dbf6edd2a4f 100644
--- a/devel/apr1/distinfo
+++ b/devel/apr1/distinfo
@@ -1,4 +1,4 @@
-SHA256 (apr-1.4.8.tar.gz) = 1689e415bdfab6aaa41f07836b5dd9ed4901d22ddeb99feffdb2cee3124adf49
-SIZE (apr-1.4.8.tar.gz) = 979397
+SHA256 (apr-1.5.0.tar.gz) = 9879f02054cb22e99f605f6fdbf47f4c028af4cd4f351cf64186a7ee447f35d7
+SIZE (apr-1.5.0.tar.gz) = 1016391
SHA256 (apr-util-1.5.3.tar.gz) = 76db34cb508e346e3bf69347c29ed1500bf0b71bcc48d54271ad9d1c25703743
SIZE (apr-util-1.5.3.tar.gz) = 874462
diff --git a/devel/apr1/files/patch-apr-1.5.0__network_io__unix__sockets.c b/devel/apr1/files/patch-apr-1.5.0__network_io__unix__sockets.c
new file mode 100644
index 00000000000..8efc31b71be
--- /dev/null
+++ b/devel/apr1/files/patch-apr-1.5.0__network_io__unix__sockets.c
@@ -0,0 +1,44 @@
+Fix the inheritance of the non-blocking option across apr_socket_accept()
+on FreeBSD 10 which was introduced with APR 1.5.0 through an unlikely
+mechanism:
+
+* FreeBSD 10 introduced accept4(). APR uses accept4() where it can find it.
+ accept4() on Linux and FreeBSD 10 both have a SOCK_NONBLOCK flag, but on
+ FreeBSD 10 the SOCK_NONBLOCK is the sole determiner of whether or not the
+ connected socket is non-blocking.
+* clang is normally used on FreeBSD 10.
+* APR's configure-time check for inherited O_NONBLOCK didn't work with clang,
+ so initially the lack of inheritance across accept4() wasn't a problem.
+* APR 1.5.0 allowed the configure-time check to work with clang, exposing
+ the bad expectation about accept4() matching the accept() behavior.
+
+With FreeBSD accept4() (avail in 10+), O_NONBLOCK is not inherited
+(unlike Linux). Mimic the accept() behavior here in a way that
+may help other platforms as well.
+
+http://svn.apache.org/viewvc?view=revision&revision=1551672
+===================================================================================
+--- ./apr-1.5.0/network_io/unix/sockets.c.orig 2011-03-23 19:50:21.000000000 +0100
++++ ./apr-1.5.0/network_io/unix/sockets.c 2014-03-22 18:52:57.000000000 +0100
+@@ -207,7 +207,20 @@
+ sa.salen = sizeof(sa.sa);
+
+ #ifdef HAVE_ACCEPT4
+- s = accept4(sock->socketdes, (struct sockaddr *)&sa.sa, &sa.salen, SOCK_CLOEXEC);
++ {
++ int flags = SOCK_CLOEXEC;
++
++#if defined(SOCK_NONBLOCK) && APR_O_NONBLOCK_INHERITED
++ /* With FreeBSD accept4() (avail in 10+), O_NONBLOCK is not inherited
++ * (unlike Linux). Mimic the accept() behavior here in a way that
++ * may help other platforms.
++ */
++ if (apr_is_option_set(sock, APR_SO_NONBLOCK) == 1) {
++ flags |= SOCK_NONBLOCK;
++ }
++#endif
++ s = accept4(sock->socketdes, (struct sockaddr *)&sa.sa, &sa.salen, flags);
++ }
+ #else
+ s = accept(sock->socketdes, (struct sockaddr *)&sa.sa, &sa.salen);
+ #endif
diff --git a/devel/apr1/files/patch-apr__configure b/devel/apr1/files/patch-apr__configure
index 45cc997a0ce..e0aaf541cd5 100644
--- a/devel/apr1/files/patch-apr__configure
+++ b/devel/apr1/files/patch-apr__configure
@@ -1,6 +1,6 @@
---- ./apr-1.4.8/configure.orig 2013-06-30 12:29:38.000000000 +0200
-+++ ./apr-1.4.8/configure 2013-06-30 12:32:04.000000000 +0200
-@@ -6642,11 +6642,7 @@
+--- ./apr-1.5.0/configure.orig 2014-03-22 18:52:57.000000000 +0100
++++ ./apr-1.5.0/configure 2014-03-22 18:52:57.000000000 +0100
+@@ -6622,11 +6622,7 @@
apr_lock_method="USE_FLOCK_SERIALIZE"
fi
@@ -13,7 +13,7 @@
# 502102 is when libc_r switched to libpthread (aka libkse).
if test $os_version -ge "502102"; then
apr_cv_pthreads_cflags="none"
-@@ -18784,11 +18780,7 @@
+@@ -18812,11 +18808,7 @@
# comparisons.
case $host in
*freebsd*)
@@ -25,4 +25,4 @@
+ os_version="OSVERSION"
;;
*linux*)
- os_version=`uname -r | sed -e 's/\(.\)\.\(.\)\.\(.\).*/\1\2\3/'`
+ os_major=`uname -r | sed -e 's/\([1-9][0-9]*\)\..*/\1/'`
diff --git a/devel/apr1/pkg-plist b/devel/apr1/pkg-plist
index 2e055279f92..9e06571f2d7 100644
--- a/devel/apr1/pkg-plist
+++ b/devel/apr1/pkg-plist
@@ -13,6 +13,7 @@ include/apr-1/apr_dbm.h
include/apr-1/apr_dso.h
include/apr-1/apr_env.h
include/apr-1/apr_errno.h
+include/apr-1/apr_escape.h
include/apr-1/apr_file_info.h
include/apr-1/apr_file_io.h
include/apr-1/apr_fnmatch.h
@@ -48,6 +49,7 @@ include/apr-1/apr_sdbm.h
include/apr-1/apr_sha1.h
include/apr-1/apr_shm.h
include/apr-1/apr_signal.h
+include/apr-1/apr_skiplist.h
include/apr-1/apr_strings.h
include/apr-1/apr_strmatch.h
include/apr-1/apr_support.h