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.4.tar.gz:main
15 SPKGS[standard]= complete
19 OPTIONS_AVAILABLE= none
20 OPTIONS_STANDARD= none
22 USES= cpe iconv libtool ssl
26 LICENSE= APACHE20:primary
27 LICENSE_TERMS= primary:{{WRKDIR}}/TERMS
28 LICENSE_FILE= APACHE20:{{WRKSRC}}/LICENSE
29 LICENSE_AWK= TERMS:"^$$"
30 LICENSE_SOURCE= TERMS:{{WRKSRC}}/include/apr.h.in
33 CPE_PRODUCT= portable_runtime
37 CONFIGURE_ARGS= --with-installbuilddir={{PREFIX}}/share/apr1/build-1
43 --with-openssl={{OPENSSLBASE}}
45 PLIST_SUB= SOVERSION=0.7.4
48 CPPFLAGS= -I{{OPENSSLINC}}
49 LDFLAGS= -L{{OPENSSLLIB}}
52 ${REINPLACE_CMD} -e 's/OSVERSION/${OSVERSION}/g' \
54 ${REINPLACE_CMD} -e '/recursive:/s/$$/ .MAKE/' \
55 ${WRKSRC}/build/apr_rules.mk.in
58 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libapr-1.so
61 # cleanup files not used on this platform
62 ${FIND} ${WRKDIR} -type f \( -name 'NWGNU*' -o -name '*.ds?' -o -name '*.dep' -o -name '*.mak' -o -name '*.win' \) -delete
64 [FILE:203:descriptions/desc.primary]
65 The Apache Portable Runtime is a library of C data structures and routines,
66 forming a system portability layer that covers as many operating systems as
67 possible, including Unices, Win32, BeOS, and OS/2.
71 a4137dd82a185076fa50ba54232d920a17c6469c30b0876569e1c2a05ff311d9 1122147 apr-1.7.4.tar.gz
74 [FILE:83:manifests/plist.primary]
78 libapr-1.so.%%SOMAJOR%%
79 libapr-1.so.%%SOVERSION%%
82 [FILE:754:manifests/plist.dev]
128 lib/pkgconfig/apr-1.pc
137 [FILE:876:patches/patch-configure]
138 --- configure.orig 2023-04-13 02:08:42 UTC
140 @@ -8438,11 +8438,7 @@ if test "x$apr_preload_done" != "xyes" ;
141 apr_lock_method="USE_FLOCK_SERIALIZE"
144 - if test -x /sbin/sysctl; then
145 - os_version=`/sbin/sysctl -n kern.osreldate`
149 + os_version="OSVERSION"
150 # 502102 is when libc_r switched to libpthread (aka libkse).
151 if test $os_version -ge "502102"; then
152 apr_cv_pthreads_cflags="none"
153 @@ -21810,11 +21806,7 @@ fi
157 - if test -x /sbin/sysctl; then
158 - os_version=`/sbin/sysctl -n kern.osreldate`
162 + os_version="OSVERSION"
165 os_major=`uname -r | sed -e 's/\([1-9][0-9]*\)\..*/\1/'`
168 [FILE:3025:freebsd/patch-poll_unix_kqueue.c]
169 # upstram PR: https://bz.apache.org/bugzilla/show_bug.cgi?id=59914
171 ========================================================================
172 --- poll/unix/kqueue.c.orig 2022-01-19 23:17:18 UTC
173 +++ poll/unix/kqueue.c
178 -static apr_int16_t get_kqueue_revent(apr_int16_t event, apr_int16_t flags)
179 +static apr_int16_t get_kqueue_revent(apr_int16_t event, apr_int16_t flags,
180 + int fflags, intptr_t data)
184 - if (event == EVFILT_READ)
186 - else if (event == EVFILT_WRITE)
188 - if (flags & EV_EOF)
190 - /* APR_POLLPRI, APR_POLLERR, and APR_POLLNVAL are not handled by this
192 + /* APR_POLLPRI and APR_POLLNVAL are not handled by this implementation.
193 * TODO: See if EV_ERROR + certain system errors in the returned data field
194 * should map to APR_POLLNVAL.
196 + if (event == EVFILT_READ) {
197 + if (data > 0 || fflags == 0)
202 + * Don't return POLLHUP if connect fails. Apparently Linux
203 + * does not, and this is expected by serf in order for IPv6 to
204 + * IPv4 or multihomed host fallback to work.
206 + * ETIMEDOUT is ambiguous here since we don't know if a
207 + * connection was established. We don't want to return
208 + * POLLHUP here if the connection attempt timed out, but
209 + * we do if the connection was successful but later dropped.
210 + * For now, favor the latter.
212 + if ((flags & EV_EOF) != 0 && fflags != ECONNREFUSED &&
213 + fflags != ENETUNREACH && fflags != EHOSTUNREACH)
215 + } else if (event == EVFILT_WRITE) {
216 + if (data > 0 || fflags == 0)
224 @@ -293,7 +312,9 @@ static apr_status_t impl_pollset_poll(ap
225 pollset->p->result_set[j] = *fd;
226 pollset->p->result_set[j].rtnevents =
227 get_kqueue_revent(pollset->p->ke_set[i].filter,
228 - pollset->p->ke_set[i].flags);
229 + pollset->p->ke_set[i].flags,
230 + pollset->p->ke_set[i].fflags,
231 + pollset->p->ke_set[i].data);
235 @@ -478,7 +499,9 @@ static apr_status_t impl_pollcb_poll(apr
238 pollfd->rtnevents = get_kqueue_revent(pollcb->pollset.ke[i].filter,
239 - pollcb->pollset.ke[i].flags);
240 + pollcb->pollset.ke[i].flags,
241 + pollcb->pollset.ke[i].fflags,
242 + pollcb->pollset.ke[i].data);
244 rv = func(baton, pollfd);