core/apache/PKGBUILD

111 lines
4.0 KiB
Bash

pkgname=apache
pkgver=2.4.37
pkgrel=1
pkgdesc='A high performance Unix-based HTTP server'
arch=('x86_64')
url='https://httpd.apache.org/'
license=('Apache')
backup=(etc/httpd/conf/httpd.conf
etc/httpd/conf/extra/httpd-{autoindex,dav,default,info,languages}.conf
etc/httpd/conf/extra/httpd-{manual,mpm,multilang-errordoc}.conf
etc/httpd/conf/extra/httpd-{ssl,userdir,vhosts}.conf
etc/httpd/conf/extra/proxy-html.conf
etc/httpd/conf/{mime.types,magic}
etc/logrotate.d/httpd)
depends=('zlib' 'apr-util' 'pcre' 'openssl')
makedepends=('libxml2' 'lua' 'curl' 'jansson')
optdepends=(
'lua: for mod_lua module'
'libxml2: for mod_proxy_html, mod_xml2enc modules'
'curl: for mod_md module'
'jansson: for mod_md module'
'lynx: apachectl status'
)
source=(https://www.apache.org/dist/httpd/httpd-${pkgver}.tar.bz2
apache.tmpfiles.conf
httpd.logrotate
httpd.service
chakra.layout)
sha256sums=('3498dc5c6772fac2eb7307dc7963122ffe243b5e806e0be4fb51974ff759d726'
'16caf534bd54b7ce2203a085ddf844b8297eb63f91f2f3d09b2a8c971f8acc10'
'875903831634edf35d8d57e9a51bacb818255ecb3bfff29627f03e43d1ab65c3'
'ee39f38ea07d0294578e6964c86489ff605a0886b8d6105d49a06bf29496cd24'
'ee0bd61092331f1b3e091086cb1f147466ad6731fe81c347ae862e104ff8a096')
prepare() {
cd httpd-${pkgver}
# set default user
sed -e 's#User daemon#User http#' \
-e 's#Group daemon#Group http#' \
-i docs/conf/httpd.conf.in
cat "${srcdir}/chakra.layout" >> config.layout
}
build() {
cd httpd-${pkgver}
# enable-mpms-shared=all -- all possible MPMs for the platform will be installed.
./configure --sbindir=/usr/bin \
--enable-layout=Chakra \
--enable-mpms-shared=all \
--enable-modules=all \
--enable-mods-shared=all \
--enable-so \
--enable-suexec \
--with-suexec-caller=http \
--with-suexec-docroot=/srv/http \
--with-suexec-logfile=/var/log/httpd/suexec.log \
--with-suexec-bin=/usr/bin/suexec \
--with-suexec-uidmin=99 --with-suexec-gidmin=99 \
--enable-ldap --enable-authnz-ldap --enable-authnz-fcgi \
--enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache \
--enable-ssl --with-ssl \
--enable-deflate --enable-cgi --enable-cgid \
--enable-proxy --enable-proxy-connect \
--enable-proxy-http --enable-proxy-ftp \
--enable-dbd --enable-imagemap --enable-ident --enable-cern-meta \
--enable-lua --enable-xml2enc --enable-md \
--with-apr=/usr/bin/apr-1-config \
--with-apr-util=/usr/bin/apu-1-config \
--with-pcre=/usr
make
}
package() {
cd httpd-${pkgver}
make DESTDIR="${pkgdir}" install
install -D -m644 "${srcdir}/httpd.logrotate" "${pkgdir}/etc/logrotate.d/httpd"
install -D -m644 "${srcdir}/apache.tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/apache.conf"
install -D -m644 "${srcdir}/httpd.service" "${pkgdir}/usr/lib/systemd/system/httpd.service"
install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
# symlinks for /etc/httpd
# do we really need this symlink?
ln -fs /usr/lib/httpd/modules "${pkgdir}/etc/httpd/modules"
# set sane defaults
sed -e 's#/usr/lib/httpd/modules/#modules/#' \
-e 's|#\(LoadModule negotiation_module \)|\1|' \
-e 's|#\(LoadModule include_module \)|\1|' \
-e 's|#\(LoadModule userdir_module \)|\1|' \
-e 's|#\(LoadModule slotmem_shm_module \)|\1|' \
-e 's|#\(Include conf/extra/httpd-multilang-errordoc.conf\)|\1|' \
-e 's|#\(Include conf/extra/httpd-autoindex.conf\)|\1|' \
-e 's|#\(Include conf/extra/httpd-languages.conf\)|\1|' \
-e 's|#\(Include conf/extra/httpd-userdir.conf\)|\1|' \
-e 's|#\(Include conf/extra/httpd-default.conf\)|\1|' \
-e 's|#\(Include conf/extra/httpd-mpm.conf\)|\1|' \
-i "${pkgdir}/etc/httpd/conf/httpd.conf"
# cleanup
rm -r "${pkgdir}/usr/share/httpd/manual"
rm -r "${pkgdir}/etc/httpd/conf/original"
rm -r "${pkgdir}/srv/"
rm -r "${pkgdir}/run"
}