commit:     6b6cf15b5ddbf383b4b8f58466fb337bc6704313
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Jan 22 19:24:45 2020 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Jan 22 19:24:45 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b6cf15b

sys-libs/libxcrypt-4.4.11: Version bump, add py38

Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>

 sys-libs/libxcrypt/Manifest                |   1 +
 sys-libs/libxcrypt/libxcrypt-4.4.11.ebuild | 153 +++++++++++++++++++++++++++++
 2 files changed, 154 insertions(+)

diff --git a/sys-libs/libxcrypt/Manifest b/sys-libs/libxcrypt/Manifest
index 0bdde211d72..7d6f6263be7 100644
--- a/sys-libs/libxcrypt/Manifest
+++ b/sys-libs/libxcrypt/Manifest
@@ -1,2 +1,3 @@
 DIST libxcrypt-4.4.10.tar.gz 499736 BLAKE2B 
32da99488c21a21c3310a735a08a70002a3a56d7d9d4a9fd0c16436ef2b42ee8a9b877c5b5dcbf1bc9a38fbef3370d5ff4585167ff25025f854ccd020014dcd4
 SHA512 
fd714542dad40db721c03270b5a03e2c068b0750e887dcac4c651433d5905d08bd5c5db3762cc2e4ceee0103bd62810559ea197d164126169e0b253675415ca2
+DIST libxcrypt-4.4.11.tar.gz 493509 BLAKE2B 
a2cd425194fa28fdde25def1f7c7cfc58af76ac228540e5d645f36295fb8fe21316393067d0a81764d7981e85003abeebd590b979e64191dd449f14bcbb613a0
 SHA512 
907802cf9979704888ec947a2dc57aebb9d1317184948a9e771f6ba59deb9434d93f962185c186e66bb891f1b9f92405b6884e85d2a1d99f55bac367cca12ef2
 DIST libxcrypt_2.4.orig.tar.gz 361503 BLAKE2B 
6347bea4b22ae7742cb516a0a8673bbd7c37f645b2dbb383f4c4a6bbcc95a12897068ab7354fa015bbb65f6dc331b95ce24b48aa4bdd7a57433d8f5bc245392d
 SHA512 
7171ce1b5b7f949232c4db94cf98bdd6396c3e2a8f2f483c041cab92d752e3a2fa93d564ede7efece57c069df129e6cc03049cf3e3f07bd3556031a7c4197cbf

