Ravenports generated: 24 Jan 2023 06:04
[ravenports.git] / bucket_CB / apr1
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               apr1
4 VERSION=                1.7.0
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.0.tar.gz:main
14 DF_INDEX=               1
15 SPKGS[standard]=        single
16
17 OPTIONS_AVAILABLE=      none
18 OPTIONS_STANDARD=       none
19
20 USES=                   cpe iconv libtool ssl
21
22 DISTNAME=               apr-1.7.0
23
24 CPE_PRODUCT=            portable_runtime
25 CPE_VENDOR=             apache
26
27 MUST_CONFIGURE=         gnu
28 CONFIGURE_ARGS=         --with-installbuilddir={{PREFIX}}/share/apr1/build-1
29                         --enable-threads
30                         --enable-posix-shm
31                         --enable-ipv6
32                         --with-devrandom
33                         --with-crypto
34                         --with-openssl={{OPENSSLBASE}}
35
36 PLIST_SUB=              SOVERSION=0.7.0
37                         SOMAJOR=0
38
39 CPPFLAGS=               -I{{OPENSSLINC}}
40 LDFLAGS=                -L{{OPENSSLLIB}}
41
42 post-patch:
43         ${REINPLACE_CMD} -e 's/OSVERSION/${OSVERSION}/g' \
44                 ${WRKSRC}/configure
45         ${REINPLACE_CMD} -e '/recursive:/s/$$/ .MAKE/' \
46                 ${WRKSRC}/build/apr_rules.mk.in
47
48 post-install:
49         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libapr-1.so
50
51 post-extract:
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
54
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.
59
60
61 [FILE:95:distinfo]
62 48e9dbf45ae3fdc7b491259ffb6ccf7d63049ffacbc1c0977cced095e4c2d5a2      1093896 apr-1.7.0.tar.gz
63
64
65 [FILE:832:manifests/plist.single]
66 bin/apr-1-config
67 include/apr-1/
68  apr.h
69  apr_allocator.h
70  apr_atomic.h
71  apr_cstr.h
72  apr_dso.h
73  apr_encode.h
74  apr_env.h
75  apr_errno.h
76  apr_escape.h
77  apr_file_info.h
78  apr_file_io.h
79  apr_fnmatch.h
80  apr_general.h
81  apr_getopt.h
82  apr_global_mutex.h
83  apr_hash.h
84  apr_inherit.h
85  apr_lib.h
86  apr_mmap.h
87  apr_network_io.h
88  apr_perms_set.h
89  apr_poll.h
90  apr_pools.h
91  apr_portable.h
92  apr_proc_mutex.h
93  apr_random.h
94  apr_ring.h
95  apr_shm.h
96  apr_signal.h
97  apr_skiplist.h
98  apr_strings.h
99  apr_support.h
100  apr_tables.h
101  apr_thread_cond.h
102  apr_thread_mutex.h
103  apr_thread_proc.h
104  apr_thread_rwlock.h
105  apr_time.h
106  apr_user.h
107  apr_version.h
108  apr_want.h
109 lib/
110  apr.exp
111  libapr-1.a
112  libapr-1.so
113  libapr-1.so.%%SOMAJOR%%
114  libapr-1.so.%%SOVERSION%%
115 lib/pkgconfig/apr-1.pc
116 share/apr1/build-1/
117  apr_rules.mk
118  libtool
119  make_exports.awk
120  make_var_export.awk
121  mkdir.sh
122
123
124 [FILE:876:patches/patch-configure]
125 --- configure.orig      2017-06-09 12:56:21 UTC
126 +++ configure
127 @@ -6675,11 +6675,7 @@ if test "x$apr_preload_done" != "xyes" ;
128      apr_lock_method="USE_FLOCK_SERIALIZE"
129    fi
130  
131 -        if test -x /sbin/sysctl; then
132 -            os_version=`/sbin/sysctl -n kern.osreldate`
133 -        else
134 -            os_version=000000
135 -        fi
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
141  # comparisons.
142  case $host in
143      *freebsd*)
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          ;;
151      *linux*)
152          os_major=`uname -r | sed -e 's/\([1-9][0-9]*\)\..*/\1/'`
153
154
155 [FILE:3104:freebsd/patch-poll_unix_kqueue.c]
156 # upstram PR: https://bz.apache.org/bugzilla/show_bug.cgi?id=59914
157 # FreeBSD PR: 211430
158 ========================================================================
159 --- poll/unix/kqueue.c.orig     2015-03-20 01:34:07 UTC
160 +++ poll/unix/kqueue.c
161 @@ -25,21 +25,40 @@
162  
163  #ifdef HAVE_KQUEUE
164  
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)
168  {
169      apr_int16_t rv = 0;
170  
171 -    if (event == EVFILT_READ)
172 -        rv |= APR_POLLIN;
173 -    else if (event == EVFILT_WRITE)
174 -        rv |= APR_POLLOUT;
175 -    if (flags & EV_EOF)
176 -        rv |= APR_POLLHUP;
177 -    /* APR_POLLPRI, APR_POLLERR, and APR_POLLNVAL are not handled by this
178 -     * implementation.
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.
182       */
183 +    if (event == EVFILT_READ) {
184 +       if (data > 0 || fflags == 0)
185 +           rv |= APR_POLLIN;
186 +       else
187 +           rv |= APR_POLLERR;
188 +        /*
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.
192 +         *
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.
198 +        */
199 +       if ((flags & EV_EOF) != 0 && fflags != ECONNREFUSED &&
200 +           fflags != ENETUNREACH && fflags != EHOSTUNREACH)
201 +           rv |= APR_POLLHUP;
202 +    } else if (event == EVFILT_WRITE) {
203 +       if (data > 0 || fflags == 0)
204 +           rv |= APR_POLLOUT;
205 +       else
206 +           rv |= APR_POLLERR;
207 +    }
208      return rv;
209  }
210  
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);
219                  j++;
220              }
221          }
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);
224              
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);
230              
231              rv = func(baton, pollfd);
232              
233