# Template file for 'varnish'
pkgname=varnish
version=7.3.0
revision=1
build_style=gnu-configure
configure_args="--cache-file=config.void --disable-static $(vopt_enable pcrejit pcre-jit)"
hostmakedepends="pkg-config python3 python3-docutils python3-Sphinx"
makedepends="pcre2-devel readline-devel"
short_desc="Fast caching HTTP reverse proxy"
maintainer="Noel Cower <ncower@nil.dev>"
license="BSD-2-Clause"
homepage="https://varnish-cache.org/"
distfiles="https://varnish-cache.org/_downloads/${pkgname}-${version}.tgz"
checksum=e2dbbb0ec270a90647c386866e6e226993aed46e48de751a72bb819737f14ae7
lib32disabled=yes

build_options="pcrejit"

conf_files="/etc/varnish/default.vcl"
make_dirs="/var/lib/varnish 0750 _varnish _varnish
 /var/log/varnish 0750 _varnish _varnish"

system_accounts="_varnish _vcache"
_varnish_homedir="/var/lib/varnish"
_vcache_pgroup="_varnish"

if [ "${XBPS_TARGET_MACHINE%-musl}" = i686 ]; then
	broken="vcltest failure on i686 in c00059.vtc and more"
fi

if [ yes = "$(vopt_if pcrejit yes)" ]; then
	# Don't permit cross builds if pcrejit is set.
	nocross="Cannot run test program when cross compiling (PCRE_JIT)"
elif [ "${XBPS_MACHINE%-musl}" != "${XBPS_TARGET_MACHINE%-musl}" ]; then
	# Mark builds with different architectures as nocross.
	nocross="Host and target architectures must be the same to run the program during build"
fi

case "$XBPS_TARGET_MACHINE" in
	*-musl)
		configure_args+=" --without-jemalloc"
		makedepends+=" libexecinfo-devel"
		;;
	*)
		makedepends+=" jemalloc-devel"
		;;
esac

post_install() {
	vinstall etc/example.vcl 644 etc/varnish default.vcl
	vsv varnishd
	vlicense LICENSE
}

libvarnishapi_package() {
	short_desc+=" - API runtime library"
	pkg_install() {
		vmove "usr/lib/*.so.*"
	}
}
libvarnishapi-devel_package() {
	depends="libvarnishapi>=${version}_${revision}"
	short_desc+=" - API development files"
	pkg_install() {
		vmove usr/include
		vmove usr/lib/pkgconfig
		vmove "usr/lib/*.so"
		vmove usr/share/man/man3
	}
}
