* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libxcrypt/files/, sys-libs/libxcrypt/
@ 2019-11-05 2:53 Patrick McLean
0 siblings, 0 replies; 6+ messages in thread
From: Patrick McLean @ 2019-11-05 2:53 UTC (permalink / raw
To: gentoo-commits
commit: 8efc5d79172a5337ec56ddcff487a277dbf88886
Author: Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Tue Nov 5 02:52:19 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Tue Nov 5 02:52:59 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8efc5d79
sys-libs/libxcrypt: Version bump to 4.4.10 (bug #686478)
This installs to an alternate `xcrypt` subdirectory as suggested by
Michał Górny at https://bugs.gentoo.org/686478#c9 to avoid the issues
mentioned at https://bugs.gentoo.org/686478#c1
Since this installs a pkgconfig, any reverse dependency using pkgconfig
should pick up the path change automatically. Otherwise they will have
to be updated.
Closes: https://bugs.gentoo.org/686478
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.78, Repoman-2.3.17
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-libs/libxcrypt/Manifest | 1 +
.../files/libxcrypt-4.4.10-pythonver.patch | 17 +++++++
sys-libs/libxcrypt/libxcrypt-4.4.10.ebuild | 57 ++++++++++++++++++++++
sys-libs/libxcrypt/metadata.xml | 21 ++++----
4 files changed, 87 insertions(+), 9 deletions(-)
diff --git a/sys-libs/libxcrypt/Manifest b/sys-libs/libxcrypt/Manifest
index 707e4d36b80..0bdde211d72 100644
--- a/sys-libs/libxcrypt/Manifest
+++ b/sys-libs/libxcrypt/Manifest
@@ -1 +1,2 @@
+DIST libxcrypt-4.4.10.tar.gz 499736 BLAKE2B 32da99488c21a21c3310a735a08a70002a3a56d7d9d4a9fd0c16436ef2b42ee8a9b877c5b5dcbf1bc9a38fbef3370d5ff4585167ff25025f854ccd020014dcd4 SHA512 fd714542dad40db721c03270b5a03e2c068b0750e887dcac4c651433d5905d08bd5c5db3762cc2e4ceee0103bd62810559ea197d164126169e0b253675415ca2
DIST libxcrypt_2.4.orig.tar.gz 361503 BLAKE2B 6347bea4b22ae7742cb516a0a8673bbd7c37f645b2dbb383f4c4a6bbcc95a12897068ab7354fa015bbb65f6dc331b95ce24b48aa4bdd7a57433d8f5bc245392d SHA512 7171ce1b5b7f949232c4db94cf98bdd6396c3e2a8f2f483c041cab92d752e3a2fa93d564ede7efece57c069df129e6cc03049cf3e3f07bd3556031a7c4197cbf
diff --git a/sys-libs/libxcrypt/files/libxcrypt-4.4.10-pythonver.patch b/sys-libs/libxcrypt/files/libxcrypt-4.4.10-pythonver.patch
new file mode 100644
index 00000000000..0ca1563995b
--- /dev/null
+++ b/sys-libs/libxcrypt/files/libxcrypt-4.4.10-pythonver.patch
@@ -0,0 +1,17 @@
+diff --git a/configure.ac b/configure.ac
+index 16885c8..fd8c8e3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -247,11 +247,7 @@ ENABLE_CRYPT_KAT_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.10.ebuild b/sys-libs/libxcrypt/libxcrypt-4.4.10.ebuild
new file mode 100644
index 00000000000..c656e73548c
--- /dev/null
+++ b/sys-libs/libxcrypt/libxcrypt-4.4.10.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7} )
+inherit python-any-r1 autotools
+
+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/2"
+KEYWORDS="~amd64 ~x86"
+IUSE="split-usr test"
+
+BDEPEND="sys-apps/findutils
+ test? ( ${PYTHON_DEPS} )"
+
+PATCHES=(
+ "${FILESDIR}/libxcrypt-4.4.10-pythonver.patch"
+)
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-static \
+ --enable-obsolete-api=no \
+ --libdir=$(usex split-usr '/usr' '')/$(get_libdir)/xcrypt \
+ --with-pkgconfigdir=/usr/$(get_libdir)/pkgconfig \
+ --includedir="${EPREFIX}/usr/include/xcrypt"
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ default
+
+ # make sure out man pages don't collide with glibc or man-pages
+ (
+ shopt -s failglob || die "failglob failed"
+ for manpage in "${ED}"/usr/share/man/man*/*.?*; do
+ mv -n "${manpage}" "$(dirname "${manpage}")/xcrypt_$(basename "${manpage}")" \
+ || die "mv failed"
+ done
+ ) || die "no man pages to rename"
+}
diff --git a/sys-libs/libxcrypt/metadata.xml b/sys-libs/libxcrypt/metadata.xml
index 3f12685cdb1..8ce970ea7f3 100644
--- a/sys-libs/libxcrypt/metadata.xml
+++ b/sys-libs/libxcrypt/metadata.xml
@@ -1,13 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>hardened@gentoo.org</email>
- <name>Gentoo Hardened</name>
- </maintainer>
- <longdescription>
- Crypt library for DES, MD5, and blowfish. Libxcrypt is a replacement for
- libcrypt, which comes with the GNU C Library. It supports DES crypt,
- MD5, and passwords with blowfish encryption.
- </longdescription>
+ <maintainer type="project">
+ <email>hardened@gentoo.org</email>
+ <name>Gentoo Hardened</name>
+ </maintainer>
+ <longdescription>
+ Crypt library for DES, MD5, and blowfish. Libxcrypt is a replacement for
+ libcrypt, which comes with the GNU C Library. It supports DES crypt,
+ MD5, and passwords with blowfish encryption.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">besser82/libxcrypt</remote-id>
+ </upstream>
</pkgmetadata>
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libxcrypt/files/, sys-libs/libxcrypt/
@ 2019-11-07 5:40 Patrick McLean
0 siblings, 0 replies; 6+ messages in thread
From: Patrick McLean @ 2019-11-07 5:40 UTC (permalink / raw
To: gentoo-commits
commit: 3306b3bda5ab66f9d0a5afeb7db0ae8e3a9a48a2
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 7 05:36:37 2019 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Thu Nov 7 05:40:23 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3306b3bd
sys-libs/libxcrypt: Revbump to 4.4.10-r1 add multilib and compat USE
- multilib support
- a "compat" USE flag that installs a library with binary compatibility
with glibc
- a "system" USE flag that installs as the system libcrypto.so, this
collides with the default config of glibc, so it is
package.use.mask-ed
Package-Manager: Portage-2.3.78, Repoman-2.3.17
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
.../files/libxcrypt-4.4.10-multibuild.patch | 25 ++++
sys-libs/libxcrypt/libxcrypt-4.4.10-r1.ebuild | 150 +++++++++++++++++++++
sys-libs/libxcrypt/libxcrypt-4.4.10.ebuild | 60 ---------
sys-libs/libxcrypt/metadata.xml | 4 +
4 files changed, 179 insertions(+), 60 deletions(-)
diff --git a/sys-libs/libxcrypt/files/libxcrypt-4.4.10-multibuild.patch b/sys-libs/libxcrypt/files/libxcrypt-4.4.10-multibuild.patch
new file mode 100644
index 00000000000..aee7d7229b1
--- /dev/null
+++ b/sys-libs/libxcrypt/files/libxcrypt-4.4.10-multibuild.patch
@@ -0,0 +1,25 @@
+diff --git a/Makefile.am b/Makefile.am
+index 3502a5c..afb8079 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -84,11 +84,7 @@ noinst_HEADERS = \
+ test/des-cases.h \
+ test/crypt-kat.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/libxcrypt-4.4.10-r1.ebuild b/sys-libs/libxcrypt/libxcrypt-4.4.10-r1.ebuild
new file mode 100644
index 00000000000..75fc58ebd03
--- /dev/null
+++ b/sys-libs/libxcrypt/libxcrypt-4.4.10-r1.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7} )
+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} )"
+
+# 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() {
+ multibuild_foreach_variant run_in_build_dir 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
+}
diff --git a/sys-libs/libxcrypt/libxcrypt-4.4.10.ebuild b/sys-libs/libxcrypt/libxcrypt-4.4.10.ebuild
deleted file mode 100644
index 93bc10d01ca..00000000000
--- a/sys-libs/libxcrypt/libxcrypt-4.4.10.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
-inherit python-any-r1 autotools
-
-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/2"
-KEYWORDS="~amd64 ~x86"
-IUSE="split-usr test"
-
-BDEPEND="sys-apps/findutils
- test? ( ${PYTHON_DEPS} )"
-
-# Gentoo CI complained about not having this
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${FILESDIR}/libxcrypt-4.4.10-pythonver.patch"
-)
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- --disable-static \
- --enable-obsolete-api=no \
- --libdir=$(usex split-usr '/usr' '')/$(get_libdir)/xcrypt \
- --with-pkgconfigdir=/usr/$(get_libdir)/pkgconfig \
- --includedir="${EPREFIX}/usr/include/xcrypt"
-}
-
-src_test() {
- emake check
-}
-
-src_install() {
- default
-
- # make sure out man pages don't collide with glibc or man-pages
- (
- shopt -s failglob || die "failglob failed"
- for manpage in "${ED}"/usr/share/man/man*/*.?*; do
- mv -n "${manpage}" "$(dirname "${manpage}")/xcrypt_$(basename "${manpage}")" \
- || die "mv failed"
- done
- ) || die "no man pages to rename"
-}
diff --git a/sys-libs/libxcrypt/metadata.xml b/sys-libs/libxcrypt/metadata.xml
index 8ce970ea7f3..d84b73d6af1 100644
--- a/sys-libs/libxcrypt/metadata.xml
+++ b/sys-libs/libxcrypt/metadata.xml
@@ -10,6 +10,10 @@
libcrypt, which comes with the GNU C Library. It supports DES crypt,
MD5, and passwords with blowfish encryption.
</longdescription>
+ <use>
+ <flag name="compat">Build with compatibility interfaces for other crypt implementations</flag>
+ <flag name="system">Install as system libcrypt.so rather than to an alternate directory (will collide with sys-libs/glibc's version)</flag>
+ </use>
<upstream>
<remote-id type="github">besser82/libxcrypt</remote-id>
</upstream>
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libxcrypt/files/, sys-libs/libxcrypt/
@ 2020-02-06 23:06 Patrick McLean
0 siblings, 0 replies; 6+ messages in thread
From: Patrick McLean @ 2020-02-06 23:06 UTC (permalink / raw
To: gentoo-commits
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
}
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libxcrypt/files/, sys-libs/libxcrypt/
@ 2020-09-12 4:41 Patrick McLean
0 siblings, 0 replies; 6+ messages in thread
From: Patrick McLean @ 2020-09-12 4:41 UTC (permalink / raw
To: gentoo-commits
commit: b6b6a736d1b2f248319fc8f9bce3179551000012
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 12 04:41:08 2020 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Sat Sep 12 04:41:08 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b6b6a736
sys-libs/libxcrypt: Remove old
Package-Manager: Portage-3.0.6, Repoman-3.0.1
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-libs/libxcrypt/Manifest | 3 -
.../libxcrypt/files/libxcrypt-2.4-glibc-2.16.patch | 40 -----
.../files/libxcrypt-4.4.10-multibuild.patch | 25 ----
.../files/libxcrypt-4.4.10-pythonver.patch | 17 ---
sys-libs/libxcrypt/libxcrypt-2.4.ebuild | 28 ----
sys-libs/libxcrypt/libxcrypt-4.4.10-r1.ebuild | 153 -------------------
sys-libs/libxcrypt/libxcrypt-4.4.12-r3.ebuild | 163 ---------------------
7 files changed, 429 deletions(-)
diff --git a/sys-libs/libxcrypt/Manifest b/sys-libs/libxcrypt/Manifest
index 45541365c9f..c6dcdc9dde5 100644
--- a/sys-libs/libxcrypt/Manifest
+++ b/sys-libs/libxcrypt/Manifest
@@ -1,5 +1,2 @@
-DIST libxcrypt-4.4.10.tar.gz 499736 BLAKE2B 32da99488c21a21c3310a735a08a70002a3a56d7d9d4a9fd0c16436ef2b42ee8a9b877c5b5dcbf1bc9a38fbef3370d5ff4585167ff25025f854ccd020014dcd4 SHA512 fd714542dad40db721c03270b5a03e2c068b0750e887dcac4c651433d5905d08bd5c5db3762cc2e4ceee0103bd62810559ea197d164126169e0b253675415ca2
-DIST libxcrypt-4.4.12.tar.gz 493620 BLAKE2B 185cc9a0b9f573801e75bf2ffb3eaa578016804d175443a53b2cef01334acb6f8fa5a0fe72e346ff368e3db355338b1f1dbd00e93828dde2594f0adee3753f69 SHA512 945dfd307ebd3d1b3dd9f22057b23b651c0ffaab55bf4151950565a3f0fea8b0e2bc2886318ceea707985d720e83e8663e4590bc72e91f470bae3a98f41ab30f
DIST libxcrypt-4.4.16.tar.gz 480694 BLAKE2B 0e93c2ff45a8148f82a80a67fb732a3ef42e87505d19258023f91d3352a382483204e77e2704e7a0de15f4f1e38a326d0867506a5580faf8c81857270588a4a3 SHA512 e1d3b1262c6be7c6c8847b8c4eb8191d9e5e482798be6f1186876c72f3d8c737124378ec45a38aa464f556e10a557b96f855bd371f03c3611eada27904bf6781
DIST libxcrypt-4.4.17.tar.gz 519096 BLAKE2B 12cbe3d1f235baddd8d2ec8159f2a7514e75c2f91cf0db18ef909ec11c38ac19efebecec647a90cafb27c7ebc7e940da448ca8f3edd1c49e5cb9cc4407d5198c SHA512 94aaba6ccf9b6d1a32f9a571ee32261cecd393d5b8d8c6f18d740dc7bb29ac0fbd381124e7f0d84882559bb634208c08151b3dc05c9138fa0a229c4ba20fb6f7
-DIST libxcrypt_2.4.orig.tar.gz 361503 BLAKE2B 6347bea4b22ae7742cb516a0a8673bbd7c37f645b2dbb383f4c4a6bbcc95a12897068ab7354fa015bbb65f6dc331b95ce24b48aa4bdd7a57433d8f5bc245392d SHA512 7171ce1b5b7f949232c4db94cf98bdd6396c3e2a8f2f483c041cab92d752e3a2fa93d564ede7efece57c069df129e6cc03049cf3e3f07bd3556031a7c4197cbf
diff --git a/sys-libs/libxcrypt/files/libxcrypt-2.4-glibc-2.16.patch b/sys-libs/libxcrypt/files/libxcrypt-2.4-glibc-2.16.patch
deleted file mode 100644
index 150ff99ab2f..00000000000
--- a/sys-libs/libxcrypt/files/libxcrypt-2.4-glibc-2.16.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff -urN libxcrypt-3.0.2/src/crypt_util.c libxcrypt-3.0.2.new/src/crypt_util.c
---- libxcrypt-3.0.2/src/crypt_util.c 2007-10-25 15:17:46.000000000 +0200
-+++ libxcrypt-3.0.2.new/src/crypt_util.c 2013-02-04 12:45:20.560191479 +0100
-@@ -30,8 +30,7 @@
- #endif
- #include <string.h>
-
--#include <bits/libc-lock.h>
--#define __libc_lock_t pthread_mutex_t
-+#include <pthread.h>
-
- #ifndef STATIC
- #define STATIC static
-@@ -265,7 +264,7 @@
- */
- struct crypt_data _ufc_foobar;
-
--__libc_lock_define_initialized (static, _ufc_tables_lock)
-+static pthread_mutex_t _ufc_tables_lock = PTHREAD_MUTEX_INITIALIZER;
-
- #ifdef DEBUG
-
-@@ -362,7 +361,7 @@
- #endif
-
- if(small_tables_initialized == 0) {
-- __libc_lock_lock (_ufc_tables_lock);
-+ pthread_mutex_lock (&_ufc_tables_lock);
- if(small_tables_initialized)
- goto small_tables_done;
-
-@@ -471,7 +470,7 @@
- }
- small_tables_initialized = 1;
- small_tables_done:
-- __libc_lock_unlock(_ufc_tables_lock);
-+ pthread_mutex_unlock (&_ufc_tables_lock);
- }
-
- /*
diff --git a/sys-libs/libxcrypt/files/libxcrypt-4.4.10-multibuild.patch b/sys-libs/libxcrypt/files/libxcrypt-4.4.10-multibuild.patch
deleted file mode 100644
index aee7d7229b1..00000000000
--- a/sys-libs/libxcrypt/files/libxcrypt-4.4.10-multibuild.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index 3502a5c..afb8079 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -84,11 +84,7 @@ noinst_HEADERS = \
- test/des-cases.h \
- test/crypt-kat.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.10-pythonver.patch b/sys-libs/libxcrypt/files/libxcrypt-4.4.10-pythonver.patch
deleted file mode 100644
index 0ca1563995b..00000000000
--- a/sys-libs/libxcrypt/files/libxcrypt-4.4.10-pythonver.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 16885c8..fd8c8e3 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -247,11 +247,7 @@ ENABLE_CRYPT_KAT_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-2.4.ebuild b/sys-libs/libxcrypt/libxcrypt-2.4.ebuild
deleted file mode 100644
index 28ba5c5295c..00000000000
--- a/sys-libs/libxcrypt/libxcrypt-2.4.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils ltprune multilib
-
-DESCRIPTION="A replacement for libcrypt with DES, MD5 and blowfish support"
-SRC_URI="mirror://debian/pool/main/libx/${PN}/${PN}_${PV}.orig.tar.gz"
-HOMEPAGE="http://packages.debian.org/sid/libxcrypt1"
-
-LICENSE="LGPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-src_prepare() {
- epatch "${FILESDIR}/${PN}-2.4-glibc-2.16.patch"
-}
-
-src_configure() {
- # Do not install into /usr so that tcb and pam can use us.
- econf --libdir=/$(get_libdir) --disable-static
-}
-
-src_install() {
- default
- prune_libtool_files
-}
diff --git a/sys-libs/libxcrypt/libxcrypt-4.4.10-r1.ebuild b/sys-libs/libxcrypt/libxcrypt-4.4.10-r1.ebuild
deleted file mode 100644
index 8e27bd3934b..00000000000
--- a/sys-libs/libxcrypt/libxcrypt-4.4.10-r1.ebuild
+++ /dev/null
@@ -1,153 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
-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
-}
diff --git a/sys-libs/libxcrypt/libxcrypt-4.4.12-r3.ebuild b/sys-libs/libxcrypt/libxcrypt-4.4.12-r3.ebuild
deleted file mode 100644
index 166f638a579..00000000000
--- a/sys-libs/libxcrypt/libxcrypt-4.4.12-r3.ebuild
+++ /dev/null
@@ -1,163 +0,0 @@
-# Copyright 2004-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_gen_any_dep 'dev-python/passlib[${PYTHON_USEDEP}]') )"
-
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="split-usr? ( system )"
-
-PATCHES=(
- "${FILESDIR}/libxcrypt-4.4.12-pythonver.patch"
- "${FILESDIR}/libxcrypt-4.4.12-multibuild.patch"
-)
-
-python_check_deps() {
- has_version -b "dev-python/passlib[${PYTHON_USEDEP}]"
-}
-
-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/%s/%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 our man pages do not 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_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) \
- || die "failed to remove extra compat libraries"
- ;;
- xcrypt_nocompat-*)
- if use split-usr; then
- (
- if use static-libs; then
- # .a files are installed to /$(get_libdir) by default
- # move static libraries to /usr prefix or portage will abort
- shopt -s nullglob || die "failglob failed"
- static_libs=( "${ED}"/$(get_xclibdir)/*.a )
-
- if [[ -n ${static_libs[*]} ]]; then
- dodir "/usr/$(get_xclibdir)"
- mv "${static_libs[@]}" "${D}/usr/$(get_xclibdir)" \
- || die "moving static libs failed"
- fi
- fi
-
- if use system; then
- # Move versionless .so symlinks from /$(get_libdir) to /usr/$(get_libdir)
- # to allow linker to correctly find shared libraries.
- shopt -s failglob || die "failglob failed"
-
- for lib_file in "${ED}"$(get_xclibdir)/*$(get_libname); do
- lib_file_basename="$(basename "${lib_file}")"
- lib_file_target="$(basename "$(readlink -f "${lib_file}")")"
- dosym "../../$(get_libdir)/${lib_file_target}" "/usr/$(get_xclibdir)/${lib_file_basename}"
- done
-
- rm "${ED}"$(get_xclibdir)/*$(get_libname) || die "removing symlinks in incorrect location failed"
- fi
- )
- fi
- ;;
- *) die "Unexpected MULTIBUILD_ID: ${MULTIBUILD_ID}";;
- esac
-}
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libxcrypt/files/, sys-libs/libxcrypt/
@ 2021-04-21 1:17 Patrick McLean
0 siblings, 0 replies; 6+ messages in thread
From: Patrick McLean @ 2021-04-21 1:17 UTC (permalink / raw
To: gentoo-commits
commit: 6ce9398339ae28da59a4ce638e3d230ab17d4cfd
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 21 01:16:15 2021 +0000
Commit: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Apr 21 01:17:11 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ce93983
sys-libs/libxcrypt-4.4.19: Version bump
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Patrick McLean <chutzpah <AT> gentoo.org>
sys-libs/libxcrypt/Manifest | 1 +
.../files/libxcrypt-4.4.19-multibuild.patch | 14 ++
sys-libs/libxcrypt/libxcrypt-4.4.19.ebuild | 163 +++++++++++++++++++++
3 files changed, 178 insertions(+)
diff --git a/sys-libs/libxcrypt/Manifest b/sys-libs/libxcrypt/Manifest
index c6dcdc9dde5..0ab0bca761e 100644
--- a/sys-libs/libxcrypt/Manifest
+++ b/sys-libs/libxcrypt/Manifest
@@ -1,2 +1,3 @@
DIST libxcrypt-4.4.16.tar.gz 480694 BLAKE2B 0e93c2ff45a8148f82a80a67fb732a3ef42e87505d19258023f91d3352a382483204e77e2704e7a0de15f4f1e38a326d0867506a5580faf8c81857270588a4a3 SHA512 e1d3b1262c6be7c6c8847b8c4eb8191d9e5e482798be6f1186876c72f3d8c737124378ec45a38aa464f556e10a557b96f855bd371f03c3611eada27904bf6781
DIST libxcrypt-4.4.17.tar.gz 519096 BLAKE2B 12cbe3d1f235baddd8d2ec8159f2a7514e75c2f91cf0db18ef909ec11c38ac19efebecec647a90cafb27c7ebc7e940da448ca8f3edd1c49e5cb9cc4407d5198c SHA512 94aaba6ccf9b6d1a32f9a571ee32261cecd393d5b8d8c6f18d740dc7bb29ac0fbd381124e7f0d84882559bb634208c08151b3dc05c9138fa0a229c4ba20fb6f7
+DIST libxcrypt-4.4.19.tar.gz 534269 BLAKE2B 22c27fe2bfe32a7752f7be495a072c774a5a9ab9a7616fb80ff05afae4d9ff1ecfd1a04b4bd7c850df46f60aa5850225684464cf65d2a145302f128285ac8a9b SHA512 f5bd2598b5d0de47f3d805bbd4a045439e456d361a39e8725c40e2e1f32cf392bdc20b51840528f53cec052dff98be1a009fcd70b92e288584bedf06ef94b816
diff --git a/sys-libs/libxcrypt/files/libxcrypt-4.4.19-multibuild.patch b/sys-libs/libxcrypt/files/libxcrypt-4.4.19-multibuild.patch
new file mode 100644
index 00000000000..5b3958e091d
--- /dev/null
+++ b/sys-libs/libxcrypt/files/libxcrypt-4.4.19-multibuild.patch
@@ -0,0 +1,14 @@
+diff --git a/Makefile.am b/Makefile.am
+index d0cca1d..4a5d4a1 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -86,9 +86,7 @@ noinst_HEADERS = \
+ test/des-cases.h \
+ test/ka-table.inc
+
+-if ENABLE_XCRYPT_COMPAT_FILES
+ nodist_include_HEADERS += xcrypt.h
+-endif
+
+ noinst_PROGRAMS = \
+ lib/gen-des-tables
diff --git a/sys-libs/libxcrypt/libxcrypt-4.4.19.ebuild b/sys-libs/libxcrypt/libxcrypt-4.4.19.ebuild
new file mode 100644
index 00000000000..6284f32749c
--- /dev/null
+++ b/sys-libs/libxcrypt/libxcrypt-4.4.19.ebuild
@@ -0,0 +1,163 @@
+# Copyright 2004-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7..9} )
+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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~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_gen_any_dep 'dev-python/passlib[${PYTHON_USEDEP}]') )"
+
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="split-usr? ( system )"
+
+PATCHES=(
+ "${FILESDIR}/libxcrypt-4.4.19-multibuild.patch"
+)
+
+python_check_deps() {
+ has_version -b "dev-python/passlib[${PYTHON_USEDEP}]"
+}
+
+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/%s/%s\n" \
+ "$(usex split-usr '' '/usr')" \
+ "$(get_libdir)" \
+ "$(usex system '' 'xcrypt')"
+}
+
+multilib_src_configure() {
+ local -a myconf=(
+ --disable-werror
+ --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 our man pages do not 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_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) \
+ || die "failed to remove extra compat libraries"
+ ;;
+ xcrypt_nocompat-*)
+ if use split-usr; then
+ (
+ if use static-libs; then
+ # .a files are installed to /$(get_libdir) by default
+ # move static libraries to /usr prefix or portage will abort
+ shopt -s nullglob || die "failglob failed"
+ static_libs=( "${ED}"/$(get_xclibdir)/*.a )
+
+ if [[ -n ${static_libs[*]} ]]; then
+ dodir "/usr/$(get_xclibdir)"
+ mv "${static_libs[@]}" "${D}/usr/$(get_xclibdir)" \
+ || die "moving static libs failed"
+ fi
+ fi
+
+ if use system; then
+ # Move versionless .so symlinks from /$(get_libdir) to /usr/$(get_libdir)
+ # to allow linker to correctly find shared libraries.
+ shopt -s failglob || die "failglob failed"
+
+ for lib_file in "${ED}"$(get_xclibdir)/*$(get_libname); do
+ lib_file_basename="$(basename "${lib_file}")"
+ lib_file_target="$(basename "$(readlink -f "${lib_file}")")"
+ dosym "../../$(get_libdir)/${lib_file_target}" "/usr/$(get_xclibdir)/${lib_file_basename}"
+ done
+
+ rm "${ED}"$(get_xclibdir)/*$(get_libname) || die "removing symlinks in incorrect location failed"
+ fi
+ )
+ fi
+ ;;
+ *) die "Unexpected MULTIBUILD_ID: ${MULTIBUILD_ID}";;
+ esac
+}
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/libxcrypt/files/, sys-libs/libxcrypt/
@ 2023-12-28 14:58 Sam James
0 siblings, 0 replies; 6+ messages in thread
From: Sam James @ 2023-12-28 14:58 UTC (permalink / raw
To: gentoo-commits
commit: d0e2ea531a20deb88f83545cbc522fbcd6a8c005
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 28 06:21:09 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Dec 28 14:57:30 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d0e2ea53
sys-libs/libxcrypt: drop 4.4.34, 4.4.35
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-libs/libxcrypt/Manifest | 2 -
.../files/libxcrypt-4.4.35-smartmatch.patch | 62 ----
sys-libs/libxcrypt/libxcrypt-4.4.34.ebuild | 340 --------------------
sys-libs/libxcrypt/libxcrypt-4.4.35.ebuild | 344 ---------------------
4 files changed, 748 deletions(-)
diff --git a/sys-libs/libxcrypt/Manifest b/sys-libs/libxcrypt/Manifest
index e3282a958fa6..98da62c172ae 100644
--- a/sys-libs/libxcrypt/Manifest
+++ b/sys-libs/libxcrypt/Manifest
@@ -1,5 +1,3 @@
DIST libxcrypt-4.4.28-autotools.tar.xz 618560 BLAKE2B c56d510201651e36cbd950b5a0a32273fdbce1f053109aa5867b2c6a57e2a896c34c981c1a2e732a8f34539b754ebe7f50d1b5bf59f9549a75ad6420921f3e1d SHA512 3c60fd32dea308152c4272522c29668c83e88bea47c98b9fe796ed70f5460ad2a9616ffbe789c03e417b28d3c792361b16031bda3d8bc5b6c06f0ebdc66c8217
DIST libxcrypt-4.4.33-autotools.tar.xz 624316 BLAKE2B 6a396d079ea011fabc46ae2f972e230f3e047f75f9c79c8345fe4f31bad24b9bcb50b3f1131fd5d34cfaf0d6e0ca4fa0a0418448390de95bdf78b0ab8022a72d SHA512 998ef7ca565339853458961c28a0bffe04a4859de305019efae9b586d7b28ba42210b238695680dc10d739e7947f94e4392b9022a96ed25a613ef9a29a888329
-DIST libxcrypt-4.4.34-autotools.tar.xz 621732 BLAKE2B acf1801d890f522b9a098943f55f8551652ef3e0620bee5e7f3c297b7d0867ba6bace71fcf106474d25e95bcf4bd57e4ced6b51782cbaf0d42cca1643668407b SHA512 ef04ee78bf2e28e715fa673a1af728209c11838c66f7ec13cef40332595f77b878ac698616d6ef861b86879b0addd5581350041e889f2cef2ed1363f0ed93ffb
-DIST libxcrypt-4.4.35-autotools.tar.xz 622972 BLAKE2B 93e8ee0d028aa8b2d1b3882c48cd056a1f60ea22c44f38b29c78eaea6719fa9d01c1d0d78065a2c1adbab6f5ca9a2570ee411f78673b979a3b5c2a1f930e275d SHA512 c024b183417db2c4bd8bcc371e8789182ad98f91c79d6a64ce9505abd0251ef6499e8fbceb914274ca50f477fe068e3cf69eed197287bb2c0491aa91ead4df52
DIST libxcrypt-4.4.36-autotools.tar.xz 624660 BLAKE2B 8dc3d0f354baf8c64dc011e95e7df10d48b0dfe428503936ffd55edf2745de04003c7efe231ed5d9a14cea7f682ba377b7e00f0463b4060c50c9c29f555b790f SHA512 fb8391ecb89622eb0d74d13c5fc1369718e83c47671449044ca0c2f78a236d7b06177a60bf8cda47694caa840c68eaaf0b23690e8975fa5d64b734c8eb246d10
diff --git a/sys-libs/libxcrypt/files/libxcrypt-4.4.35-smartmatch.patch b/sys-libs/libxcrypt/files/libxcrypt-4.4.35-smartmatch.patch
deleted file mode 100644
index 1956df921bdd..000000000000
--- a/sys-libs/libxcrypt/files/libxcrypt-4.4.35-smartmatch.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 95d6e03ae37f4ec948474d111105bbdd2938aba2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= <dilfridge@gentoo.org>
-Date: Sun, 25 Jun 2023 01:35:08 +0200
-Subject: [PATCH] Remove smartmatch usage from gen-crypt-h
-
-Needed for Perl 5.38
----
- build-aux/scripts/gen-crypt-h | 31 ++++++++++++++-----------------
- 1 file changed, 14 insertions(+), 17 deletions(-)
-
-diff --git a/build-aux/scripts/gen-crypt-h b/build-aux/scripts/gen-crypt-h
-index 12aecf6..b113b79 100644
---- a/build-aux/scripts/gen-crypt-h
-+++ b/build-aux/scripts/gen-crypt-h
-@@ -12,7 +12,6 @@ use v5.14; # implicit use strict, use feature ':5.14'
- use warnings FATAL => 'all';
- use utf8;
- use open qw(:std :utf8);
--no if $] >= 5.018, warnings => 'experimental::smartmatch';
- no if $] >= 5.022, warnings => 'experimental::re_strict';
- use if $] >= 5.022, re => 'strict';
-
-@@ -37,22 +36,20 @@ sub process_config_h {
- local $_;
- while (<$fh>) {
- chomp;
-- # Yes, 'given $_' is really required here.
-- given ($_) {
-- when ('#define HAVE_SYS_CDEFS_H 1') {
-- $have_sys_cdefs_h = 1;
-- }
-- when ('#define HAVE_SYS_CDEFS_BEGIN_END_DECLS 1') {
-- $have_sys_cdefs_begin_end_decls = 1;
-- }
-- when ('#define HAVE_SYS_CDEFS_THROW 1') {
-- $have_sys_cdefs_throw = 1;
-- }
-- when (/^#define PACKAGE_VERSION "((\d+)\.(\d+)\.\d+)"$/) {
-- $substs{XCRYPT_VERSION_STR} = $1;
-- $substs{XCRYPT_VERSION_MAJOR} = $2;
-- $substs{XCRYPT_VERSION_MINOR} = $3;
-- }
-+
-+ if ($_ eq '#define HAVE_SYS_CDEFS_H 1') {
-+ $have_sys_cdefs_h = 1;
-+ }
-+ elsif ($_ eq '#define HAVE_SYS_CDEFS_BEGIN_END_DECLS 1') {
-+ $have_sys_cdefs_begin_end_decls = 1;
-+ }
-+ elsif ($_ eq '#define HAVE_SYS_CDEFS_THROW 1') {
-+ $have_sys_cdefs_throw = 1;
-+ }
-+ elsif (/^#define PACKAGE_VERSION "((\d+)\.(\d+)\.\d+)"$/) {
-+ $substs{XCRYPT_VERSION_STR} = $1;
-+ $substs{XCRYPT_VERSION_MAJOR} = $2;
-+ $substs{XCRYPT_VERSION_MINOR} = $3;
- }
- }
-
---
-2.39.3
-
diff --git a/sys-libs/libxcrypt/libxcrypt-4.4.34.ebuild b/sys-libs/libxcrypt/libxcrypt-4.4.34.ebuild
deleted file mode 100644
index 331a6cc1c58c..000000000000
--- a/sys-libs/libxcrypt/libxcrypt-4.4.34.ebuild
+++ /dev/null
@@ -1,340 +0,0 @@
-# Copyright 2004-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-# NEED_BOOTSTRAP is for developers to quickly generate a tarball
-# for publishing to the tree.
-NEED_BOOTSTRAP="no"
-inherit multibuild multilib python-any-r1 flag-o-matic toolchain-funcs multilib-minimal
-
-DESCRIPTION="Extended crypt library for descrypt, md5crypt, bcrypt, and others"
-HOMEPAGE="https://github.com/besser82/libxcrypt"
-if [[ ${NEED_BOOTSTRAP} == "yes" ]] ; then
- inherit autotools
- SRC_URI="https://github.com/besser82/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-else
- SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-autotools.tar.xz"
-fi
-
-LICENSE="LGPL-2.1+ public-domain BSD BSD-2"
-SLOT="0/1"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="+compat split-usr static-libs +system test headers-only"
-REQUIRED_USE="split-usr? ( system )"
-RESTRICT="!test? ( test )"
-
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then
- export CTARGET=${CATEGORY/cross-}
- fi
-fi
-
-is_cross() {
- local enabled_abis=( $(multilib_get_enabled_abis) )
- [[ "${#enabled_abis[@]}" -le 1 ]] && [[ ${CHOST} != ${CTARGET} ]]
-}
-
-DEPEND="
- system? (
- elibc_glibc? (
- ${CATEGORY}/glibc[-crypt(+)]
- !${CATEGORY}/glibc[crypt(+)]
- )
- elibc_musl? (
- ${CATEGORY}/musl[-crypt(+)]
- !${CATEGORY}/musl[crypt(+)]
- )
- )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- dev-lang/perl
- test? ( $(python_gen_any_dep 'dev-python/passlib[${PYTHON_USEDEP}]') )
-"
-
-python_check_deps() {
- python_has_version "dev-python/passlib[${PYTHON_USEDEP}]"
-}
-
-pkg_pretend() {
- if has "distcc" ${FEATURES} ; then
- ewarn "Please verify all distcc nodes are using the same versions of GCC (>= 10) and Binutils!"
- ewarn "Older/mismatched versions of GCC may lead to a misbehaving library: bug #823179."
-
- if [[ ${BUILD_TYPE} != "binary" ]] && tc-is-gcc && [[ $(gcc-major-version) -lt 10 ]] ; then
- die "libxcrypt is known to fail to build or be broken at runtime with < GCC 10 (bug #823179)!"
- fi
- fi
-}
-
-pkg_setup() {
- MULTIBUILD_VARIANTS=(
- $(usex compat 'xcrypt_compat' '')
- xcrypt_nocompat
- )
-
- use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- # WARNING: Please read on bumping or applying patches!
- #
- # There are two circular dependencies to be aware of:
- # 1)
- # if we're bootstrapping configure and makefiles:
- # libxcrypt -> automake -> perl -> libxcrypt
- #
- # mitigation:
- # toolchain@ manually runs `make dist` after running autoconf + `./configure`
- # and the ebuild uses that.
- # (Don't include the pre-generated Perl artefacts.)
- #
- # solution for future:
- # Upstream are working on producing `make dist` tarballs.
- # https://github.com/besser82/libxcrypt/issues/134#issuecomment-871833573
- #
- # 2)
- # configure *unconditionally* needs Perl at build time to generate
- # a list of enabled algorithms based on the set passed to `configure`:
- # libxcrypt -> perl -> libxcrypt
- #
- # mitigation:
- # None at the moment.
- #
- # solution for future:
- # Not possible right now. Upstream intend on depending on Perl for further
- # configuration options.
- # https://github.com/besser82/libxcrypt/issues/134#issuecomment-871833573
- #
- # Therefore, on changes (inc. bumps):
- # * You must check whether upstream have started providing tarballs with bootstrapped
- # auto{conf,make};
- #
- # * diff the build system changes!
- #
- if [[ ${NEED_BOOTSTRAP} == "yes" ]] ; then
- # Facilitate our split variant build for compat + non-compat
- eapply "${FILESDIR}"/${PN}-4.4.19-multibuild.patch
- eautoreconf
- fi
-}
-
-src_configure() {
- # Avoid possible "illegal instruction" errors with gold
- # bug #821496
- tc-ld-disable-gold
-
- # Doesn't work with LTO: bug #852917.
- # https://github.com/besser82/libxcrypt/issues/24
- filter-lto
-
- # ideally we want !tc-ld-is-bfd for best future-proofing, but it needs
- # https://github.com/gentoo/gentoo/pull/28355
- # mold needs this too but right now tc-ld-is-mold is also not available
- if tc-ld-is-lld; then
- append-ldflags -Wl,--undefined-version
- fi
-
- multibuild_foreach_variant multilib-minimal_src_configure
-}
-
-get_xcprefix() {
- if is_cross; then
- echo "${EPREFIX}/usr/${CTARGET}"
- else
- echo "${EPREFIX}"
- fi
-}
-
-get_xclibdir() {
- printf -- "%s/%s/%s/%s\n" \
- "$(get_xcprefix)" \
- "$(usex split-usr '' '/usr')" \
- "$(get_libdir)" \
- "$(usex system '' 'xcrypt')"
-}
-
-get_xcincludedir() {
- printf -- "%s/usr/include/%s\n" \
- "$(get_xcprefix)" \
- "$(usex system '' 'xcrypt')"
-}
-
-get_xcmandir() {
- printf -- "%s/usr/share/man\n" \
- "$(get_xcprefix)"
-}
-
-get_xcpkgconfigdir() {
- printf -- "%s/usr/%s/pkgconfig\n" \
- "$(get_xcprefix)" \
- "$(get_libdir)"
-}
-
-multilib_src_configure() {
- local -a myconf=(
- --host=${CTARGET}
- --disable-werror
- --libdir=$(get_xclibdir)
- --with-pkgconfigdir=$(get_xcpkgconfigdir)
- --includedir=$(get_xcincludedir)
- --mandir="$(get_xcmandir)"
- )
-
- tc-export PKG_CONFIG
-
- if is_cross; then
- if tc-is-clang; then
- export CC="${CTARGET}-clang"
- else
- export CC="${CTARGET}-gcc"
- fi
- fi
-
- 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
-
- if use headers-only; then
- # Nothing is compiled here which would affect the headers for the target.
- # So forcing CC is sane.
- headers_only_flags="CC=$(tc-getBUILD_CC)"
- fi
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}" "${headers_only_flags}"
-}
-
-src_compile() {
- use headers-only && return
-
- 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
-
- use headers-only || \
- (
- shopt -s failglob || die "failglob failed"
-
- # Make sure our man pages do not collide with glibc or man-pages.
- for manpage in "${D}$(get_xcmandir)"/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 "${ED}"/usr/share/doc/${PF} -type l -delete || die
- find "${ED}" -name '*.la' -delete || die
-
- # workaround broken upstream cross-* --docdir by installing files in proper locations
- if is_cross; then
- insinto "$(get_xcprefix)"/usr/share
- doins -r "${ED}"/usr/share/doc
- rm -r "${ED}"/usr/share/doc || die
- fi
-}
-
-multilib_src_install() {
- if use headers-only; then
- emake DESTDIR="${D}" install-nodist_includeHEADERS
- return
- fi
-
- 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) \
- || die "failed to remove extra compat libraries"
- ;;
- xcrypt_nocompat-*)
- if use split-usr; then
- (
- if use static-libs; then
- # .a files are installed to /$(get_libdir) by default
- # Move static libraries to /usr prefix or portage will abort
- shopt -s nullglob || die "failglob failed"
- static_libs=( "${D}"/$(get_xclibdir)/*.a )
-
- if [[ -n ${static_libs[*]} ]]; then
- dodir "/usr/$(get_xclibdir)"
- mv "${static_libs[@]}" "${ED}/usr/$(get_xclibdir)" \
- || die "Moving static libs failed"
- fi
- fi
-
- if use system; then
- # Move versionless .so symlinks from /$(get_libdir) to /usr/$(get_libdir)
- # to allow linker to correctly find shared libraries.
- shopt -s failglob || die "failglob failed"
-
- for lib_file in "${D}"$(get_xclibdir)/*$(get_libname); do
- lib_file_basename="$(basename "${lib_file}")"
- lib_file_target="$(basename "$(readlink -f "${lib_file}")")"
-
- # We already know we're in split-usr (checked above)
- # See bug #843209 (also worth keeping in mind bug #802222 too)
- local libdir_no_prefix=$(get_xclibdir)
- libdir_no_prefix=${libdir_no_prefix#${EPREFIX}}
- libdir_no_prefix=${libdir_no_prefix%/usr}
- dosym -r "/$(get_libdir)/${lib_file_target}" "/usr/${libdir_no_prefix}/${lib_file_basename}"
- done
-
- rm "${D}"$(get_xclibdir)/*$(get_libname) || die "Removing symlinks in incorrect location failed"
- fi
- )
- fi
- ;;
- *) die "Unexpected MULTIBUILD_ID: ${MULTIBUILD_ID}";;
- esac
-}
-
-pkg_preinst() {
- # Verify we're not in a bad case like bug #843209 with broken symlinks.
- # This can be dropped when, if ever, the split-usr && system && compat case
- # is cleaned up in *_src_install.
- local broken_symlinks=()
- mapfile -d '' broken_symlinks < <(
- find "${ED}" -xtype l -print0
- )
-
- if [[ ${#broken_symlinks[@]} -gt 0 ]]; then
- eerror "Broken symlinks found before merging!"
- local symlink target resolved
- for symlink in "${broken_symlinks[@]}" ; do
- target="$(readlink "${symlink}")"
- resolved="$(readlink -f "${symlink}")"
- eerror " '${symlink}' -> '${target}' (${resolved})"
- done
- die "Broken symlinks found! Aborting to avoid damaging system. Please report a bug."
- fi
-}
diff --git a/sys-libs/libxcrypt/libxcrypt-4.4.35.ebuild b/sys-libs/libxcrypt/libxcrypt-4.4.35.ebuild
deleted file mode 100644
index 69a9af2f77ba..000000000000
--- a/sys-libs/libxcrypt/libxcrypt-4.4.35.ebuild
+++ /dev/null
@@ -1,344 +0,0 @@
-# Copyright 2004-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-# NEED_BOOTSTRAP is for developers to quickly generate a tarball
-# for publishing to the tree.
-NEED_BOOTSTRAP="no"
-inherit multibuild multilib python-any-r1 flag-o-matic toolchain-funcs multilib-minimal
-
-DESCRIPTION="Extended crypt library for descrypt, md5crypt, bcrypt, and others"
-HOMEPAGE="https://github.com/besser82/libxcrypt"
-if [[ ${NEED_BOOTSTRAP} == "yes" ]] ; then
- inherit autotools
- SRC_URI="https://github.com/besser82/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-else
- SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-autotools.tar.xz"
-fi
-
-LICENSE="LGPL-2.1+ public-domain BSD BSD-2"
-SLOT="0/1"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="+compat split-usr static-libs +system test headers-only"
-REQUIRED_USE="split-usr? ( system )"
-RESTRICT="!test? ( test )"
-
-export CTARGET=${CTARGET:-${CHOST}}
-if [[ ${CTARGET} == ${CHOST} ]] ; then
- if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then
- export CTARGET=${CATEGORY/cross-}
- fi
-fi
-
-is_cross() {
- local enabled_abis=( $(multilib_get_enabled_abis) )
- [[ "${#enabled_abis[@]}" -le 1 ]] && [[ ${CHOST} != ${CTARGET} ]]
-}
-
-DEPEND="
- system? (
- elibc_glibc? (
- ${CATEGORY}/glibc[-crypt(+)]
- !${CATEGORY}/glibc[crypt(+)]
- )
- elibc_musl? (
- ${CATEGORY}/musl[-crypt(+)]
- !${CATEGORY}/musl[crypt(+)]
- )
- )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
- dev-lang/perl
- test? ( $(python_gen_any_dep 'dev-python/passlib[${PYTHON_USEDEP}]') )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-smartmatch.patch"
-)
-
-python_check_deps() {
- python_has_version "dev-python/passlib[${PYTHON_USEDEP}]"
-}
-
-pkg_pretend() {
- if has "distcc" ${FEATURES} ; then
- ewarn "Please verify all distcc nodes are using the same versions of GCC (>= 10) and Binutils!"
- ewarn "Older/mismatched versions of GCC may lead to a misbehaving library: bug #823179."
-
- if [[ ${BUILD_TYPE} != "binary" ]] && tc-is-gcc && [[ $(gcc-major-version) -lt 10 ]] ; then
- die "libxcrypt is known to fail to build or be broken at runtime with < GCC 10 (bug #823179)!"
- fi
- fi
-}
-
-pkg_setup() {
- MULTIBUILD_VARIANTS=(
- $(usex compat 'xcrypt_compat' '')
- xcrypt_nocompat
- )
-
- use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- default
-
- # WARNING: Please read on bumping or applying patches!
- #
- # There are two circular dependencies to be aware of:
- # 1)
- # if we're bootstrapping configure and makefiles:
- # libxcrypt -> automake -> perl -> libxcrypt
- #
- # mitigation:
- # toolchain@ manually runs `make dist` after running autoconf + `./configure`
- # and the ebuild uses that.
- # (Don't include the pre-generated Perl artefacts.)
- #
- # solution for future:
- # Upstream are working on producing `make dist` tarballs.
- # https://github.com/besser82/libxcrypt/issues/134#issuecomment-871833573
- #
- # 2)
- # configure *unconditionally* needs Perl at build time to generate
- # a list of enabled algorithms based on the set passed to `configure`:
- # libxcrypt -> perl -> libxcrypt
- #
- # mitigation:
- # None at the moment.
- #
- # solution for future:
- # Not possible right now. Upstream intend on depending on Perl for further
- # configuration options.
- # https://github.com/besser82/libxcrypt/issues/134#issuecomment-871833573
- #
- # Therefore, on changes (inc. bumps):
- # * You must check whether upstream have started providing tarballs with bootstrapped
- # auto{conf,make};
- #
- # * diff the build system changes!
- #
- if [[ ${NEED_BOOTSTRAP} == "yes" ]] ; then
- # Facilitate our split variant build for compat + non-compat
- eapply "${FILESDIR}"/${PN}-4.4.19-multibuild.patch
- eautoreconf
- fi
-}
-
-src_configure() {
- # Avoid possible "illegal instruction" errors with gold
- # bug #821496
- tc-ld-disable-gold
-
- # Doesn't work with LTO: bug #852917.
- # https://github.com/besser82/libxcrypt/issues/24
- filter-lto
-
- # ideally we want !tc-ld-is-bfd for best future-proofing, but it needs
- # https://github.com/gentoo/gentoo/pull/28355
- # mold needs this too but right now tc-ld-is-mold is also not available
- if tc-ld-is-lld; then
- append-ldflags -Wl,--undefined-version
- fi
-
- multibuild_foreach_variant multilib-minimal_src_configure
-}
-
-get_xcprefix() {
- if is_cross; then
- echo "${EPREFIX}/usr/${CTARGET}"
- else
- echo "${EPREFIX}"
- fi
-}
-
-get_xclibdir() {
- printf -- "%s/%s/%s/%s\n" \
- "$(get_xcprefix)" \
- "$(usex split-usr '' '/usr')" \
- "$(get_libdir)" \
- "$(usex system '' 'xcrypt')"
-}
-
-get_xcincludedir() {
- printf -- "%s/usr/include/%s\n" \
- "$(get_xcprefix)" \
- "$(usex system '' 'xcrypt')"
-}
-
-get_xcmandir() {
- printf -- "%s/usr/share/man\n" \
- "$(get_xcprefix)"
-}
-
-get_xcpkgconfigdir() {
- printf -- "%s/usr/%s/pkgconfig\n" \
- "$(get_xcprefix)" \
- "$(get_libdir)"
-}
-
-multilib_src_configure() {
- local -a myconf=(
- --host=${CTARGET}
- --disable-werror
- --libdir=$(get_xclibdir)
- --with-pkgconfigdir=$(get_xcpkgconfigdir)
- --includedir=$(get_xcincludedir)
- --mandir="$(get_xcmandir)"
- )
-
- tc-export PKG_CONFIG
-
- if is_cross; then
- if tc-is-clang; then
- export CC="${CTARGET}-clang"
- else
- export CC="${CTARGET}-gcc"
- fi
- fi
-
- 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
-
- if use headers-only; then
- # Nothing is compiled here which would affect the headers for the target.
- # So forcing CC is sane.
- headers_only_flags="CC=$(tc-getBUILD_CC)"
- fi
-
- ECONF_SOURCE="${S}" econf "${myconf[@]}" "${headers_only_flags}"
-}
-
-src_compile() {
- use headers-only && return
-
- 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
-
- use headers-only || \
- (
- shopt -s failglob || die "failglob failed"
-
- # Make sure our man pages do not collide with glibc or man-pages.
- for manpage in "${D}$(get_xcmandir)"/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 "${ED}"/usr/share/doc/${PF} -type l -delete || die
- find "${ED}" -name '*.la' -delete || die
-
- # workaround broken upstream cross-* --docdir by installing files in proper locations
- if is_cross; then
- insinto "$(get_xcprefix)"/usr/share
- doins -r "${ED}"/usr/share/doc
- rm -r "${ED}"/usr/share/doc || die
- fi
-}
-
-multilib_src_install() {
- if use headers-only; then
- emake DESTDIR="${D}" install-nodist_includeHEADERS
- return
- fi
-
- 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) \
- || die "failed to remove extra compat libraries"
- ;;
- xcrypt_nocompat-*)
- if use split-usr; then
- (
- if use static-libs; then
- # .a files are installed to /$(get_libdir) by default
- # Move static libraries to /usr prefix or portage will abort
- shopt -s nullglob || die "failglob failed"
- static_libs=( "${D}"/$(get_xclibdir)/*.a )
-
- if [[ -n ${static_libs[*]} ]]; then
- dodir "/usr/$(get_xclibdir)"
- mv "${static_libs[@]}" "${ED}/usr/$(get_xclibdir)" \
- || die "Moving static libs failed"
- fi
- fi
-
- if use system; then
- # Move versionless .so symlinks from /$(get_libdir) to /usr/$(get_libdir)
- # to allow linker to correctly find shared libraries.
- shopt -s failglob || die "failglob failed"
-
- for lib_file in "${D}"$(get_xclibdir)/*$(get_libname); do
- lib_file_basename="$(basename "${lib_file}")"
- lib_file_target="$(basename "$(readlink -f "${lib_file}")")"
-
- # We already know we're in split-usr (checked above)
- # See bug #843209 (also worth keeping in mind bug #802222 too)
- local libdir_no_prefix=$(get_xclibdir)
- libdir_no_prefix=${libdir_no_prefix#${EPREFIX}}
- libdir_no_prefix=${libdir_no_prefix%/usr}
- dosym -r "/$(get_libdir)/${lib_file_target}" "/usr/${libdir_no_prefix}/${lib_file_basename}"
- done
-
- rm "${D}"$(get_xclibdir)/*$(get_libname) || die "Removing symlinks in incorrect location failed"
- fi
- )
- fi
- ;;
- *) die "Unexpected MULTIBUILD_ID: ${MULTIBUILD_ID}";;
- esac
-}
-
-pkg_preinst() {
- # Verify we're not in a bad case like bug #843209 with broken symlinks.
- # This can be dropped when, if ever, the split-usr && system && compat case
- # is cleaned up in *_src_install.
- local broken_symlinks=()
- mapfile -d '' broken_symlinks < <(
- find "${ED}" -xtype l -print0
- )
-
- if [[ ${#broken_symlinks[@]} -gt 0 ]]; then
- eerror "Broken symlinks found before merging!"
- local symlink target resolved
- for symlink in "${broken_symlinks[@]}" ; do
- target="$(readlink "${symlink}")"
- resolved="$(readlink -f "${symlink}")"
- eerror " '${symlink}' -> '${target}' (${resolved})"
- done
- die "Broken symlinks found! Aborting to avoid damaging system. Please report a bug."
- fi
-}
^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-12-28 14:58 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-28 14:58 [gentoo-commits] repo/gentoo:master commit in: sys-libs/libxcrypt/files/, sys-libs/libxcrypt/ Sam James
-- strict thread matches above, loose matches on Subject: below --
2021-04-21 1:17 Patrick McLean
2020-09-12 4:41 Patrick McLean
2020-02-06 23:06 Patrick McLean
2019-11-07 5:40 Patrick McLean
2019-11-05 2:53 Patrick McLean
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox