summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-04-22 01:18:32 +0100
committerSam James <sam@gentoo.org>2022-04-22 01:20:13 +0100
commit0269028f03099fb09b580bab8a61030612cc1327 (patch)
tree5f2abc1640e3df68608f8821047ac9fa97b78172 /dev-libs/libpwquality
parentsys-libs/obstack-standalone: add 1.2.3 (diff)
downloadgentoo-0269028f03099fb09b580bab8a61030612cc1327.tar.gz
gentoo-0269028f03099fb09b580bab8a61030612cc1327.tar.bz2
gentoo-0269028f03099fb09b580bab8a61030612cc1327.zip
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@jvf.cc> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-libs/libpwquality')
-rw-r--r--dev-libs/libpwquality/libpwquality-1.4.4-r1.ebuild83
1 files changed, 83 insertions, 0 deletions
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
+}