commit:     0269028f03099fb09b580bab8a61030612cc1327
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 22 00:18:32 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Apr 22 00:20:13 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0269028f

dev-libs/libpwquality: fix Python module installation

With newer setuptools, libpwquality installs a .egg which
breaks consumers. We need to force the old distutils impl.
to get the right behaviour using SETUPTOOLS_USE_DISTUTILS.

Closes: https://bugs.gentoo.org/830397
Thanks-to: Jay Faulkner <jay <AT> jvf.cc>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/libpwquality/libpwquality-1.4.4-r1.ebuild | 83 ++++++++++++++++++++++
 1 file changed, 83 insertions(+)

diff --git a/dev-libs/libpwquality/libpwquality-1.4.4-r1.ebuild 
b/dev-libs/libpwquality/libpwquality-1.4.4-r1.ebuild
new file mode 100644
index 000000000000..860053ea6971
--- /dev/null
+++ b/dev-libs/libpwquality/libpwquality-1.4.4-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit pam python-r1 usr-ldscript
+
+DESCRIPTION="Library for password quality checking and generating random 
passwords"
+HOMEPAGE="https://github.com/libpwquality/libpwquality";
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.bz2";
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc 
x86"
+IUSE="pam python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+BDEPEND="
+       >=sys-devel/gettext-0.18.2
+       virtual/pkgconfig
+"
+RDEPEND="
+       >=sys-libs/cracklib-2.8:=[static-libs(+)?]
+       pam? ( sys-libs/pam )
+       python? ( ${PYTHON_DEPS} )
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+       default
+       # ensure pkgconfig files go in /usr
+       sed -e 's:\(pkgconfigdir *=\).*:\1 
'${EPREFIX}/usr/$(get_libdir)'/pkgconfig:' \
+               -i src/Makefile.{am,in} || die "sed failed"
+
+       if use python ; then
+               # bug #830397
+               export SETUPTOOLS_USE_DISTUTILS=stdlib
+               python_copy_sources
+       fi
+}
+
+src_configure() {
+       # Install library in /lib for pam
+       configuring() {
+               local sitedir
+               econf \
+                       --libdir="${EPREFIX}/$(get_libdir)" \
+                       $(use_enable pam) \
+                       --with-securedir="${EPREFIX}/$(getpam_mod_dir)" \
+                       $(use_enable python python-bindings) \
+                       $(usex python "--with-pythonsitedir=$(use python && 
python_get_sitedir)" "") \
+                       $(use_enable static-libs static)
+       }
+       if_use_python_python_foreach_impl configuring
+}
+
+src_compile() {
+       if_use_python_python_foreach_impl default
+}
+
+src_test() {
+       if_use_python_python_foreach_impl default
+}
+
+src_install() {
+       if_use_python_python_foreach_impl default
+       if use static-libs; then
+               # Do not install static libs in /lib
+               mkdir -p "${ED}/usr/$(get_libdir)"
+               mv "${ED}/$(get_libdir)/libpwquality.a" 
"${ED}/usr/$(get_libdir)/" || die
+               gen_usr_ldscript libpwquality.so
+       fi
+       find "${ED}" -name '*.la' -delete || die
+}
+
+if_use_python_python_foreach_impl() {
+       if use python; then
+               python_foreach_impl run_in_build_dir "$@"
+       else
+               "$@"
+       fi
+}

Reply via email to