1SUMMARY="The Number One HTTP Server On The Internet"
2DESCRIPTION="The Apache HTTP Server Project is a collaborative software \
3development effort aimed at creating a robust, commercial-grade, featureful, \
4and freely-available source code implementation of an HTTP (Web) server"
5HOMEPAGE="https://httpd.apache.org/"
6COPYRIGHT="1995-2022 The Apache Software Foundation."
7LICENSE="Apache v2"
8REVISION="1"
9SOURCE_URI="https://archive.apache.org/dist/httpd/httpd-$portVersion.tar.bz2"
10CHECKSUM_SHA256="dbccb84aee95e095edfbb81e5eb926ccd24e6ada55dcd83caecb262e5cf94d2a"
11SOURCE_DIR="httpd-$portVersion"
12PATCHES="apache-$portVersion.patchset"
13
14ARCHITECTURES="all !x86_gcc2"
15SECONDARY_ARCHITECTURES="x86"
16
17commandBinDir=$binDir
18commandSuffix=$secondaryArchSuffix
19if [ "$targetArchitecture" = x86_gcc2 ]
20then
21	commandBinDir=$prefix/bin
22	commandSuffix=
23fi
24
25GLOBAL_WRITABLE_FILES="
26	settings/apache/extra/httpd-autoindex.conf keep-old
27	settings/apache/extra/httpd-dav.conf keep-old
28	settings/apache/extra/httpd-default.conf keep-old
29	settings/apache/extra/httpd-info.conf keep-old
30	settings/apache/extra/httpd-languages.conf keep-old
31	settings/apache/extra/httpd-manual.conf keep-old
32	settings/apache/extra/httpd-mpm.conf keep-old
33	settings/apache/extra/httpd-multilang-errordoc.conf keep-old
34	settings/apache/extra/httpd-ssl.conf keep-old
35	settings/apache/extra/httpd-userdir.conf keep-old
36	settings/apache/extra/httpd-vhosts.conf keep-old
37	settings/apache/extra/proxy-html.conf keep-old
38	settings/apache/httpd.conf keep-old
39	settings/apache/magic keep-old
40	settings/apache/mime.types keep-old
41	settings/apache/original/extra/httpd-autoindex.conf keep-old
42	settings/apache/original/extra/httpd-dav.conf keep-old
43	settings/apache/original/extra/httpd-default.conf keep-old
44	settings/apache/original/extra/httpd-info.conf keep-old
45	settings/apache/original/extra/httpd-languages.conf keep-old
46	settings/apache/original/extra/httpd-manual.conf keep-old
47	settings/apache/original/extra/httpd-mpm.conf keep-old
48	settings/apache/original/extra/httpd-multilang-errordoc.conf keep-old
49	settings/apache/original/extra/httpd-ssl.conf keep-old
50	settings/apache/original/extra/httpd-userdir.conf keep-old
51	settings/apache/original/extra/httpd-vhosts.conf keep-old
52	settings/apache/original/extra/proxy-html.conf keep-old
53	settings/apache/original/httpd.conf keep-old
54	"
55
56PROVIDES="
57	apache$secondaryArchSuffix = $portVersion
58	cmd:ab$commandSuffix
59	cmd:apachectl$commandSuffix
60	cmd:apxs$commandSuffix
61	cmd:checkgid$commandSuffix
62	cmd:dbmmanage$commandSuffix
63	cmd:envvars$commandSuffix
64	cmd:envvars_std$commandSuffix
65	cmd:fcgistarter$commandSuffix
66	cmd:htcacheclean$commandSuffix
67	cmd:htdbm$commandSuffix
68	cmd:htdigest$commandSuffix
69	cmd:htpasswd$commandSuffix
70	cmd:httpd$commandSuffix
71	cmd:httxt2dbm$commandSuffix
72	cmd:logresolve$commandSuffix
73	cmd:rotatelogs$commandSuffix
74	lib:mod_access_compat$secondaryArchSuffix
75	lib:mod_actions$secondaryArchSuffix
76	lib:mod_alias$secondaryArchSuffix
77	lib:mod_allowmethods$secondaryArchSuffix
78	lib:mod_auth_basic$secondaryArchSuffix
79	lib:mod_auth_digest$secondaryArchSuffix
80	lib:mod_auth_form$secondaryArchSuffix
81	lib:mod_authn_anon$secondaryArchSuffix
82	lib:mod_authn_core$secondaryArchSuffix
83	lib:mod_authn_dbd$secondaryArchSuffix
84	lib:mod_authn_dbm$secondaryArchSuffix
85	lib:mod_authn_file$secondaryArchSuffix
86	lib:mod_authn_socache$secondaryArchSuffix
87	lib:mod_authz_core$secondaryArchSuffix
88	lib:mod_authz_dbd$secondaryArchSuffix
89	lib:mod_authz_dbm$secondaryArchSuffix
90	lib:mod_authz_groupfile$secondaryArchSuffix
91	lib:mod_authz_host$secondaryArchSuffix
92	lib:mod_authz_owner$secondaryArchSuffix
93	lib:mod_authz_user$secondaryArchSuffix
94	lib:mod_autoindex$secondaryArchSuffix
95	lib:mod_brotli$secondaryArchSuffix
96	lib:mod_buffer$secondaryArchSuffix
97	lib:mod_cache$secondaryArchSuffix
98	lib:mod_cache_disk$secondaryArchSuffix
99	lib:mod_cache_socache$secondaryArchSuffix
100	lib:mod_cgid$secondaryArchSuffix
101	lib:mod_dav$secondaryArchSuffix
102	lib:mod_dav_fs$secondaryArchSuffix
103	lib:mod_dbd$secondaryArchSuffix
104	lib:mod_dir$secondaryArchSuffix
105	lib:mod_dumpio$secondaryArchSuffix
106	lib:mod_env$secondaryArchSuffix
107	lib:mod_expires$secondaryArchSuffix
108	lib:mod_ext_filter$secondaryArchSuffix
109	lib:mod_file_cache$secondaryArchSuffix
110	lib:mod_filter$secondaryArchSuffix
111	lib:mod_headers$secondaryArchSuffix
112	lib:mod_http2$secondaryArchSuffix
113	lib:mod_include$secondaryArchSuffix
114	lib:mod_info$secondaryArchSuffix
115	lib:mod_lbmethod_bybusyness$secondaryArchSuffix
116	lib:mod_lbmethod_byrequests$secondaryArchSuffix
117	lib:mod_lbmethod_bytraffic$secondaryArchSuffix
118	lib:mod_lbmethod_heartbeat$secondaryArchSuffix
119	lib:mod_log_config$secondaryArchSuffix
120	lib:mod_log_debug$secondaryArchSuffix
121	lib:mod_logio$secondaryArchSuffix
122	lib:mod_macro$secondaryArchSuffix
123	lib:mod_md$secondaryArchSuffix
124	lib:mod_mime$secondaryArchSuffix
125	lib:mod_negotiation$secondaryArchSuffix
126	lib:mod_proxy$secondaryArchSuffix
127	lib:mod_proxy_ajp$secondaryArchSuffix
128	lib:mod_proxy_balancer$secondaryArchSuffix
129	lib:mod_proxy_connect$secondaryArchSuffix
130	lib:mod_proxy_express$secondaryArchSuffix
131	lib:mod_proxy_fcgi$secondaryArchSuffix
132	lib:mod_proxy_fdpass$secondaryArchSuffix
133	lib:mod_proxy_ftp$secondaryArchSuffix
134	lib:mod_proxy_hcheck$secondaryArchSuffix
135	lib:mod_proxy_http$secondaryArchSuffix
136	lib:mod_proxy_scgi$secondaryArchSuffix
137	lib:mod_proxy_uwsgi$secondaryArchSuffix
138	lib:mod_proxy_wstunnel$secondaryArchSuffix
139	lib:mod_ratelimit$secondaryArchSuffix
140	lib:mod_remoteip$secondaryArchSuffix
141	lib:mod_reqtimeout$secondaryArchSuffix
142	lib:mod_request$secondaryArchSuffix
143	lib:mod_rewrite$secondaryArchSuffix
144	lib:mod_sed$secondaryArchSuffix
145	lib:mod_session$secondaryArchSuffix
146	lib:mod_session_cookie$secondaryArchSuffix
147	lib:mod_session_dbd$secondaryArchSuffix
148	lib:mod_setenvif$secondaryArchSuffix
149	lib:mod_slotmem_shm$secondaryArchSuffix
150	lib:mod_socache_dbm$secondaryArchSuffix
151	lib:mod_socache_memcache$secondaryArchSuffix
152	lib:mod_socache_shmcb$secondaryArchSuffix
153	lib:mod_speling$secondaryArchSuffix
154	lib:mod_ssl$secondaryArchSuffix
155	lib:mod_status$secondaryArchSuffix
156	lib:mod_substitute$secondaryArchSuffix
157	lib:mod_unique_id$secondaryArchSuffix
158	lib:mod_unixd$secondaryArchSuffix
159	lib:mod_userdir$secondaryArchSuffix
160	lib:mod_version$secondaryArchSuffix
161	lib:mod_vhost_alias$secondaryArchSuffix
162	lib:mod_watchdog$secondaryArchSuffix
163	"
164REQUIRES="
165	haiku$secondaryArchSuffix
166	lib:libapr_1$secondaryArchSuffix
167	lib:libaprutil_1$secondaryArchSuffix
168	lib:libbrotlienc$secondaryArchSuffix
169	lib:libcrypto$secondaryArchSuffix
170	lib:libcurl$secondaryArchSuffix
171	lib:libexpat$secondaryArchSuffix
172	lib:libiconv$secondaryArchSuffix
173	lib:libjansson$secondaryArchSuffix
174#	lib:libldap$secondaryArchSuffix
175	lib:libnghttp2$secondaryArchSuffix
176	lib:libpcre$secondaryArchSuffix
177	lib:libssl$secondaryArchSuffix
178	"
179if [ -n "$secondaryArchSuffix" -a -z "$commandSuffix" ]; then
180CONFLICTS="
181	apache
182	"
183fi
184
185BUILD_REQUIRES="
186	haiku${secondaryArchSuffix}_devel
187	devel:libapr_1$secondaryArchSuffix
188	devel:libaprutil_1$secondaryArchSuffix
189	devel:libbrotlienc$secondaryArchSuffix
190	devel:libcrypto$secondaryArchSuffix
191	devel:libcurl$secondaryArchSuffix
192	devel:libexpat$secondaryArchSuffix
193	devel:libiconv$secondaryArchSuffix
194	devel:libjansson$secondaryArchSuffix
195#	devel:libldap$secondaryArchSuffix
196	devel:libnghttp2$secondaryArchSuffix
197	devel:libssl$secondaryArchSuffix
198	devel:libz$secondaryArchSuffix
199	"
200BUILD_PREREQUIRES="
201	cmd:autoconf
202	cmd:awk
203	cmd:gcc$secondaryArchSuffix
204	cmd:libtoolize$secondaryArchSuffix
205	cmd:make
206	cmd:pkg_config$secondaryArchSuffix
207	cmd:pcre_config$secondaryArchSuffix
208	"
209
210defineDebugInfoPackage apache$secondaryArchSuffix \
211	"$commandBinDir"/ab \
212	"$commandBinDir"/checkgid \
213	"$commandBinDir"/fcgistarter \
214	"$commandBinDir"/htcacheclean \
215	"$commandBinDir"/htdbm \
216	"$commandBinDir"/htdigest \
217	"$commandBinDir"/htpasswd \
218	"$commandBinDir"/httpd \
219	"$commandBinDir"/httxt2dbm \
220	"$commandBinDir"/logresolve \
221	"$commandBinDir"/rotatelogs \
222	"$libDir"/apache/mod_access_compat.so \
223	"$libDir"/apache/mod_actions.so \
224	"$libDir"/apache/mod_alias.so \
225	"$libDir"/apache/mod_allowmethods.so \
226	"$libDir"/apache/mod_auth_basic.so \
227	"$libDir"/apache/mod_auth_digest.so \
228	"$libDir"/apache/mod_auth_form.so \
229	"$libDir"/apache/mod_authn_anon.so \
230	"$libDir"/apache/mod_authn_core.so \
231	"$libDir"/apache/mod_authn_dbd.so \
232	"$libDir"/apache/mod_authn_dbm.so \
233	"$libDir"/apache/mod_authn_file.so \
234	"$libDir"/apache/mod_authn_socache.so \
235	"$libDir"/apache/mod_authz_core.so \
236	"$libDir"/apache/mod_authz_dbd.so \
237	"$libDir"/apache/mod_authz_dbm.so \
238	"$libDir"/apache/mod_authz_groupfile.so \
239	"$libDir"/apache/mod_authz_host.so \
240	"$libDir"/apache/mod_authz_owner.so \
241	"$libDir"/apache/mod_authz_user.so \
242	"$libDir"/apache/mod_autoindex.so \
243	"$libDir"/apache/mod_buffer.so \
244	"$libDir"/apache/mod_cache.so \
245	"$libDir"/apache/mod_cache_disk.so \
246	"$libDir"/apache/mod_cache_socache.so \
247	"$libDir"/apache/mod_cgid.so \
248	"$libDir"/apache/mod_dav.so \
249	"$libDir"/apache/mod_dav_fs.so \
250	"$libDir"/apache/mod_dbd.so \
251	"$libDir"/apache/mod_dir.so \
252	"$libDir"/apache/mod_dumpio.so \
253	"$libDir"/apache/mod_env.so \
254	"$libDir"/apache/mod_expires.so \
255	"$libDir"/apache/mod_ext_filter.so \
256	"$libDir"/apache/mod_file_cache.so \
257	"$libDir"/apache/mod_filter.so \
258	"$libDir"/apache/mod_headers.so \
259	"$libDir"/apache/mod_include.so \
260	"$libDir"/apache/mod_info.so \
261	"$libDir"/apache/mod_lbmethod_bybusyness.so \
262	"$libDir"/apache/mod_lbmethod_byrequests.so \
263	"$libDir"/apache/mod_lbmethod_bytraffic.so \
264	"$libDir"/apache/mod_lbmethod_heartbeat.so \
265	"$libDir"/apache/mod_log_config.so \
266	"$libDir"/apache/mod_log_debug.so \
267	"$libDir"/apache/mod_logio.so \
268	"$libDir"/apache/mod_macro.so \
269	"$libDir"/apache/mod_mime.so \
270	"$libDir"/apache/mod_negotiation.so \
271	"$libDir"/apache/mod_proxy.so \
272	"$libDir"/apache/mod_proxy_ajp.so \
273	"$libDir"/apache/mod_proxy_balancer.so \
274	"$libDir"/apache/mod_proxy_connect.so \
275	"$libDir"/apache/mod_proxy_express.so \
276	"$libDir"/apache/mod_proxy_fcgi.so \
277	"$libDir"/apache/mod_proxy_fdpass.so \
278	"$libDir"/apache/mod_proxy_ftp.so \
279	"$libDir"/apache/mod_proxy_hcheck.so \
280	"$libDir"/apache/mod_proxy_http.so \
281	"$libDir"/apache/mod_proxy_scgi.so \
282	"$libDir"/apache/mod_proxy_uwsgi.so \
283	"$libDir"/apache/mod_proxy_wstunnel.so \
284	"$libDir"/apache/mod_ratelimit.so \
285	"$libDir"/apache/mod_remoteip.so \
286	"$libDir"/apache/mod_reqtimeout.so \
287	"$libDir"/apache/mod_request.so \
288	"$libDir"/apache/mod_rewrite.so \
289	"$libDir"/apache/mod_sed.so \
290	"$libDir"/apache/mod_session.so \
291	"$libDir"/apache/mod_session_cookie.so \
292	"$libDir"/apache/mod_session_dbd.so \
293	"$libDir"/apache/mod_setenvif.so \
294	"$libDir"/apache/mod_slotmem_shm.so \
295	"$libDir"/apache/mod_socache_dbm.so \
296	"$libDir"/apache/mod_socache_memcache.so \
297	"$libDir"/apache/mod_socache_shmcb.so \
298	"$libDir"/apache/mod_speling.so \
299	"$libDir"/apache/mod_ssl.so \
300	"$libDir"/apache/mod_status.so \
301	"$libDir"/apache/mod_substitute.so \
302	"$libDir"/apache/mod_unique_id.so \
303	"$libDir"/apache/mod_unixd.so \
304	"$libDir"/apache/mod_userdir.so \
305	"$libDir"/apache/mod_version.so \
306	"$libDir"/apache/mod_vhost_alias.so \
307	"$libDir"/apache/mod_watchdog.so \
308
309
310BUILD()
311{
312	libtoolize --force --copy --install
313	aclocal
314	autoconf
315
316	runConfigure --omit-dirs "binDir sbinDir libExecDir dataDir" ./configure \
317		--bindir="$commandBinDir" \
318		--sbindir="$commandBinDir" \
319		--datadir="$dataDir"/apache \
320		--libexecdir="$libDir"/apache \
321		--sysconfdir="$sysconfDir"/apache \
322		--with-apr=/$relativeBinDir \
323		--with-apr-util=/$relativeBinDir
324	make $jobArgs
325}
326
327INSTALL()
328{
329	make install
330
331	# Replace "/packages/apache-*/.settings" by "/boot/system/settings"
332	# Replace "/packages/apache-*/.self" by "/boot/system"
333	# Comment out directives that would otherwise need a daemon user and group.
334	sed -i \
335		-e "s|$sysconfDir|`finddir B_SYSTEM_SETTINGS_DIRECTORY`|" \
336		-e "s|$prefix|`finddir B_SYSTEM_DIRECTORY`|" \
337		-e "s/^User daemon/#&/" \
338		-e "s/^Group daemon/#&/" \
339		"$settingsDir"/apache/httpd.conf
340}
341