summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-crypt/heimdal
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-crypt/heimdal')
-rw-r--r--app-crypt/heimdal/Manifest1
-rw-r--r--app-crypt/heimdal/files/heimdal-kadmind.confd5
-rw-r--r--app-crypt/heimdal/files/heimdal-kadmind.initd-r223
-rw-r--r--app-crypt/heimdal/files/heimdal-kcm.confd5
-rw-r--r--app-crypt/heimdal/files/heimdal-kcm.initd-r122
-rw-r--r--app-crypt/heimdal/files/heimdal-kdc.confd5
-rw-r--r--app-crypt/heimdal/files/heimdal-kdc.initd-r225
-rw-r--r--app-crypt/heimdal/files/heimdal-kpasswdd.confd5
-rw-r--r--app-crypt/heimdal/files/heimdal-kpasswdd.initd-r223
-rw-r--r--app-crypt/heimdal/files/heimdal_db6.patch41
-rw-r--r--app-crypt/heimdal/files/heimdal_disable-check-iprop.patch16
-rw-r--r--app-crypt/heimdal/files/heimdal_link_order.patch41
-rw-r--r--app-crypt/heimdal/files/heimdal_missing-include.patch11
-rw-r--r--app-crypt/heimdal/files/heimdal_missing_symbols.patch28
-rw-r--r--app-crypt/heimdal/files/heimdal_texinfo-5.patch28
-rw-r--r--app-crypt/heimdal/files/heimdal_tinfo.patch22
-rw-r--r--app-crypt/heimdal/files/krb5.conf27
-rw-r--r--app-crypt/heimdal/heimdal-1.5.3-r2.ebuild194
-rw-r--r--app-crypt/heimdal/metadata.xml17
19 files changed, 539 insertions, 0 deletions
diff --git a/app-crypt/heimdal/Manifest b/app-crypt/heimdal/Manifest
new file mode 100644
index 000000000000..e8322ee8ca31
--- /dev/null
+++ b/app-crypt/heimdal/Manifest
@@ -0,0 +1 @@
+DIST heimdal-1.5.3.tar.gz 6798305 SHA256 aac27bedb33c341b6aed202af07ccc816146a893148721f8123abbbf93bbfea5 SHA512 5c7890f60d6fe6b5034fca204eb7cdb33fdc397fe09b169212b6267310b83bb0b3b06a4c2888841be34c92cbd701bd95734b4019c33c147459c4a449861c4431 WHIRLPOOL 8202b1bdf76e84b4a0fea1aa89935dfb3fbcceca38c84ffb3e3e8454691398c9a7cecfad40c6661426be5e82f4e3f43b6d6494cf287900ff958e06603b602e19
diff --git a/app-crypt/heimdal/files/heimdal-kadmind.confd b/app-crypt/heimdal/files/heimdal-kadmind.confd
new file mode 100644
index 000000000000..5d75504a1402
--- /dev/null
+++ b/app-crypt/heimdal/files/heimdal-kadmind.confd
@@ -0,0 +1,5 @@
+# /etc/conf.d/heimdal-kadmind
+
+# Options to pass to the kadmind daemon. Please see man 8 kadmind for details.
+#
+# OPTIONS="--keytab=/etc/krb5.keytab"
diff --git a/app-crypt/heimdal/files/heimdal-kadmind.initd-r2 b/app-crypt/heimdal/files/heimdal-kadmind.initd-r2
new file mode 100644
index 000000000000..18d59709712d
--- /dev/null
+++ b/app-crypt/heimdal/files/heimdal-kadmind.initd-r2
@@ -0,0 +1,23 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ use net heimdal-kdc
+ after logger
+}
+
+start() {
+ ebegin "Starting Heimdal kadmind"
+ /usr/sbin/kadmind "${OPTIONS}" &
+ echo $! > /var/run/heimdal-kadmind.pid
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Heimdal kadmind"
+ start-stop-daemon --stop --quiet --exec \
+ /usr/sbin/kadmind
+ eend $?
+}
diff --git a/app-crypt/heimdal/files/heimdal-kcm.confd b/app-crypt/heimdal/files/heimdal-kcm.confd
new file mode 100644
index 000000000000..8c156aa9b677
--- /dev/null
+++ b/app-crypt/heimdal/files/heimdal-kcm.confd
@@ -0,0 +1,5 @@
+# /etc/conf.d/heimdal-kcm
+
+# Options to pass to the kcm daemon. Please see man 8 kcm for details
+#
+# OPTIONS="-c /etc/krb5.conf"
diff --git a/app-crypt/heimdal/files/heimdal-kcm.initd-r1 b/app-crypt/heimdal/files/heimdal-kcm.initd-r1
new file mode 100644
index 000000000000..d35872a549bf
--- /dev/null
+++ b/app-crypt/heimdal/files/heimdal-kcm.initd-r1
@@ -0,0 +1,22 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ after heimdal-kdc
+}
+
+OPTIONS="${OPTIONS} --detach"
+
+start() {
+ ebegin "Starting Heimdal KCM..."
+ start-stop-daemon --start --pidfile /var/run/kcm.pid --exec /usr/sbin/kcm -- ${OPTIONS# }
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Heimdal KCM..."
+ start-stop-daemon --stop --pidfile /var/run/kcm.pid --retry SIGKILL/5
+ eend $?
+}
diff --git a/app-crypt/heimdal/files/heimdal-kdc.confd b/app-crypt/heimdal/files/heimdal-kdc.confd
new file mode 100644
index 000000000000..d33f663feccd
--- /dev/null
+++ b/app-crypt/heimdal/files/heimdal-kdc.confd
@@ -0,0 +1,5 @@
+# /etc/conf.d/heimdal-kdc
+
+# Options to pass to the kdc daemon. Please see man 8 kdc for details
+#
+# OPTIONS="-c /etc/krb5.conf"
diff --git a/app-crypt/heimdal/files/heimdal-kdc.initd-r2 b/app-crypt/heimdal/files/heimdal-kdc.initd-r2
new file mode 100644
index 000000000000..cd04821c0827
--- /dev/null
+++ b/app-crypt/heimdal/files/heimdal-kdc.initd-r2
@@ -0,0 +1,25 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ use net
+ after logger
+}
+
+OPTIONS="${OPTIONS} --detach"
+
+start() {
+ ebegin "Starting Heimdal kdc"
+ start-stop-daemon --start --quiet --exec \
+ /usr/sbin/kdc -- ${OPTIONS# }
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Heimdal kdc"
+ start-stop-daemon --stop --quiet --exec \
+ /usr/sbin/kdc
+ eend $?
+}
diff --git a/app-crypt/heimdal/files/heimdal-kpasswdd.confd b/app-crypt/heimdal/files/heimdal-kpasswdd.confd
new file mode 100644
index 000000000000..7a3e808a9715
--- /dev/null
+++ b/app-crypt/heimdal/files/heimdal-kpasswdd.confd
@@ -0,0 +1,5 @@
+# /etc/conf.d/heimdal-kpasswdd
+
+# Options to pass to the kpasswdd daemon. Please see man 8 kpasswdd for details.
+#
+# OPTIONS="-k /etc/krb5.keytab"
diff --git a/app-crypt/heimdal/files/heimdal-kpasswdd.initd-r2 b/app-crypt/heimdal/files/heimdal-kpasswdd.initd-r2
new file mode 100644
index 000000000000..2c66ab9fced2
--- /dev/null
+++ b/app-crypt/heimdal/files/heimdal-kpasswdd.initd-r2
@@ -0,0 +1,23 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ use net heimdal-kdc
+ after logger
+}
+
+start() {
+ ebegin "Starting Heimdal kpasswdd"
+ start-stop-daemon --background --start --quiet --exec \
+ /usr/sbin/kpasswdd -- "${OPTIONS}"
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Heimdal kpasswdd"
+ start-stop-daemon --stop --quiet --exec \
+ /usr/sbin/kpasswdd
+ eend $?
+}
diff --git a/app-crypt/heimdal/files/heimdal_db6.patch b/app-crypt/heimdal/files/heimdal_db6.patch
new file mode 100644
index 000000000000..316cf1533791
--- /dev/null
+++ b/app-crypt/heimdal/files/heimdal_db6.patch
@@ -0,0 +1,41 @@
+--- a/cf/db.m4
++++ b/cf/db.m4
+@@ -51,6 +51,8 @@ dnl db_create is used by db3 and db4 and db5
+ #include <stdio.h>
+ #ifdef HAVE_DBHEADER
+ #include <$dbheader/db.h>
++ #elif HAVE_DB6_DB_H
++ #include <db6/db.h>
+ #elif HAVE_DB5_DB_H
+ #include <db5/db.h>
+ #elif HAVE_DB4_DB_H
+--- a/lib/hdb/db3.c
++++ b/lib/hdb/db3.c
+@@ -276,7 +276,7 @@
+ }
+ db->hdb_db = d;
+
+-#if (DB_VERSION_MAJOR >= 4) && (DB_VERSION_MINOR >= 1)
++#if (DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 1))
+ ret = (*d->open)(db->hdb_db, NULL, fn, NULL, DB_BTREE, myflags, mode);
+ #else
+ ret = (*d->open)(db->hdb_db, fn, NULL, DB_BTREE, myflags, mode);
+@@ -284,7 +284,7 @@
+
+ if (ret == ENOENT) {
+ /* try to open without .db extension */
+-#if (DB_VERSION_MAJOR >= 4) && (DB_VERSION_MINOR >= 1)
++#if (DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 1))
+ ret = (*d->open)(db->hdb_db, NULL, db->hdb_name, NULL, DB_BTREE,
+ myflags, mode);
+ #else
+--- a/cf/db.m4
++++ b/cf/db.m4
+@@ -38,6 +38,7 @@ AS_IF([test "x$with_berkeley_db" != xno],
+ fi
+ ])],
+ [AC_CHECK_HEADERS([ \
++ db6/db.h \
+ db5/db.h \
+ db4/db.h \
+ db3/db.h \
diff --git a/app-crypt/heimdal/files/heimdal_disable-check-iprop.patch b/app-crypt/heimdal/files/heimdal_disable-check-iprop.patch
new file mode 100644
index 000000000000..703fc7c94d46
--- /dev/null
+++ b/app-crypt/heimdal/files/heimdal_disable-check-iprop.patch
@@ -0,0 +1,16 @@
+diff --git a/tests/kdc/check-iprop.in b/tests/kdc/check-iprop.in
+index ba9aff1..0bea2ed 100644
+--- a/tests/kdc/check-iprop.in
++++ b/tests/kdc/check-iprop.in
+@@ -31,6 +31,11 @@
+ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ # SUCH DAMAGE.
+
++# check-iprop is known to fail and there is no easy way out
++# http://article.gmane.org/gmane.comp.encryption.kerberos.heimdal.general/5408
++# http://article.gmane.org/gmane.comp.encryption.kerberos.heimdal.general/5409
++exit 77
++
+ top_builddir="@top_builddir@"
+ env_setup="@env_setup@"
+ objdir="@objdir@"
diff --git a/app-crypt/heimdal/files/heimdal_link_order.patch b/app-crypt/heimdal/files/heimdal_link_order.patch
new file mode 100644
index 000000000000..fdf6a0af9bc9
--- /dev/null
+++ b/app-crypt/heimdal/files/heimdal_link_order.patch
@@ -0,0 +1,41 @@
+--- kadmin/Makefile.am.orig 2010-11-25 12:39:31.000000000 +0000
++++ kadmin/Makefile.am 2011-02-14 21:37:29.000000000 +0000
+@@ -64,10 +64,10 @@
+ $(top_builddir)/lib/krb5/libkrb5.la \
+ $(LIB_hcrypto) \
+ $(top_builddir)/lib/asn1/libasn1.la \
+- $(LIB_roken) \
+ $(DBLIB)
+
+ kadmind_LDADD = $(top_builddir)/lib/kadm5/libkadm5srv.la \
++ $(LIB_roken) \
+ ../lib/gssapi/libgssapi.la \
+ $(LDADD_common) \
+ $(LIB_pidfile) \
+@@ -78,12 +78,14 @@
+ $(top_builddir)/lib/kadm5/libkadm5srv.la \
+ $(top_builddir)/lib/sl/libsl.la \
+ $(LIB_readline) \
++ $(LIB_roken) \
+ $(LDADD_common) \
+ $(LIB_dlopen)
+
+ add_random_users_LDADD = \
+ $(top_builddir)/lib/kadm5/libkadm5clnt.la \
+ $(top_builddir)/lib/kadm5/libkadm5srv.la \
++ $(LIB_roken) \
+ $(LDADD_common) \
+ $(LIB_dlopen)
+
+--- tests/plugin/check-pac.in.orig 2010-11-25 12:39:31.000000000 +0000
++++ tests/plugin/check-pac.in 2011-02-16 13:24:50.000000000 +0000
+@@ -62,7 +62,8 @@
+ test_apreq="${TESTS_ENVIRONMENT} ../../lib/krb5/test_ap-req"
+
+ KRB5_CONFIG="${objdir}/krb5.conf"
+-export KRB5_CONFIG
++LD_PRELOAD="../../lib/roken/.libs/libroken.so"
++export KRB5_CONFIG LD_PRELOAD
+
+ rm -f ${keytabfile}
+ rm -f current-db*
diff --git a/app-crypt/heimdal/files/heimdal_missing-include.patch b/app-crypt/heimdal/files/heimdal_missing-include.patch
new file mode 100644
index 000000000000..e245cf8fff07
--- /dev/null
+++ b/app-crypt/heimdal/files/heimdal_missing-include.patch
@@ -0,0 +1,11 @@
+--- base/test_base.c 2011-09-30 15:58:45.000000000 +0300
++++ base/test_base.c 2011-12-27 23:04:50.482955923 +0200
+@@ -39,6 +39,8 @@
+ #include "heimbase.h"
+ #include "heimbasepriv.h"
+
++#include <stdlib.h>
++
+ static void
+ memory_free(heim_object_t obj)
+ {
diff --git a/app-crypt/heimdal/files/heimdal_missing_symbols.patch b/app-crypt/heimdal/files/heimdal_missing_symbols.patch
new file mode 100644
index 000000000000..aa915fb130dd
--- /dev/null
+++ b/app-crypt/heimdal/files/heimdal_missing_symbols.patch
@@ -0,0 +1,28 @@
+Add missing symbols. Cherry picked from upstream master.
+Bug #420821.
+
+--- a/lib/krb5/version-script.map 2012-01-10 21:53:51.000000000 +0000
++++ b/lib/krb5/version-script.map 2012-06-13 16:23:26.000000000 +0000
+@@ -42,6 +42,7 @@
+ krb5_auth_con_getrcache;
+ krb5_auth_con_getremoteseqnumber;
+ krb5_auth_con_getremotesubkey;
++ krb5_auth_con_getsendsubkey;
+ krb5_auth_con_init;
+ krb5_auth_con_removeflags;
+ krb5_auth_con_setaddrs;
+@@ -383,6 +384,14 @@
+ krb5_h_errno_to_heim_errno;
+ krb5_have_error_string;
+ krb5_hmac;
++ krb5_init_creds_init;
++ krb5_init_creds_set_service;
++ krb5_init_creds_set_keytab;
++ krb5_init_creds_get;
++ krb5_init_creds_set_password;
++ krb5_init_creds_free;
++ krb5_init_creds_get_creds;
++ krb5_init_creds_get_error;
+ krb5_init_context;
+ krb5_init_ets;
+ krb5_initlog;
diff --git a/app-crypt/heimdal/files/heimdal_texinfo-5.patch b/app-crypt/heimdal/files/heimdal_texinfo-5.patch
new file mode 100644
index 000000000000..b16a90cefdb0
--- /dev/null
+++ b/app-crypt/heimdal/files/heimdal_texinfo-5.patch
@@ -0,0 +1,28 @@
+--- a/doc/whatis.texi
++++ b/doc/whatis.texi
+@@ -35,10 +35,11 @@ services can authenticate each other.
+ @end macro
+ @end ifinfo
+
+-@tex
+-@def@xsub#1{$_{#1}$}
+-@global@let@sub=@xsub
+-@end tex
++@iftex
++@macro sub{arg}
++@textsubscript{\arg\}
++@end macro
++@end iftex
+
+ @ifhtml
+ @macro sub{arg}
+--- a/doc/win2k.texi
++++ b/doc/win2k.texi
+@@ -311,4 +311,5 @@ Other useful programs include these:
+
+ @itemize @bullet
+ @item pwdump2
+-@uref{http://www.bindview.com/Support/RAZOR/Utilities/Windows/pwdump2_readme.cfm}@end itemize
++@uref{http://www.bindview.com/Support/RAZOR/Utilities/Windows/pwdump2_readme.cfm}
++@end itemize
+
diff --git a/app-crypt/heimdal/files/heimdal_tinfo.patch b/app-crypt/heimdal/files/heimdal_tinfo.patch
new file mode 100644
index 000000000000..010a9037c7e6
--- /dev/null
+++ b/app-crypt/heimdal/files/heimdal_tinfo.patch
@@ -0,0 +1,22 @@
+--- heimdal-1.5/configure.ac.orig 2011-08-01 12:49:33.554689000 +0200
++++ heimdal-1.5/configure.ac 2011-08-01 13:54:12.707009421 +0200
+@@ -444,7 +444,7 @@
+ #endif
+ ],[0,0,0,0,0])
+
+-AC_FIND_FUNC_NO_LIBS(tgetent, termcap ncurses curses,[
++AC_FIND_FUNC_NO_LIBS(tgetent, tinfo ncurses curses termcap,[
+ #ifdef HAVE_TERMCAP_H
+ #include <termcap.h>
+ #endif
+--- heimdal-1.5/lib/libedit/configure.ac~ 2011-07-30 22:43:29.000000000 +0200
++++ heimdal-1.5/lib/libedit/configure.ac 2011-08-01 13:54:30.657009419 +0200
+@@ -33,7 +33,7 @@
+ EL_MANTYPE
+
+
+-AC_CHECK_LIB(curses, tgetent,,
++AC_CHECK_LIB(tinfo, tgetent,,
+ [AC_CHECK_LIB(ncurses, tgetent,,
+ [AC_MSG_ERROR([libcurses or libncurses are required!])] )] )
+
diff --git a/app-crypt/heimdal/files/krb5.conf b/app-crypt/heimdal/files/krb5.conf
new file mode 100644
index 000000000000..906eb4d087d0
--- /dev/null
+++ b/app-crypt/heimdal/files/krb5.conf
@@ -0,0 +1,27 @@
+[libdefaults]
+ default_realm = MY.REALM
+# clockskew = 300
+# v4_instance_resolve = false
+# v4_name_convert = {
+# host = {
+# rcmd = host
+# ftp = ftp
+# }
+# plain = {
+# something = something-else
+# }
+# }
+
+[realms]
+ MY.REALM = {
+ kdc = MY.COMPUTER
+ }
+# OTHER.REALM = {
+# v4_instance_convert = {
+# kerberos = kerberos
+# computer = computer.some.other.domain
+# }
+# }
+
+[domain_realm]
+ .my.domain = MY.REALM
diff --git a/app-crypt/heimdal/heimdal-1.5.3-r2.ebuild b/app-crypt/heimdal/heimdal-1.5.3-r2.ebuild
new file mode 100644
index 000000000000..21853f9d4959
--- /dev/null
+++ b/app-crypt/heimdal/heimdal-1.5.3-r2.ebuild
@@ -0,0 +1,194 @@
+# 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
+ >=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
+}
diff --git a/app-crypt/heimdal/metadata.xml b/app-crypt/heimdal/metadata.xml
new file mode 100644
index 000000000000..4fcd8e4919c8
--- /dev/null
+++ b/app-crypt/heimdal/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>kerberos</herd>
+<longdescription>Kerberos 5 implementation from KTH</longdescription>
+<use>
+ <flag name='otp'>
+ Adds support for one-time passwords
+ </flag>
+ <flag name='pkinit'>
+ Adds support for PKINIT for the initial ticket
+ </flag>
+ <flag name='hdb-ldap'>
+ Adds support for LDAP as a database backend
+ </flag>
+</use>
+</pkgmetadata>