commit:     b9483e34ff5c787d7bd68f26e8d04412dfcb28af
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Thu Feb  6 22:55:39 2020 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Feb  6 23:06:33 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b9483e34

sys-libs/libxcrypt-4.4.12: Version bump, fix USE=system

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

 sys-libs/libxcrypt/Manifest                        |  2 +-
 .../files/libxcrypt-4.4.12-multibuild.patch        | 25 ++++++++++
 .../files/libxcrypt-4.4.12-pythonver.patch         | 17 +++++++
 ...crypt-4.4.11.ebuild => libxcrypt-4.4.12.ebuild} | 54 ++++++++++++----------
 4 files changed, 72 insertions(+), 26 deletions(-)

diff --git a/sys-libs/libxcrypt/Manifest b/sys-libs/libxcrypt/Manifest
index 7d6f6263be7..ee51b237512 100644
--- a/sys-libs/libxcrypt/Manifest
+++ b/sys-libs/libxcrypt/Manifest
@@ -1,3 +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-4.4.12.tar.gz 493620 BLAKE2B 
185cc9a0b9f573801e75bf2ffb3eaa578016804d175443a53b2cef01334acb6f8fa5a0fe72e346ff368e3db355338b1f1dbd00e93828dde2594f0adee3753f69
 SHA512 
945dfd307ebd3d1b3dd9f22057b23b651c0ffaab55bf4151950565a3f0fea8b0e2bc2886318ceea707985d720e83e8663e4590bc72e91f470bae3a98f41ab30f
 DIST libxcrypt_2.4.orig.tar.gz 361503 BLAKE2B 
6347bea4b22ae7742cb516a0a8673bbd7c37f645b2dbb383f4c4a6bbcc95a12897068ab7354fa015bbb65f6dc331b95ce24b48aa4bdd7a57433d8f5bc245392d
 SHA512 
7171ce1b5b7f949232c4db94cf98bdd6396c3e2a8f2f483c041cab92d752e3a2fa93d564ede7efece57c069df129e6cc03049cf3e3f07bd3556031a7c4197cbf

diff --git a/sys-libs/libxcrypt/files/libxcrypt-4.4.12-multibuild.patch 
b/sys-libs/libxcrypt/files/libxcrypt-4.4.12-multibuild.patch
new file mode 100644
index 00000000000..80621303688
--- /dev/null
+++ b/sys-libs/libxcrypt/files/libxcrypt-4.4.12-multibuild.patch
@@ -0,0 +1,25 @@
+diff --git a/Makefile.am b/Makefile.am
+index 26db1c1..597c3f4 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -84,11 +84,7 @@ noinst_HEADERS = \
+       test/des-cases.h \
+       test/ka-table.inc
+ 
+-if ENABLE_XCRYPT_COMPAT_FILES
+ nodist_include_HEADERS += xcrypt.h
+-else
+-nodist_noinst_HEADERS += xcrypt.h
+-endif
+ 
+ noinst_PROGRAMS = \
+       lib/gen-des-tables
+@@ -137,7 +133,7 @@ uninstall_hook_targets = \
+       uninstall-hook-pkgconfig
+ install-data-hook-pkgconfig:
+       cd $(DESTDIR)$(pkgconfigdir) && \
+-              $(LN_S) libxcrypt.pc libcrypt.pc
++              $(LN_S) -f libxcrypt.pc libcrypt.pc
+ uninstall-hook-pkgconfig:
+       -rm -f $(DESTDIR)$(pkgconfigdir)/libcrypt.pc
+ 

