Gentoo Archives: gentoo-commits

From: Sergei Trofimovich <slyfox@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-crypt/mit-krb5/
Date: Fri, 05 Jun 2020 07:12:35
Message-Id: 1591341145.8aa950ce929fb1c134b96ac0dbc0f63547038334.slyfox@gentoo
1 commit: 8aa950ce929fb1c134b96ac0dbc0f63547038334
2 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jun 5 07:05:19 2020 +0000
4 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
5 CommitDate: Fri Jun 5 07:12:25 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8aa950ce
7
8 app-crypt/mit-krb5: respect user's AR
9
10 Reported-by: Agostino Sarubbo
11 Closes: https://bugs.gentoo.org/475612
12 Package-Manager: Portage-2.3.100, Repoman-2.3.22
13 Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
14
15 app-crypt/mit-krb5/mit-krb5-1.18.2-r1.ebuild | 167 +++++++++++++++++++++++++++
16 1 file changed, 167 insertions(+)
17
18 diff --git a/app-crypt/mit-krb5/mit-krb5-1.18.2-r1.ebuild b/app-crypt/mit-krb5/mit-krb5-1.18.2-r1.ebuild
19 new file mode 100644
20 index 00000000000..354afa7b16e
21 --- /dev/null
22 +++ b/app-crypt/mit-krb5/mit-krb5-1.18.2-r1.ebuild
23 @@ -0,0 +1,167 @@
24 +# Copyright 1999-2020 Gentoo Authors
25 +# Distributed under the terms of the GNU General Public License v2
26 +
27 +EAPI=7
28 +
29 +PYTHON_COMPAT=( python3_{7,8} )
30 +inherit autotools flag-o-matic multilib-minimal python-any-r1 systemd toolchain-funcs
31 +
32 +MY_P="${P/mit-}"
33 +P_DIR=$(ver_cut 1-2)
34 +DESCRIPTION="MIT Kerberos V"
35 +HOMEPAGE="https://web.mit.edu/kerberos/www/"
36 +SRC_URI="https://web.mit.edu/kerberos/dist/krb5/${P_DIR}/${MY_P}.tar.gz"
37 +
38 +LICENSE="openafs-krb5-a BSD MIT OPENLDAP BSD-2 HPND BSD-4 ISC RSA CC-BY-SA-3.0 || ( BSD-2 GPL-2+ )"
39 +SLOT="0"
40 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
41 +IUSE="cpu_flags_x86_aes doc +keyutils libressl lmdb nls openldap +pkinit selinux +threads test xinetd"
42 +
43 +# Test suite requires network access
44 +RESTRICT="test"
45 +
46 +DEPEND="
47 + !!app-crypt/heimdal
48 + >=sys-libs/e2fsprogs-libs-1.42.9[${MULTILIB_USEDEP}]
49 + || (
50 + >=dev-libs/libverto-0.2.5[libev,${MULTILIB_USEDEP}]
51 + >=dev-libs/libverto-0.2.5[libevent,${MULTILIB_USEDEP}]
52 + >=dev-libs/libverto-0.2.5[tevent,${MULTILIB_USEDEP}]
53 + )
54 + keyutils? ( >=sys-apps/keyutils-1.5.8:=[${MULTILIB_USEDEP}] )
55 + lmdb? ( dev-db/lmdb )
56 + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] )
57 + openldap? ( >=net-nds/openldap-2.4.38-r1[${MULTILIB_USEDEP}] )
58 + pkinit? (
59 + !libressl? ( >=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}] )
60 + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] )
61 + )
62 + xinetd? ( sys-apps/xinetd )
63 + "
64 +BDEPEND="
65 + ${PYTHON_DEPS}
66 + virtual/yacc
67 + cpu_flags_x86_aes? (
68 + amd64? ( dev-lang/yasm )
69 + x86? ( dev-lang/yasm )
70 + )
71 + doc? ( virtual/latex-base )
72 + test? (
73 + ${PYTHON_DEPS}
74 + dev-lang/tcl:0
75 + dev-util/dejagnu
76 + dev-util/cmocka
77 + )"
78 +RDEPEND="${DEPEND}
79 + selinux? ( sec-policy/selinux-kerberos )"
80 +
81 +S=${WORKDIR}/${MY_P}/src
82 +
83 +PATCHES=(
84 + "${FILESDIR}/${PN}-1.12_warn_cflags.patch"
85 + "${FILESDIR}/${PN}-config_LDFLAGS-r1.patch"
86 + "${FILESDIR}/${PN}-1.16.3-libressl-r1.patch"
87 + "${FILESDIR}/${PN}_dont_create_run.patch"
88 + "${FILESDIR}/${PN}-1.18-libressl.patch"
89 +)
90 +
91 +MULTILIB_CHOST_TOOLS=(
92 + /usr/bin/krb5-config
93 +)
94 +
95 +src_prepare() {
96 + default
97 + # Make sure we always use the system copies.
98 + rm -rf util/{et,ss,verto}
99 + sed -i 's:^[[:space:]]*util/verto$::' configure.ac || die
100 +
101 + eautoreconf
102 +}
103 +
104 +src_configure() {
105 + # QA
106 + append-flags -fno-strict-aliasing
107 + append-flags -fno-strict-overflow
108 +
109 + multilib-minimal_src_configure
110 +}
111 +
112 +multilib_src_configure() {
113 + ECONF_SOURCE=${S} \
114 + WARN_CFLAGS="set" \
115 + econf \
116 + $(use_with openldap ldap) \
117 + "$(multilib_native_use_with test tcl "${EPREFIX}/usr")" \
118 + $(use_enable nls) \
119 + $(use_enable pkinit) \
120 + $(use_enable threads thread-support) \
121 + $(use_with lmdb) \
122 + $(use_with keyutils) \
123 + --without-hesiod \
124 + --enable-shared \
125 + --with-system-et \
126 + --with-system-ss \
127 + --enable-dns-for-realm \
128 + --enable-kdc-lookaside-cache \
129 + --with-system-verto \
130 + --disable-rpath \
131 + \
132 + AR="$(tc-getAR)"
133 +}
134 +
135 +multilib_src_compile() {
136 + emake -j1
137 +}
138 +
139 +multilib_src_test() {
140 + multilib_is_native_abi && emake -j1 check
141 +}
142 +
143 +multilib_src_install() {
144 + emake \
145 + DESTDIR="${D}" \
146 + EXAMPLEDIR="${EPREFIX}/usr/share/doc/${PF}/examples" \
147 + install
148 +}
149 +
150 +multilib_src_install_all() {
151 + # default database dir
152 + keepdir /var/lib/krb5kdc
153 +
154 + cd ..
155 + dodoc README
156 +
157 + if use doc; then
158 + dodoc -r doc/html
159 + docinto pdf
160 + dodoc doc/pdf/*.pdf
161 + fi
162 +
163 + newinitd "${FILESDIR}"/mit-krb5kadmind.initd-r2 mit-krb5kadmind
164 + newinitd "${FILESDIR}"/mit-krb5kdc.initd-r2 mit-krb5kdc
165 + newinitd "${FILESDIR}"/mit-krb5kpropd.initd-r2 mit-krb5kpropd
166 + newconfd "${FILESDIR}"/mit-krb5kadmind.confd mit-krb5kadmind
167 + newconfd "${FILESDIR}"/mit-krb5kdc.confd mit-krb5kdc
168 + newconfd "${FILESDIR}"/mit-krb5kpropd.confd mit-krb5kpropd
169 +
170 + systemd_newunit "${FILESDIR}"/mit-krb5kadmind.service mit-krb5kadmind.service
171 + systemd_newunit "${FILESDIR}"/mit-krb5kdc.service mit-krb5kdc.service
172 + systemd_newunit "${FILESDIR}"/mit-krb5kpropd.service mit-krb5kpropd.service
173 + systemd_newunit "${FILESDIR}"/mit-krb5kpropd_at.service "mit-krb5kpropd@.service"
174 + systemd_newunit "${FILESDIR}"/mit-krb5kpropd.socket mit-krb5kpropd.socket
175 +
176 + insinto /etc
177 + newins "${ED}/usr/share/doc/${PF}/examples/krb5.conf" krb5.conf.example
178 + insinto /var/lib/krb5kdc
179 + newins "${ED}/usr/share/doc/${PF}/examples/kdc.conf" kdc.conf.example
180 +
181 + if use openldap ; then
182 + insinto /etc/openldap/schema
183 + doins "${S}/plugins/kdb/ldap/libkdb_ldap/kerberos.schema"
184 + fi
185 +
186 + if use xinetd ; then
187 + insinto /etc/xinetd.d
188 + newins "${FILESDIR}/kpropd.xinetd" kpropd
189 + fi
190 +}