sys-libs/libxcrypt-4.4.12: Version bump, fix USE=system
authorPatrick McLean <patrick.mclean@sony.com>
Thu, 6 Feb 2020 22:55:39 +0000 (14:55 -0800)
committerPatrick McLean <chutzpah@gentoo.org>
Thu, 6 Feb 2020 23:06:33 +0000 (15:06 -0800)
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.87, Repoman-2.3.20
Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
sys-libs/libxcrypt/Manifest
sys-libs/libxcrypt/files/libxcrypt-4.4.12-multibuild.patch [new file with mode: 0644]
sys-libs/libxcrypt/files/libxcrypt-4.4.12-pythonver.patch [new file with mode: 0644]
sys-libs/libxcrypt/libxcrypt-4.4.12.ebuild [moved from sys-libs/libxcrypt/libxcrypt-4.4.11.ebuild with 76% similarity]

index 7d6f6263be7f36c174c0f465d7fdc07512df8059..ee51b237512087d8cc987b158a1af1210a7e6fe1 100644 (file)
@@ -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 (file)
index 0000000..8062130
--- /dev/null
@@ -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 (file)
index 0000000..048a8eb
--- /dev/null
@@ -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], [])
similarity index 76%
rename from sys-libs/libxcrypt/libxcrypt-4.4.11.ebuild
rename to sys-libs/libxcrypt/libxcrypt-4.4.12.ebuild
index c48e1369c1c532362857455f2c3ab26cb3a5993c..269587522a859536afc15c48618941633be98353 100644 (file)
@@ -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
 }