# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
setvar pkgname = 'krb5'
setvar pkgver = '1.15.2'
setvar pkgrel = '0'

case (pkgver) {
*.*.* { setvar _ver = ${pkgver%.*}}
* { setvar _ver = ${pkgver}}
}

setvar pkgdesc = ""The Kerberos network authentication system""
setvar url = ""http://web.mit.edu/kerberos/www/""
setvar arch = ""all""
setvar license = ""MIT""
setvar depends = ""krb5-conf""
setvar depends_dev = ""e2fsprogs-dev""
setvar makedepends = ""$depends_dev libverto-dev openldap-dev libressl-dev
	keyutils-dev bison flex perl""
setvar options = ""suid !check""
setvar subpackages = ""$pkgname-dev $pkgname-doc $pkgname-server
	$pkgname-server-ldap:ldap $pkgname-pkinit $pkgname-libs""
setvar source = ""http://web.mit.edu/kerberos/dist/krb5/${_ver}/krb5-$pkgver.tar.gz
	mit-krb5_krb5-config_LDFLAGS.patch
	libressl.patch

	krb5kadmind.initd
	krb5kdc.initd
	krb5kpropd.initd
	""

setvar _builddir = ""$srcdir"/krb5-$pkgver"

proc unpack {
	default_unpack
	cd $srcdir
	tar -zxf krb5-$pkgver.tar.gz
}

proc build {
	cd "$_builddir"/src
	./configure \
		CPPFLAGS="$CPPFLAGS -fPIC -I/usr/include/et" \
		WARN_CFLAGS= \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--localstatedir=/var/lib \
		--enable-shared \
		--disable-static \
		--disable-rpath \
		--with-system-et \
		--with-system-ss \
		--with-system-verto \
		--without-tcl \
		--with-ldap
	make
}

proc package {
	cd "$_builddir"/src
	make install DESTDIR="$pkgdir"
	mkdir -p "$pkgdir"/usr/share/doc/$pkgname
	mv "$pkgdir"/usr/share/examples "$pkgdir"/usr/share/doc/$pkgname/

	for i in $source {
		case (i) {
		*.initd { install -Dm755 "$srcdir"/$i \
			"$pkgdir"/etc/init.d/${i%.initd}}
		}
	}
}

proc server {
	setvar pkgdesc = ""The KDC and related programs for Kerberos 5""
	setvar depends = ""libverto-libev""
	mkdir -p "$subpkgdir"/usr/share \
		"$subpkgdir"/usr/bin \
		"$subpkgdir"/etc/
	install -d "$subpkgdir"/var/lib/krb5kdc
	mv "$pkgdir"/usr/sbin "$subpkgdir"/usr/
	mv "$pkgdir"/etc/init.d "$subpkgdir"/etc/
	# used for testing server
	mv "$pkgdir"/usr/bin/sclient "$subpkgdir"/usr/bin/

}

proc ldap {
	setvar pkgdesc = ""The LDAP storage plugin for the Kerberos 5 KDC""
	mkdir -p "$subpkgdir"/usr/lib/krb5/plugins/kdb
	mv "$pkgdir"/usr/lib/krb5/plugins/kdb/kldap.so \
		"$subpkgdir"/usr/lib/krb5/plugins/kdb/
	mv "$pkgdir"/usr/lib/libkdb_ldap* \
		 "$subpkgdir"/usr/lib/
}

proc pkinit {
	setvar pkgdesc = ""The PKINIT module for Kerberos 5""
	mkdir -p "$subpkgdir"/usr/lib/krb5/plugins/preauth
	mv "$pkgdir"/usr/lib/krb5/plugins/preauth/pkinit.so \
		"$subpkgdir"/usr/lib/krb5/plugins/preauth/pkinit.so
}

proc libs {
	setvar pkgdesc = ""The shared libraries used by Kerberos 5""
	setvar depends = ""krb5-conf""
	mkdir -p "$subpkgdir"/usr/
	mv "$pkgdir"/usr/lib "$subpkgdir"/usr/
}
setvar sha512sums = ""e5814bb66384b13637c37918df694c6b9933c29c2d952da0ed0dcd2e623b269060b4c16b6c02162039dadebdab99ff1085e37e7621ae4748dafb036424e612c2  krb5-1.15.2.tar.gz
5a3782ff17b383f8cd0415fd13538ab56afd788130d6ad640e9f2682b7deaae7f25713ce358058ed771091040dccf62a3bc87e6fd473d505ec189a95debcc801  mit-krb5_krb5-config_LDFLAGS.patch
1bcfd92f610ccee6edeb22d3cfef1388ed52f999eb976f158e7be3e4d65394ceb82d915f232e4fa1f365cd35814e4a97a657d70b6d9d64c1f8c08541adcdcc23  libressl.patch
43b9885b7eb8d0d60920def688de482f2b1701288f9acb1bb21dc76b2395428ff304961959eb04ba5eafd0412bae35668d6d2c8223424b9337bc051eadf51682  krb5kadmind.initd
ede15f15bbbc9d0227235067abe15245bb9713aea260d397379c63275ce74aea0db6c91c15d599e40c6e89612d76f3a0f8fdd21cbafa3f30d426d4310d3e2cec  krb5kdc.initd
45be0d421efd41e9dd056125a750c90856586e990317456b68170d733b03cba9ecd18ab87603b20e49575e7839fb4a6d628255533f2631f9e8ddb7f3cc493a90  krb5kpropd.initd""