# Template file for 'apache'
pkgname=apache
version=2.4.12
revision=5
wrksrc=httpd-${version}
build_style=gnu-configure
configure_args="--prefix= --sbindir=/usr/bin --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
 libressl-devel 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@voidlinux.eu>"
homepage="http://httpd.apache.org/"
license="Apache-2.0"
distfiles="http://www.apache.org/dist/httpd/httpd-${version}.tar.bz2"
checksum=ad6d39edfe4621d8cc9a2791f6f8d6876943a9da41ac8533d77407a2e630eae4

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"

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.
	mv ${DESTDIR}/srv/httpd/cgi-bin ${DESTDIR}/usr/share/apache-httpd
	rm -rf ${DESTDIR}/srv/httpd

	# systemd and logrotate files.
	vinstall ${FILESDIR}/apache.logrotate 644 etc/logrotate.d apache

	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*"
	}
}