diff --git a/sys-libs/libxcrypt/files/libxcrypt-4.4.12-pythonver.patch 
b/sys-libs/libxcrypt/files/libxcrypt-4.4.12-pythonver.patch
new file mode 100644
index 00000000000..048a8ebe0a7
--- /dev/null
+++ b/sys-libs/libxcrypt/files/libxcrypt-4.4.12-pythonver.patch
@@ -0,0 +1,17 @@
+diff --git a/configure.ac b/configure.ac
+index 1e74bb1..4249fb5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -241,11 +241,7 @@ ENABLE_KA_TABLE_GEN="no"
+ # This way we just need one call to AC_PATH_PROGS to likely get a
+ # suitable version of Python.  The version check afterwards is for
+ # the case just a generic 'python3' or 'python' executable was found.
+-PYTHON_CANDIDATE_VERSIONS="python3 python"
+-
+-for ver in `seq 6 1 10`; do
+-  PYTHON_CANDIDATE_VERSIONS="python3.$ver $PYTHON_CANDIDATE_VERSIONS"
+-done
++PYTHON_CANDIDATE_VERSIONS="${EPYTHON}"
+ 
+ AC_PATH_PROGS([PYTHON], [$PYTHON_CANDIDATE_VERSIONS], [])
+ 

diff --git a/sys-libs/libxcrypt/libxcrypt-4.4.11.ebuild 
b/sys-libs/libxcrypt/libxcrypt-4.4.12.ebuild
similarity index 76%
rename from sys-libs/libxcrypt/libxcrypt-4.4.11.ebuild
rename to sys-libs/libxcrypt/libxcrypt-4.4.12.ebuild
index c48e1369c1c..269587522a8 100644
--- a/sys-libs/libxcrypt/libxcrypt-4.4.11.ebuild
+++ b/sys-libs/libxcrypt/libxcrypt-4.4.12.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 PYTHON_COMPAT=( python3_{6,7,8} )
-inherit autotools multibuild python-any-r1 multilib-minimal
+inherit autotools usr-ldscript 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"
@@ -25,12 +25,11 @@ BDEPEND="sys-apps/findutils
                $(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"
+       "${FILESDIR}/libxcrypt-4.4.12-pythonver.patch"
+       "${FILESDIR}/libxcrypt-4.4.12-multibuild.patch"
 )
 
 pkg_setup() {
@@ -52,7 +51,10 @@ src_configure() {
 }
 
 get_xclibdir() {
-       printf -- "%s\n" "$(usex split-usr '' '/usr')/$(get_libdir)/$(usex 
system '' 'xcrypt')"
+       printf -- "%s/%s/%s\n" \
+               "$(usex split-usr '' '/usr')" \
+               "$(get_libdir)" \
+               "$(usex system '' 'xcrypt')"
 }
 
 multilib_src_configure() {
@@ -75,7 +77,7 @@ multilib_src_configure() {
                                --enable-obsolete-api=no
                                $(use_enable static-libs static)
                        )
-                       ;;
+               ;;
                *) die "Unexpected MULTIBUILD_ID: ${MULTIBUILD_ID}";;
        esac
 
@@ -107,33 +109,21 @@ src_install() {
                done
        ) || die "failglob error"
 
+       gen_usr_ldscript libxcrypt.so $(usex system 'libcrypt.so' '')
+
        # 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}
+multilib_src_install() {
+       emake DESTDIR="${D}" install
 
        # 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
+                               || die "failed to remove extra compat libraries"
                ;;
                xcrypt_nocompat-*)
                        if use split-usr; then
@@ -143,11 +133,25 @@ multilib_install() {
                                        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} \
+                                               dosym ../../$(usex system '' 
'../')$(get_libdir)$(usex system '' '/xcrypt')/${so_file} \
                                                        
/usr/$(get_libdir)/$(usex system '' 'xcrypt/')${so_file}
                                        done
                                ) || die "symlinking library failure"
                        fi
-                       ;;
+               ;;
+               *) die "Unexpected MULTIBUILD_ID: ${MULTIBUILD_ID}";;
        esac
+
+       # .a files are installed to /$(get_libdir) by default
+       if use static-libs; then
+               (
+                       shopt -s nullglob || die "nullglob failed"
+                       static_libs=( "${D}"/$(get_xclibdir)/*.a )
+
+                       if [[ -n ${static_libs[*]} ]]; then
+                               mv "${static_libs[@]}" 
"${D}/usr/$(get_xclibdir)" \
+                                       || die "moving static libs failed"
+                       fi
+               )
+       fi
 }

Reply via email to