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 +}