void-packages/srcpkgs/apache/template
Juan RP aefdea87e5 apache: enable and build mpm shared modules by default.
This seems to be required to make php work, as has been seen in
2015-01-07 09:16:59 +01:00

146 lines
5.1 KiB
Text

# Template file for 'apache'
pkgname=apache
version=2.4.10
revision=8
wrksrc=httpd-${version}
build_style=gnu-configure
configure_args="--prefix= --enable-pie --enable-modules=all
--enable-mods-shared=all --enable-authn-dbm --enable-authn-anon
--enable-authn-dbd --enable-authn-alias --enable-authz-dbm
--enable-authz-owner --enable-authnz-ldap --enable-auth-digest -enable-isapi
--enable-file-cache --enable-cache --enable-disk-cache --enable-mem-cache
--enable-dbd --enable-bucketeer --enable-dumpio --enable-echo --enable-reqtimeout
--enable-ext-filter --enable-substitute --enable-deflate --enable-charset-lite
--enable-ldap --enable-log-forensic --enable-logio --enable-mime-magic
--enable-cern-meta --enable-expires --enable-headers --enable-ident
--enable-usertrack --enable-unique-id --enable-proxy --enable-proxy-connect
--enable-proxy-ftp --enable-proxy-http --enable-proxy-scgi --enable-proxy-ajp
--enable-proxy-balancer --enable-ssl --enable-http --enable-speling
--enable-dav --enable-info --enable-cgi --enable-cgid --enable-dav-fs
--enable-dav-lock --enable-vhost-alias --enable-imagemap --enable-so
--enable-rewrite --with-pcre=/usr --enable-layout=XBPS --sysconfdir=/etc/httpd
--enable-mpms-shared=all"
hostmakedepends="pkg-config perl"
makedepends="zlib-devel libuuid-devel pcre-devel>=8.30
libressl-devel>=2.1.2 db-devel gdbm-devel expat-devel libldap-devel apr-util-devel"
conf_files="
/etc/httpd/extra/httpd-autoindex.conf
/etc/httpd/extra/httpd-dav.conf
/etc/httpd/extra/httpd-manual.conf
/etc/httpd/extra/httpd-vhosts.conf
/etc/httpd/extra/httpd-info.conf
/etc/httpd/extra/httpd-languages.conf
/etc/httpd/extra/httpd-userdir.conf
/etc/httpd/extra/httpd-ssl.conf
/etc/httpd/extra/httpd-mpm.conf
/etc/httpd/extra/httpd-default.conf
/etc/httpd/extra/httpd-multilang-errordoc.conf
/etc/httpd/httpd.conf
/etc/httpd/magic
/etc/httpd/mime.types"
short_desc="The Number One HTTP Server On The Internet"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://httpd.apache.org/"
update_site="http://httpd.apache.org/download.cgi"
update_pattern='httpd-\K[\d.]+'
license="Apache-2.0"
distfiles="http://www.apache.org/dist/httpd/httpd-${version}.tar.bz2"
checksum=176c4dac1a745f07b7b91e7f4fd48f9c48049fa6f088efe758d61d9738669c6a
system_accounts="httpd"
httpd_descr="Apache HTTP server"
httpd_homedir="/srv/httpd"
make_dirs="
/var/log/httpd 0755 root httpd
/srv/httpd 0755 root httpd
/srv/httpd/cgi-bin 755 root httpd"
build_options="systemd"
if [ "$build_option_systemd" ]; then
systemd_services="apache.service on"
fi
pre_configure() {
# SSL_CTX_use_certificate_chain() conflicts with libressl-2.1.
sed -e 's,SSL_CTX_use_certificate_chain,_SSL_CTX_use_certificate_chain,g' -i modules/ssl/*.[ch]
# set default user
sed -e 's#User daemon#User httpd#' \
-e 's#Group daemon#Group httpd#' \
-i docs/conf/httpd.conf.in
cat ${FILESDIR}/xbps.layout >> config.layout
}
post_install() {
# Set a working ServerRoot
#
# Load modules:
# * mod_include.so
# * mod_slotmem_shm.so
# * mod_negotiation.so
# * mod_userdir.so
#
# Avoid loading modules:
# * mod_unique_id.so
#
# Set and enable ServerName to 127.0.0.1.
#
# include extras:
# * httpd-multilang-errordoc.conf
# * httpd-autoindex.conf
# * httpd-languages.conf
# * httpd-userdir.conf
# * httpd-default.conf
#
sed \
-e 's|ServerRoot ""|ServerRoot "/etc/httpd"|' \
-e 's|#\(LoadModule include_module /usr/libexec/httpd/mod_include.so\)|\1|' \
-e 's|\(LoadModule unique_id_module /usr/libexec/httpd/mod_unique_id.so\)|#\1|' \
-e 's|#\(LoadModule slotmem_shm_module /usr/libexec/httpd/mod_slotmem_shm.so\)|\1|' \
-e 's|#\(LoadModule negotiation_module /usr/libexec/httpd/mod_negotiation.so\)|\1|' \
-e 's|#\(LoadModule userdir_module /usr/libexec/httpd/mod_userdir.so\)|\1|' \
-e 's|#ServerName www.example.com:80|ServerName 127.0.0.1:80|' \
-e 's|#\(Include /etc/httpd/extra/httpd-multilang-errordoc.conf\)|\1|' \
-e 's|#\(Include /etc/httpd/extra/httpd-autoindex.conf\)|\1|' \
-e 's|#\(Include /etc/httpd/extra/httpd-languages.conf\)|\1|' \
-e 's|#\(Include /etc/httpd/extra/httpd-userdir.conf\)|\1|' \
-e 's|#\(Include /etc/httpd/extra/httpd-default.conf\)|\1|' \
-i "${DESTDIR}/etc/httpd/httpd.conf"
# symlinks for /etc/httpd
ln -fs /var/log/httpd ${DESTDIR}/etc/httpd/logs
ln -fs /var/run/httpd ${DESTDIR}/etc/httpd/run
ln -fs /usr/libexec/httpd ${DESTDIR}/etc/httpd/modules
ln -fs /usr/share/apache-httpd/build ${DESTDIR}/etc/httpd/build
# Remove unused stuff.
rm -f ${DESTDIR}/srv/httpd/cgi-bin/test-cgi
rm -f ${DESTDIR}/srv/httpd/cgi-bin/printenv
rm -f ${DESTDIR}/srv/httpd/index.html
# systemd and logrotate files.
vinstall ${FILESDIR}/apache.logrotate 644 etc/logrotate.d apache
if [ "$build_option_systemd" ]; then
vinstall ${FILESDIR}/apache.service 644 usr/lib/systemd/system
vinstall ${FILESDIR}/apache.tmpfiles 644 usr/lib/tmpfiles.d apache.conf
fi
vsv apache
rm -rf ${DESTDIR}/etc/httpd/original
}
apache-devel_package() {
depends="apr-devel apr-util-devel perl"
short_desc+=" - development files"
pkg_install() {
vmove usr/include
vmove usr/share/apache-httpd/build
vmove usr/bin/apxs
vmove "usr/share/man/man1/apxs*"
}
}