1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
7 SDESC[standard]= Apache Portable Runtime library
8 HOMEPAGE= https://apr.apache.org/
12 SITES[main]= APACHE/apr
13 DISTFILE[1]= apr-1.7.0.tar.gz:main
15 SPKGS[standard]= single
17 OPTIONS_AVAILABLE= none
18 OPTIONS_STANDARD= none
20 USES= cpe iconv libtool ssl
24 CPE_PRODUCT= portable_runtime
28 CONFIGURE_ARGS= --with-installbuilddir={{PREFIX}}/share/apr1/build-1
34 --with-openssl={{OPENSSLBASE}}
36 PLIST_SUB= SOVERSION=0.7.0
39 CPPFLAGS= -I{{OPENSSLINC}}
40 LDFLAGS= -L{{OPENSSLLIB}}
43 ${REINPLACE_CMD} -e 's/OSVERSION/${OSVERSION}/g' \
45 ${REINPLACE_CMD} -e '/recursive:/s/$$/ .MAKE/' \
46 ${WRKSRC}/build/apr_rules.mk.in
49 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libapr-1.so
52 # cleanup files not used on this platform
53 ${FIND} ${WRKDIR} -type f \( -name 'NWGNU*' -o -name '*.ds?' -o -name '*.dep' -o -name '*.mak' -o -name '*.win' \) -delete
55 [FILE:203:descriptions/desc.single]
56 The Apache Portable Runtime is a library of C data structures and routines,
57 forming a system portability layer that covers as many operating systems as
58 possible, including Unices, Win32, BeOS, and OS/2.
62 48e9dbf45ae3fdc7b491259ffb6ccf7d63049ffacbc1c0977cced095e4c2d5a2 1093896 apr-1.7.0.tar.gz
65 [FILE:832:manifests/plist.single]
113 libapr-1.so.%%SOMAJOR%%
114 libapr-1.so.%%SOVERSION%%
115 lib/pkgconfig/apr-1.pc
124 [FILE:876:patches/patch-configure]
125 --- configure.orig 2017-06-09 12:56:21 UTC
127 @@ -6675,11 +6675,7 @@ if test "x$apr_preload_done" != "xyes" ;
128 apr_lock_method="USE_FLOCK_SERIALIZE"
131 - if test -x /sbin/sysctl; then
132 - os_version=`/sbin/sysctl -n kern.osreldate`
136 + os_version="OSVERSION"
137 # 502102 is when libc_r switched to libpthread (aka libkse).
138 if test $os_version -ge "502102"; then
139 apr_cv_pthreads_cflags="none"
140 @@ -19392,11 +19388,7 @@ fi
144 - if test -x /sbin/sysctl; then
145 - os_version=`/sbin/sysctl -n kern.osreldate`
149 + os_version="OSVERSION"
152 os_major=`uname -r | sed -e 's/\([1-9][0-9]*\)\..*/\1/'`
155 [FILE:3104:freebsd/patch-poll_unix_kqueue.c]
156 # upstram PR: https://bz.apache.org/bugzilla/show_bug.cgi?id=59914
158 ========================================================================
159 --- poll/unix/kqueue.c.orig 2015-03-20 01:34:07 UTC
160 +++ poll/unix/kqueue.c
165 -static apr_int16_t get_kqueue_revent(apr_int16_t event, apr_int16_t flags)
166 +static apr_int16_t get_kqueue_revent(apr_int16_t event, apr_int16_t flags,
167 + int fflags, intptr_t data)
171 - if (event == EVFILT_READ)
173 - else if (event == EVFILT_WRITE)
175 - if (flags & EV_EOF)
177 - /* APR_POLLPRI, APR_POLLERR, and APR_POLLNVAL are not handled by this
179 + /* APR_POLLPRI and APR_POLLNVAL are not handled by this implementation.
180 * TODO: See if EV_ERROR + certain system errors in the returned data field
181 * should map to APR_POLLNVAL.
183 + if (event == EVFILT_READ) {
184 + if (data > 0 || fflags == 0)
189 + * Don't return POLLHUP if connect fails. Apparently Linux
190 + * does not, and this is expected by serf in order for IPv6 to
191 + * IPv4 or multihomed host fallback to work.
193 + * ETIMEDOUT is ambiguous here since we don't know if a
194 + * connection was established. We don't want to return
195 + * POLLHUP here if the connection attempt timed out, but
196 + * we do if the connection was successful but later dropped.
197 + * For now, favor the latter.
199 + if ((flags & EV_EOF) != 0 && fflags != ECONNREFUSED &&
200 + fflags != ENETUNREACH && fflags != EHOSTUNREACH)
202 + } else if (event == EVFILT_WRITE) {
203 + if (data > 0 || fflags == 0)
211 @@ -290,7 +309,9 @@ static apr_status_t impl_pollset_poll(ap
212 pollset->p->result_set[j] = fd;
213 pollset->p->result_set[j].rtnevents =
214 get_kqueue_revent(pollset->p->ke_set[i].filter,
215 - pollset->p->ke_set[i].flags);
216 + pollset->p->ke_set[i].flags,
217 + pollset->p->ke_set[i].fflags,
218 + pollset->p->ke_set[i].data);
222 @@ -471,7 +492,9 @@ static apr_status_t impl_pollcb_poll(apr
223 apr_pollfd_t *pollfd = (apr_pollfd_t *)(pollcb->pollset.ke[i].udata);
225 pollfd->rtnevents = get_kqueue_revent(pollcb->pollset.ke[i].filter,
226 - pollcb->pollset.ke[i].flags);
227 + pollcb->pollset.ke[i].flags,
228 + pollcb->pollset.ke[i].fflags,
229 + pollcb->pollset.ke[i].data);
231 rv = func(baton, pollfd);