Gentoo Archives: gentoo-commits

From: Patrick McLean <chutzpah@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-libs/libxcrypt/
Date: Wed, 22 Jan 2020 19:25:34
Message-Id: 1579721085.6b6cf15b5ddbf383b4b8f58466fb337bc6704313.chutzpah@gentoo
1 commit: 6b6cf15b5ddbf383b4b8f58466fb337bc6704313
2 Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
3 AuthorDate: Wed Jan 22 19:24:45 2020 +0000
4 Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
5 CommitDate: Wed Jan 22 19:24:45 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b6cf15b
7
8 sys-libs/libxcrypt-4.4.11: Version bump, add py38
9
10 Copyright: Sony Interactive Entertainment Inc.
11 Package-Manager: Portage-2.3.84, Repoman-2.3.20
12 Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
13
14 sys-libs/libxcrypt/Manifest | 1 +
15 sys-libs/libxcrypt/libxcrypt-4.4.11.ebuild | 153 +++++++++++++++++++++++++++++
16 2 files changed, 154 insertions(+)
17
18 diff --git a/sys-libs/libxcrypt/Manifest b/sys-libs/libxcrypt/Manifest
19 index 0bdde211d72..7d6f6263be7 100644
20 --- a/sys-libs/libxcrypt/Manifest
21 +++ b/sys-libs/libxcrypt/Manifest
22 @@ -1,2 +1,3 @@
23 DIST libxcrypt-4.4.10.tar.gz 499736 BLAKE2B 32da99488c21a21c3310a735a08a70002a3a56d7d9d4a9fd0c16436ef2b42ee8a9b877c5b5dcbf1bc9a38fbef3370d5ff4585167ff25025f854ccd020014dcd4 SHA512 fd714542dad40db721c03270b5a03e2c068b0750e887dcac4c651433d5905d08bd5c5db3762cc2e4ceee0103bd62810559ea197d164126169e0b253675415ca2
24 +DIST libxcrypt-4.4.11.tar.gz 493509 BLAKE2B a2cd425194fa28fdde25def1f7c7cfc58af76ac228540e5d645f36295fb8fe21316393067d0a81764d7981e85003abeebd590b979e64191dd449f14bcbb613a0 SHA512 907802cf9979704888ec947a2dc57aebb9d1317184948a9e771f6ba59deb9434d93f962185c186e66bb891f1b9f92405b6884e85d2a1d99f55bac367cca12ef2
25 DIST libxcrypt_2.4.orig.tar.gz 361503 BLAKE2B 6347bea4b22ae7742cb516a0a8673bbd7c37f645b2dbb383f4c4a6bbcc95a12897068ab7354fa015bbb65f6dc331b95ce24b48aa4bdd7a57433d8f5bc245392d SHA512 7171ce1b5b7f949232c4db94cf98bdd6396c3e2a8f2f483c041cab92d752e3a2fa93d564ede7efece57c069df129e6cc03049cf3e3f07bd3556031a7c4197cbf
26
27 diff --git a/sys-libs/libxcrypt/libxcrypt-4.4.11.ebuild b/sys-libs/libxcrypt/libxcrypt-4.4.11.ebuild
28 new file mode 100644
29 index 00000000000..c48e1369c1c
30 --- /dev/null
31 +++ b/sys-libs/libxcrypt/libxcrypt-4.4.11.ebuild
32 @@ -0,0 +1,153 @@
33 +# Copyright 1999-2020 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=7
37 +PYTHON_COMPAT=( python3_{6,7,8} )
38 +inherit autotools multibuild python-any-r1 multilib-minimal
39 +
40 +DESCRIPTION="Extended crypt library for descrypt, md5crypt, bcrypt, and others "
41 +SRC_URI="https://github.com/besser82/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
42 +HOMEPAGE="https://github.com/besser82/libxcrypt"
43 +
44 +LICENSE="LGPL-2.1+ public-domain BSD BSD-2"
45 +SLOT="0/1"
46 +KEYWORDS="~amd64 ~x86"
47 +IUSE="+compat split-usr static-libs system test"
48 +
49 +DEPEND="system? (
50 + elibc_glibc? ( sys-libs/glibc[-crypt(+)] )
51 + !sys-libs/musl
52 + )"
53 +RDEPEND="${DEPEND}"
54 +BDEPEND="sys-apps/findutils
55 + test? (
56 + ${PYTHON_DEPS}
57 + $(python_gen_any_dep 'dev-python/passlib[${PYTHON_USEDEP}]')
58 + )"
59 +
60 +# Gentoo CI complained about not having this
61 +RESTRICT="!test? ( test )"
62 +
63 +PATCHES=(
64 + "${FILESDIR}/libxcrypt-4.4.10-pythonver.patch"
65 + "${FILESDIR}/libxcrypt-4.4.10-multibuild.patch"
66 +)
67 +
68 +pkg_setup() {
69 + MULTIBUILD_VARIANTS=(
70 + $(usex compat 'xcrypt_compat' '')
71 + xcrypt_nocompat
72 + )
73 +
74 + use test && python-any-r1_pkg_setup
75 +}
76 +
77 +src_prepare() {
78 + default
79 + eautoreconf
80 +}
81 +
82 +src_configure() {
83 + multibuild_foreach_variant multilib-minimal_src_configure
84 +}
85 +
86 +get_xclibdir() {
87 + printf -- "%s\n" "$(usex split-usr '' '/usr')/$(get_libdir)/$(usex system '' 'xcrypt')"
88 +}
89 +
90 +multilib_src_configure() {
91 + local -a myconf=(
92 + --libdir=$(get_xclibdir)
93 + --with-pkgconfigdir=/usr/$(get_libdir)/pkgconfig
94 + --includedir="${EPREFIX}/usr/include/$(usex system '' 'xcrypt')"
95 + )
96 +
97 + case "${MULTIBUILD_ID}" in
98 + xcrypt_compat-*)
99 + myconf+=(
100 + --disable-static
101 + --disable-xcrypt-compat-files
102 + --enable-obsolete-api=yes
103 + )
104 + ;;
105 + xcrypt_nocompat-*)
106 + myconf+=(
107 + --enable-obsolete-api=no
108 + $(use_enable static-libs static)
109 + )
110 + ;;
111 + *) die "Unexpected MULTIBUILD_ID: ${MULTIBUILD_ID}";;
112 + esac
113 +
114 + ECONF_SOURCE="${S}" econf "${myconf[@]}"
115 +}
116 +
117 +src_compile() {
118 + multibuild_foreach_variant multilib-minimal_src_compile
119 +}
120 +
121 +multilib_src_test() {
122 + emake check
123 +}
124 +
125 +src_test() {
126 + multibuild_foreach_variant multilib-minimal_src_test
127 +}
128 +
129 +src_install() {
130 + multibuild_foreach_variant multilib-minimal_src_install
131 +
132 + (
133 + shopt -s failglob || die "failglob failed"
134 +
135 + # make sure out man pages don't collide with glibc or man-pages
136 + for manpage in "${ED}"/usr/share/man/man3/crypt{,_r}.?*; do
137 + mv -n "${manpage}" "$(dirname "${manpage}")/xcrypt_$(basename "${manpage}")" \
138 + || die "mv failed"
139 + done
140 + ) || die "failglob error"
141 +
142 + # remove useless stuff from installation
143 + find "${D}"/usr/share/doc/${PF} -type l -delete || die
144 + find "${D}" -name '*.la' -delete || die
145 +}
146 +
147 +multilib_install() {
148 + local install_target
149 +
150 + case "${MULTIBUILD_ID}" in
151 + xcrypt_compat-*) install_target="install-libLTLIBRARIES";;
152 + xcrypt_nocompat-*)
153 + if is_final_abi; then
154 + install_target="install"
155 + else
156 + install_target="install-libLTLIBRARIES"
157 + fi
158 + ;;
159 + *) die "Unexpected MULTIBUILD_ID: ${MULTIBUILD_ID}";;
160 + esac
161 +
162 + emake DESTDIR="${D}" ${install_target}
163 +
164 + # don't install the libcrypt.so symlink for the "compat" version
165 + case "${MULTIBUILD_ID}" in
166 + xcrypt_compat-*)
167 + rm "${D}"$(get_xclibdir)/libcrypt$(get_libname) \
168 + "${D}"/usr/include/$(usex system '' 'xcrypt/')xcrypt.h || die
169 + ;;
170 + xcrypt_nocompat-*)
171 + if use split-usr; then
172 + (
173 + shopt -s failglob || die "failglob failed"
174 +
175 + for so_file in "${D}"$(get_xclibdir)/*$(get_libname)*; do
176 + so_file=$(basename "${so_file}") || die
177 +
178 + dosym ../../$(usex system '' '../')$(get_libdir)/$(usex system '' 'xcrypt')/${so_file} \
179 + /usr/$(get_libdir)/$(usex system '' 'xcrypt/')${so_file}
180 + done
181 + ) || die "symlinking library failure"
182 + fi
183 + ;;
184 + esac
185 +}