# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 WANT_AUTOMAKE=latest WANT_AUTOCONF=latest inherit autotools libtool eutils virtualx toolchain-funcs flag-o-matic PATCHVER=0.1 PATCH_P=${P}-gentoo-patches-${PATCHVER} DESCRIPTION="Kerberos 5 implementation from KTH" HOMEPAGE="http://www.h5l.org/" SRC_URI="http://www.h5l.org/dist/src/snapshots/${P/_rc/rc}.tar.gz mirror://gentoo/${PATCH_P}.tar.bz2" LICENSE="three clause BSD style license" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="berkdb ipv6 ldap ldap-shared pkinit ssl threads X" RDEPEND="ssl? ( dev-libs/openssl ) berkdb? ( sys-libs/db ) ldap? ( >=net-nds/openldap-2.3.0 ) ldap-shared? ( >=net-nds/openldap-2.3.0 ) sys-libs/ss sys-libs/com_err sys-libs/cracklib !virtual/krb5" DEPEND="${RDEPEND} >=sys-devel/autoconf-2.62" # >=sys-devel/libtool-2.2" PROVIDE="virtual/krb5" GENTOODIR=${WORKDIR}/gentoo S=${WORKDIR}/${P/_rc/rc} pkg_setup() { if ! use threads ; then eerror "The internal copy of sqlite seems to be always compiled as threadsafe" eerror "heimdal thus does not compile without threads support" die "app-crypt/heimdal curently must have the threads support on" fi } src_unpack() { unpack ${A} cd "${S}" EPATCH_SUFFIX="patch" epatch "${GENTOODIR}"/patches epatch "${FILESDIR}"/heimdal-r23238-kb5_locl_h-wind_h.patch epatch "${FILESDIR}"/heimdal-r23235-kb5-libwind_la.patch epatch "${FILESDIR}"/heimdal-kdc-sans_pkinit.patch AT_M4DIR="cf" eautoreconf } src_compile() { local myconf="" if use ldap || use ldap-shared ; then myconf="${myconf} --with-openldap=/usr" fi econf \ $(use_with ipv6) \ $(use_enable berkdb berkeley-db) \ $(use_enable pkinit pk-init) \ $(use_enable ldap-shared hdb-openldap-module) \ $(use_with ssl openssl) \ $(use_with X x) \ $(use_enable threads pthread-support) \ --enable-kcm \ --enable-shared \ --enable-netinfo \ --prefix=/usr \ --libexecdir=/usr/sbin \ ${myconf} || die "econf failed" local ltversion=`libtool --version |grep 'GNU libtool' |sed -e's/^.*(GNU libtool) \([0-9]\+\.[0-9]\+\(\.[0-9]\+\)\+\) .*$/\1/'` local ltmajor=`echo $ltversion |sed -e's/^\([0-9]\+\)\..*$/\1/'` local ltminor=`echo $ltversion |sed -e's/^[0-9]\+\.\([0-9]\+\)\..*$/\1/'` if [ $ltmajor -lt 2 ] || ( [ $ltmajor -eq 2 ] && [ $ltminor -lt 2 ] ); then ewarn "Using old libtool with a quick hack." sed -i -e's/ECHO=/echo=/' libtool fi emake || die "emake failed" } src_test() { addpredict /proc/fs/openafs/afs_ioctl addpredict /proc/fs/nnpfs/afs_ioctl if use X ; then KRB5_CONFIG="${S}"/krb5.conf Xmake check || die else KRB5_CONFIG="${S}"/krb5.conf make check || die fi } src_install() { emake DESTDIR="${D}" install || die "emake install failed" dodoc ChangeLog README NEWS TODO # Begin client rename and install for i in {telnetd,ftpd,rshd} do mv "${D}"/usr/share/man/man8/{,k}${i}.8 mv "${D}"/usr/sbin/{,k}${i} done for i in {rcp,rsh,telnet,ftp,su,login} do mv "${D}"/usr/share/man/man1/{,k}${i}.1 mv "${D}"/usr/bin/{,k}${i} done mv "${D}"/usr/share/man/man5/{,k}ftpusers.5 mv "${D}"/usr/share/man/man5/{,k}login.access.5 doinitd "${GENTOODIR}"/configs/heimdal-kdc doinitd "${GENTOODIR}"/configs/heimdal-kadmind doinitd "${GENTOODIR}"/configs/heimdal-kpasswdd doinitd "${GENTOODIR}"/configs/heimdal-kcm insinto /etc newins "${GENTOODIR}"/configs/krb5.conf krb5.conf.example sed -i "s:/lib:/$(get_libdir):" "${D}"/etc/krb5.conf.example || die "sed failed" if use ldap; then insinto /etc/openldap/schema doins "${GENTOODIR}"/configs/krb5-kdc.schema fi # default database dir keepdir /var/heimdal }