public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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