Ravenports generated: 14 Aug 2023 00:53
[ravenports.git] / bucket_CB / apr1
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               apr1
4 VERSION=                1.7.4
5 KEYWORDS=               devel
6 VARIANTS=               standard
7 SDESC[standard]=        Apache Portable Runtime library
8 HOMEPAGE=               https://apr.apache.org/
9 CONTACT=                nobody
10
11 DOWNLOAD_GROUPS=        main
12 SITES[main]=            APACHE/apr
13 DISTFILE[1]=            apr-1.7.4.tar.gz:main
14 DF_INDEX=               1
15 SPKGS[standard]=        complete
16                         primary
17                         dev
18
19 OPTIONS_AVAILABLE=      none
20 OPTIONS_STANDARD=       none
21
22 USES=                   cpe iconv libtool ssl
23
24 DISTNAME=               apr-1.7.4
25
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
31 LICENSE_SCHEME=         solo
32
33 CPE_PRODUCT=            portable_runtime
34 CPE_VENDOR=             apache
35
36 MUST_CONFIGURE=         gnu
37 CONFIGURE_ARGS=         --with-installbuilddir={{PREFIX}}/share/apr1/build-1
38                         --enable-threads
39                         --enable-posix-shm
40                         --enable-ipv6
41                         --with-devrandom
42                         --with-crypto
43                         --with-openssl={{OPENSSLBASE}}
44
45 PLIST_SUB=              SOVERSION=0.7.4
46                         SOMAJOR=0
47
48 CPPFLAGS=               -I{{OPENSSLINC}}
49 LDFLAGS=                -L{{OPENSSLLIB}}
50
51 post-patch:
52         ${REINPLACE_CMD} -e 's/OSVERSION/${OSVERSION}/g' \
53                 ${WRKSRC}/configure
54         ${REINPLACE_CMD} -e '/recursive:/s/$$/ .MAKE/' \
55                 ${WRKSRC}/build/apr_rules.mk.in
56
57 post-install:
58         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libapr-1.so
59
60 post-extract:
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
63
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.
68
69
70 [FILE:95:distinfo]
71 a4137dd82a185076fa50ba54232d920a17c6469c30b0876569e1c2a05ff311d9      1122147 apr-1.7.4.tar.gz
72
73
74 [FILE:83:manifests/plist.primary]
75 bin/apr-1-config
76 lib/
77  apr.exp
78  libapr-1.so.%%SOMAJOR%%
79  libapr-1.so.%%SOVERSION%%
80
81
82 [FILE:754:manifests/plist.dev]
83 include/apr-1/
84  apr.h
85  apr_allocator.h
86  apr_atomic.h
87  apr_cstr.h
88  apr_dso.h
89  apr_encode.h
90  apr_env.h
91  apr_errno.h
92  apr_escape.h
93  apr_file_info.h
94  apr_file_io.h
95  apr_fnmatch.h
96  apr_general.h
97  apr_getopt.h
98  apr_global_mutex.h
99  apr_hash.h
100  apr_inherit.h
101  apr_lib.h
102  apr_mmap.h
103  apr_network_io.h
104  apr_perms_set.h
105  apr_poll.h
106  apr_pools.h
107  apr_portable.h
108  apr_proc_mutex.h
109  apr_random.h
110  apr_ring.h
111  apr_shm.h
112  apr_signal.h
113  apr_skiplist.h
114  apr_strings.h
115  apr_support.h
116  apr_tables.h
117  apr_thread_cond.h
118  apr_thread_mutex.h
119  apr_thread_proc.h
120  apr_thread_rwlock.h
121  apr_time.h
122  apr_user.h
123  apr_version.h
124  apr_want.h
125 lib/
126  libapr-1.a
127  libapr-1.so
128 lib/pkgconfig/apr-1.pc
129 share/apr1/build-1/
130  apr_rules.mk
131  libtool
132  make_exports.awk
133  make_var_export.awk
134  mkdir.sh
135
136
137 [FILE:876:patches/patch-configure]
138 --- configure.orig      2023-04-13 02:08:42 UTC
139 +++ configure
140 @@ -8438,11 +8438,7 @@ if test "x$apr_preload_done" != "xyes" ;
141      apr_lock_method="USE_FLOCK_SERIALIZE"
142    fi
143  
144 -        if test -x /sbin/sysctl; then
145 -            os_version=`/sbin/sysctl -n kern.osreldate`
146 -        else
147 -            os_version=000000
148 -        fi
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
154  # comparisons.
155  case $host in
156      *freebsd*)
157 -        if test -x /sbin/sysctl; then
158 -            os_version=`/sbin/sysctl -n kern.osreldate`
159 -        else
160 -            os_version=000000
161 -        fi
162 +            os_version="OSVERSION"
163          ;;
164      *linux*)
165          os_major=`uname -r | sed -e 's/\([1-9][0-9]*\)\..*/\1/'`
166
167
168 [FILE:3025:freebsd/patch-poll_unix_kqueue.c]
169 # upstram PR: https://bz.apache.org/bugzilla/show_bug.cgi?id=59914
170 # FreeBSD PR: 211430
171 ========================================================================
172 --- poll/unix/kqueue.c.orig     2022-01-19 23:17:18 UTC
173 +++ poll/unix/kqueue.c
174 @@ -25,21 +25,40 @@
175  
176  #ifdef HAVE_KQUEUE
177  
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)
181  {
182      apr_int16_t rv = 0;
183  
184 -    if (event == EVFILT_READ)
185 -        rv |= APR_POLLIN;
186 -    else if (event == EVFILT_WRITE)
187 -        rv |= APR_POLLOUT;
188 -    if (flags & EV_EOF)
189 -        rv |= APR_POLLHUP;
190 -    /* APR_POLLPRI, APR_POLLERR, and APR_POLLNVAL are not handled by this
191 -     * implementation.
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.
195       */
196 +    if (event == EVFILT_READ) {
197 +       if (data > 0 || fflags == 0)
198 +           rv |= APR_POLLIN;
199 +       else
200 +           rv |= APR_POLLERR;
201 +        /*
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.
205 +         *
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.
211 +        */
212 +       if ((flags & EV_EOF) != 0 && fflags != ECONNREFUSED &&
213 +           fflags != ENETUNREACH && fflags != EHOSTUNREACH)
214 +           rv |= APR_POLLHUP;
215 +    } else if (event == EVFILT_WRITE) {
216 +       if (data > 0 || fflags == 0)
217 +           rv |= APR_POLLOUT;
218 +       else
219 +           rv |= APR_POLLERR;
220 +    }
221      return rv;
222  }
223  
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);
232                  j++;
233              }
234          }
235 @@ -478,7 +499,9 @@ static apr_status_t impl_pollcb_poll(apr
236              }
237  
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);
243              
244              rv = func(baton, pollfd);
245              
246