You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
195 lines
4.9 KiB
195 lines
4.9 KiB
# Copyright 1999-2015 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Id$
|
|
|
|
EAPI=5
|
|
PYTHON_COMPAT=( python{2_7,3_3,3_4} )
|
|
VIRTUALX_REQUIRED="manual"
|
|
|
|
inherit autotools db-use eutils multilib multilib-minimal python-any-r1 toolchain-funcs virtualx flag-o-matic
|
|
|
|
MY_P="${P}"
|
|
DESCRIPTION="Kerberos 5 implementation from KTH"
|
|
HOMEPAGE="http://www.h5l.org/"
|
|
SRC_URI="http://www.h5l.org/dist/src/${MY_P}.tar.gz"
|
|
|
|
LICENSE="BSD"
|
|
SLOT="0"
|
|
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd"
|
|
IUSE="afs +berkdb caps hdb-ldap ipv6 otp +pkinit selinux ssl static-libs threads test X"
|
|
|
|
CDEPEND="ssl? ( >=dev-libs/openssl-1.0.1h-r2[${MULTILIB_USEDEP}] )
|
|
berkdb? ( >=sys-libs/db-4.8.30-r1[${MULTILIB_USEDEP}] )
|
|
!berkdb? ( >=sys-libs/gdbm-1.10-r1[${MULTILIB_USEDEP}] )
|
|
caps? ( sys-libs/libcap-ng )
|
|
>=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
|
|
>=sys-libs/e2fsprogs-libs-1.42.9[${MULTILIB_USEDEP}]
|
|
sys-libs/ncurses:0=
|
|
>=sys-libs/readline-6.2_p5-r1[${MULTILIB_USEDEP}]
|
|
afs? ( net-fs/openafs )
|
|
hdb-ldap? ( >=net-nds/openldap-2.3.0 )
|
|
X? ( x11-libs/libX11
|
|
x11-libs/libXau
|
|
x11-libs/libXt )
|
|
abi_x86_32? (
|
|
!<=app-emulation/emul-linux-x86-baselibs-20140508-r1
|
|
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
|
)
|
|
!!app-crypt/mit-krb5
|
|
!!app-crypt/mit-krb5-appl"
|
|
|
|
DEPEND="${CDEPEND}
|
|
${PYTHON_DEPS}
|
|
>=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
|
|
>=sys-devel/autoconf-2.62
|
|
test? ( X? ( ${VIRTUALX_DEPEND} ) )"
|
|
|
|
RDEPEND="${CDEPEND}
|
|
selinux? ( sec-policy/selinux-kerberos )"
|
|
|
|
MULTILIB_WRAPPED_HEADERS=(
|
|
/usr/include/krb5-types.h
|
|
/usr/include/cms_asn1.h
|
|
/usr/include/digest_asn1.h
|
|
/usr/include/hdb_asn1.h
|
|
/usr/include/krb5_asn1.h
|
|
/usr/include/pkcs12_asn1.h
|
|
/usr/include/pkinit_asn1.h
|
|
/usr/include/rfc2459_asn1.h
|
|
)
|
|
|
|
MULTILIB_CHOST_TOOLS=(
|
|
/usr/bin/krb5-config
|
|
)
|
|
|
|
src_prepare() {
|
|
epatch "${FILESDIR}/heimdal_missing-include.patch"
|
|
epatch "${FILESDIR}/heimdal_db6.patch"
|
|
epatch "${FILESDIR}/heimdal_disable-check-iprop.patch"
|
|
epatch "${FILESDIR}/heimdal_link_order.patch"
|
|
epatch "${FILESDIR}/heimdal_missing_symbols.patch"
|
|
epatch "${FILESDIR}/heimdal_texinfo-5.patch"
|
|
epatch "${FILESDIR}/heimdal_tinfo.patch"
|
|
eautoreconf
|
|
}
|
|
|
|
src_configure() {
|
|
# QA
|
|
append-flags -fno-strict-aliasing
|
|
|
|
multilib-minimal_src_configure
|
|
}
|
|
|
|
multilib_src_configure() {
|
|
local myconf=()
|
|
if use berkdb; then
|
|
myconf+=(
|
|
--with-berkeley-db
|
|
--with-berkeley-db-include="$(db_includedir)"
|
|
)
|
|
else
|
|
myconf+=(
|
|
--without-berkeley-db
|
|
)
|
|
fi
|
|
|
|
ECONF_SOURCE=${S} \
|
|
econf \
|
|
--enable-kcm \
|
|
--disable-osfc2 \
|
|
--enable-shared \
|
|
--with-libintl=/usr \
|
|
--with-readline=/usr \
|
|
--with-sqlite3=/usr \
|
|
--libexecdir=/usr/sbin \
|
|
$(use_enable afs afs-support) \
|
|
$(use_enable otp) \
|
|
$(use_enable pkinit kx509) \
|
|
$(use_enable pkinit pk-init) \
|
|
$(use_enable static-libs static) \
|
|
$(use_enable threads pthread-support) \
|
|
$(multilib_native_use_with caps capng) \
|
|
$(multilib_native_use_with hdb-ldap openldap /usr) \
|
|
$(use_with ipv6) \
|
|
$(use_with ssl openssl /usr) \
|
|
$(multilib_native_use_with X x) \
|
|
"${myconf[@]}"
|
|
}
|
|
|
|
multilib_src_compile() {
|
|
if multilib_is_native_abi; then
|
|
emake -j1
|
|
else
|
|
emake -C include -j1
|
|
emake -C base -j1
|
|
emake -C lib -j1
|
|
emake -C kdc -j1
|
|
emake -C tools -j1
|
|
emake -C tests/plugin -j1
|
|
fi
|
|
}
|
|
|
|
multilib_src_test() {
|
|
multilib_is_native_abi && emake check
|
|
}
|
|
|
|
multilib_src_install() {
|
|
if multilib_is_native_abi; then
|
|
INSTALL_CATPAGES="no" emake DESTDIR="${D}" install
|
|
else
|
|
emake -C include DESTDIR="${D}" install
|
|
emake -C base DESTDIR="${D}" install
|
|
emake -C lib DESTDIR="${D}" install
|
|
emake -C kdc DESTDIR="${D}" install
|
|
emake -C tools DESTDIR="${D}" install
|
|
emake -C tests/plugin DESTDIR="${D}" install
|
|
fi
|
|
}
|
|
|
|
multilib_src_install_all() {
|
|
dodoc ChangeLog README NEWS TODO
|
|
|
|
# Begin client rename and install
|
|
for i in {telnetd,ftpd,rshd,popper}
|
|
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,pagsh,kf}
|
|
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
|
|
|
|
newinitd "${FILESDIR}"/heimdal-kdc.initd-r2 heimdal-kdc
|
|
newinitd "${FILESDIR}"/heimdal-kadmind.initd-r2 heimdal-kadmind
|
|
newinitd "${FILESDIR}"/heimdal-kpasswdd.initd-r2 heimdal-kpasswdd
|
|
newinitd "${FILESDIR}"/heimdal-kcm.initd-r1 heimdal-kcm
|
|
|
|
newconfd "${FILESDIR}"/heimdal-kdc.confd heimdal-kdc
|
|
newconfd "${FILESDIR}"/heimdal-kadmind.confd heimdal-kadmind
|
|
newconfd "${FILESDIR}"/heimdal-kpasswdd.confd heimdal-kpasswdd
|
|
newconfd "${FILESDIR}"/heimdal-kcm.confd heimdal-kcm
|
|
|
|
insinto /etc
|
|
newins "${FILESDIR}"/krb5.conf krb5.conf.example
|
|
|
|
if use hdb-ldap; then
|
|
insinto /etc/openldap/schema
|
|
doins "${S}/lib/hdb/hdb.schema"
|
|
fi
|
|
|
|
prune_libtool_files
|
|
|
|
# default database dir
|
|
keepdir /var/heimdal
|
|
|
|
# Ugly hack for broken symlink - bug #417081
|
|
rm "${D}"/usr/share/man/man5/qop.5 || die
|
|
dosym mech.5 /usr/share/man/man5/qop.5
|
|
}
|