diff --git a/sys-libs/libxcrypt/libxcrypt-4.4.11.ebuild 
b/sys-libs/libxcrypt/libxcrypt-4.4.11.ebuild
new file mode 100644
index 00000000000..c48e1369c1c
--- /dev/null
+++ b/sys-libs/libxcrypt/libxcrypt-4.4.11.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8} )
+inherit autotools multibuild python-any-r1 multilib-minimal
+
+DESCRIPTION="Extended crypt library for descrypt, md5crypt, bcrypt, and others 
"
+SRC_URI="https://github.com/besser82/${PN}/archive/v${PV}.tar.gz -> 
${P}.tar.gz"
+HOMEPAGE="https://github.com/besser82/libxcrypt";
+
+LICENSE="LGPL-2.1+ public-domain BSD BSD-2"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86"
+IUSE="+compat split-usr static-libs system test"
+
+DEPEND="system? (
+               elibc_glibc? ( sys-libs/glibc[-crypt(+)] )
+               !sys-libs/musl
+       )"
+RDEPEND="${DEPEND}"
+BDEPEND="sys-apps/findutils
+       test? (
+               ${PYTHON_DEPS}
+               $(python_gen_any_dep 'dev-python/passlib[${PYTHON_USEDEP}]')
+       )"
+
+# Gentoo CI complained about not having this
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+       "${FILESDIR}/libxcrypt-4.4.10-pythonver.patch"
+       "${FILESDIR}/libxcrypt-4.4.10-multibuild.patch"
+)
+
+pkg_setup() {
+       MULTIBUILD_VARIANTS=(
+               $(usex compat 'xcrypt_compat' '')
+               xcrypt_nocompat
+       )
+
+       use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+       default
+       eautoreconf
+}
+
+src_configure() {
+       multibuild_foreach_variant multilib-minimal_src_configure
+}
+
+get_xclibdir() {
+       printf -- "%s\n" "$(usex split-usr '' '/usr')/$(get_libdir)/$(usex 
system '' 'xcrypt')"
+}
+
+multilib_src_configure() {
+       local -a myconf=(
+               --libdir=$(get_xclibdir)
+               --with-pkgconfigdir=/usr/$(get_libdir)/pkgconfig
+               --includedir="${EPREFIX}/usr/include/$(usex system '' 'xcrypt')"
+       )
+
+       case "${MULTIBUILD_ID}" in
+               xcrypt_compat-*)
+                       myconf+=(
+                               --disable-static
+                               --disable-xcrypt-compat-files
+                               --enable-obsolete-api=yes
+                       )
+                       ;;
+               xcrypt_nocompat-*)
+                       myconf+=(
+                               --enable-obsolete-api=no
+                               $(use_enable static-libs static)
+                       )
+                       ;;
+               *) die "Unexpected MULTIBUILD_ID: ${MULTIBUILD_ID}";;
+       esac
+
+       ECONF_SOURCE="${S}" econf "${myconf[@]}"
+}
+
+src_compile() {
+       multibuild_foreach_variant multilib-minimal_src_compile
+}
+
+multilib_src_test() {
+       emake check
+}
+
+src_test() {
+       multibuild_foreach_variant multilib-minimal_src_test
+}
+
+src_install() {
+       multibuild_foreach_variant multilib-minimal_src_install
+
+       (
+               shopt -s failglob || die "failglob failed"
+
+               # make sure out man pages don't collide with glibc or man-pages
+               for manpage in "${ED}"/usr/share/man/man3/crypt{,_r}.?*; do
+                       mv -n "${manpage}" "$(dirname 
"${manpage}")/xcrypt_$(basename "${manpage}")" \
+                               || die "mv failed"
+               done
+       ) || die "failglob error"
+
+       # remove useless stuff from installation
+       find "${D}"/usr/share/doc/${PF} -type l -delete || die
+       find "${D}" -name '*.la' -delete || die
+}
+
+multilib_install() {
+       local install_target
+
+       case "${MULTIBUILD_ID}" in
+               xcrypt_compat-*) install_target="install-libLTLIBRARIES";;
+               xcrypt_nocompat-*)
+                       if is_final_abi; then
+                               install_target="install"
+                       else
+                               install_target="install-libLTLIBRARIES"
+                       fi
+                       ;;
+               *) die "Unexpected MULTIBUILD_ID: ${MULTIBUILD_ID}";;
+       esac
+
+       emake DESTDIR="${D}" ${install_target}
+
+       # don't install the libcrypt.so symlink for the "compat" version
+       case "${MULTIBUILD_ID}" in
+               xcrypt_compat-*)
+                       rm "${D}"$(get_xclibdir)/libcrypt$(get_libname) \
+                               "${D}"/usr/include/$(usex system '' 
'xcrypt/')xcrypt.h || die
+               ;;
+               xcrypt_nocompat-*)
+                       if use split-usr; then
+                               (
+                                       shopt -s failglob || die "failglob 
failed"
+
+                                       for so_file in 
"${D}"$(get_xclibdir)/*$(get_libname)*; do
+                                               so_file=$(basename 
"${so_file}") || die
+
+                                               dosym ../../$(usex system '' 
'../')$(get_libdir)/$(usex system '' 'xcrypt')/${so_file} \
+                                                       
/usr/$(get_libdir)/$(usex system '' 'xcrypt/')${so_file}
+                                       done
+                               ) || die "symlinking library failure"
+                       fi
+                       ;;
+       esac
+}

Reply via email to