# Template file for 'FreeRADIUS'
pkgname=FreeRADIUS
version=3.0.15
revision=1
wrksrc=freeradius-server-${version}
build_style=gnu-configure
nocross=yes # Not supported by upstream
makedepends="talloc-devel libressl-devel mit-krb5-devel pam-devel \
 libmariadbclient-devel postgresql-libs-devel json-c-devel"
system_accounts="_freeradius"
make_dirs="/etc/raddb 0750 _freeradius _freeradius"
short_desc="The world's most popular RADIUS Server"
maintainer="Michael Aldridge <maldridge@VoidLinux.eu>"
license="GPL-2"
homepage="http://freeradius.org"
distfiles="ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-${version}.tar.bz2"
checksum=23267d8505e7b2909f5bdbf3938ca077c1fe122290dc969304d4f3b594f7e3ba

pre_install() {
	# FreeRADIUS uses 'R' instead of 'DESTDIR'
	export R=${DESTDIR}
}

post_install() {
	# Remove the default generated certificates, it would be nice to just
	# not build these, but the Makefiles are inordinately complex and
	# cannot be easily modified to not build the certificate files.
	_CERTDIR=${DESTDIR}/etc/raddb/certs
	rm ${_CERTDIR}/index*
	rm ${_CERTDIR}/*.crt
	rm ${_CERTDIR}/*.csr
	rm ${_CERTDIR}/*.key
	rm ${_CERTDIR}/*.p12
	rm ${_CERTDIR}/*.pem
	rm ${_CERTDIR}/serial*
	rm ${_CERTDIR}/*.der
	rm ${_CERTDIR}/*dh*
	rm ${_CERTDIR}/bootstrap

	# Install the service
	vsv FreeRADIUS

	#  While the config installed by the makefiles is usable, its
	# also very complex and not likely to be a good solution for
	# most sites installing FreeRADIUS, so the existing config
	# will be moved out of the way here so that experienced admins
	# can install a configuration set that is appropriate for the
	# specific site.  Intentionally the examples directory
	# contains 'raddb' to clarify that the examples examples
	# within are an example raddb configuration.
	vmkdir usr/share/examples/${pkgname}/
	mv ${DESTDIR}/etc/raddb/ ${DESTDIR}/usr/share/examples/${pkgname}
}

FreeRADIUS-devel_package() {
	short_desc+=" - development files"
	depends="${sourcepkg}>=${version}_${revision}"
	pkg_install() {
		vmove /usr/lib/*.a
		vmove /usr/lib/*.la
		vmove /usr/include/freeradius
	}
}
