# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/app-crypt/heimdal/heimdal-0.7.2-r3.ebuild,v 1.16 2008/10/29 12:16:43 mueli Exp $ WANT_AUTOMAKE=1.8 WANT_AUTOCONF=latest inherit autotools libtool eutils virtualx toolchain-funcs flag-o-matic PATCHVER=0.2 PATCH_P=${P}-gentoo-patches-${PATCHVER} DESCRIPTION="Kerberos 5 implementation from KTH" HOMEPAGE="http://www.pdc.kth.se/heimdal/" SRC_URI="ftp://ftp.pdc.kth.se/pub/heimdal/src/${P}.tar.gz http://dev.gentoo.org/~seemant/distfiles/${PATCH_P}.tar.bz2 mirror://gentoo/${PATCH_P}.tar.bz2" LICENSE="as-is" SLOT="0" KEYWORDS="alpha amd64 arm hppa ia64 m68k mips ppc ppc64 s390 sh sparc x86" IUSE="ssl berkdb ipv6 ldap X" RDEPEND="ssl? ( dev-libs/openssl ) berkdb? ( sys-libs/db ) ldap? ( net-nds/openldap ) || ( ( >sys-libs/e2fsprogs-libs-1.40.11 ) ( sys-libs/com_err sys-libs/ss ) ) sys-libs/cracklib !virtual/krb5" DEPEND="${RDEPEND}" PROVIDE="virtual/krb5" GENTOODIR=${WORKDIR}/gentoo src_unpack() { unpack ${A} cd "${S}" EPATCH_SUFFIX="patch" epatch "${GENTOODIR}"/patches epatch "${FILESDIR}/${P}-as_needed.patch" AT_M4DIR="cf" eautoreconf } src_compile() { local myconf="" if use ldap; then myconf="${myconf} --with-openldap=/usr" append-flags -DLDAP_DEPRECATED=1 fi econf \ $(use_with ipv6) \ $(use_with berkdb berkeley-db) \ $(use_with ssl openssl) \ $(use_with X x) \ --disable-krb4 \ --enable-kcm \ --enable-shared \ --includedir=/usr/include/heimdal \ --libexecdir=/usr/sbin \ ${myconf} || die "econf failed" emake || die "emake failed" # Compile the added password checker: cd lib/kadm5 tc-export CC ${CC} -shared -fPIC \ ${CFLAGS} -I"${S}"/include \ -DDICTPATH=\"/usr/$(get_libdir)/cracklib_dict\" \ -o sample_passwd_check.so sample_passwd_check.c -lcrack || \ die "Failed to compile password checker" } 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" dolib lib/kadm5/sample_passwd_check.so 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 # Create symlinks for the includes dosym heimdal /usr/include/gssapi dosym heimdal/krb5-types.h /usr/include/krb5-types.h dosym heimdal/krb5.h /usr/include/krb5.h dosym heimdal/asn1_err.h /usr/include/asn1_err.h dosym heimdal/krb5_asn1.h /usr/include/krb5_asn1.h dosym heimdal/krb5_err.h /usr/include/krb5_err.h dosym heimdal/heim_err.h /usr/include/heim_err.h dosym heimdal/k524_err.h /usr/include/k524_err.h dosym heimdal/krb5-protos.h /usr/include/krb5-protos.h doinitd "${GENTOODIR}"/configs/heimdal-kdc doinitd "${GENTOODIR}"/configs/heimdal-kadmind doinitd "${GENTOODIR}"/configs/heimdal-kpasswdd 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 }