# Copyright 1999-2007 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.14 2007/05/23 01:34:43 cardoe Exp $ WANT_AUTOMAKE=1.8 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.pdc.kth.se/heimdal/" SRC_URI="ftp://ftp.pdc.kth.se/pub/heimdal/src/${P/_rc/rc}.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/ss sys-libs/com_err sys-libs/cracklib !virtual/krb5" DEPEND="${RDEPEND}" PROVIDE="virtual/krb5" GENTOODIR=${WORKDIR}/gentoo S=${WORKDIR}/${P/_rc/rc} KRB5_PREFIX="/usr" KRB5CONFIG=/usr/bin/krb5-config src_unpack() { unpack ${A} cd "${S}" EPATCH_SUFFIX="patch" epatch "${GENTOODIR}"/patches epatch "${FILESDIR}"/force_inclusion_by_path.patch AT_M4DIR="cf" eautoreconf } src_compile() { local myconf="" if use ldap; then myconf="${myconf} --with-openldap=/usr" fi econf \ $(use_with ipv6) \ $(use_with berkdb berkeley-db) \ $(use_with ssl openssl) \ $(use_with X x) \ --disable-krb4 \ --enable-kcm \ --enable-shared \ --enable-netinfo \ --enable-pthread-support \ --prefix="${KRB5_PREFIX}" \ --libexecdir="${KRB5_PREFIX}"/sbin \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ ${myconf} || die "econf failed" 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 # Symlink executables into the system tree dodir /usr/bin for i in `ls "${D}/${KRB5_PREFIX}"/bin`; do ln -s "${KRB5_PREFIX}/bin/${i}" "${D}"/usr/bin/ done dodir /usr/sbin for i in `ls "${D}/${KRB5_PREFIX}"/sbin`; do ln -s "${KRB5_PREFIX}/sbin/${i}" "${D}"/usr/sbin/ done # 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 # Hacky symlinks for silly old SASL checks #dosym . /usr/include/heimdal/include #dosym /usr/lib /usr/include/heimdal/lib 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 dodir /etc/env.d cat > "${D}"/etc/env.d/15heimdal <<-EOF PATH=${KRB5_PREFIX}/bin ROOTPATH=${KRB5_PREFIX}/sbin LDPATH=${KRB5_PREFIX}/lib MANDIR=/usr/share/man INFODIR=/usr/share/info EOF dodir /usr/lib/pkgconfig for library in krb5 gssapi kadm-client kadm-server kafs; do cat > "${D}"/usr/lib/pkgconfig/"${library}.pc" <<-EOF prefix=`"${D}/${KRB5CONFIG}" --prefix "${library}"` exec_prefix=`"${D}/${KRB5CONFIG}" --exec-prefix "${library}"` libdir=`"${D}/${KRB5CONFIG}" --libs |sed -e's/^-L\([^ ]*\)\($\| .*$\)/\1/'` includedir=`"${D}/${KRB5CONFIG}" --cflags |sed -e's/^-I\([^ ]*\)\($\| .*$\)/\1/'` Name: ${PN} ${library} Description: the $library part of ${PN} Version: ${PV} Requires: Libs: `"${D}/${KRB5CONFIG}" --libs "${library}"` Cflags: `"${D}/${KRB5CONFIG}" --cflags "${library}"` EOF done ln -s gssapi.pc "${D}"/usr/lib/pkgconfig/libgssapi.pc }