diff options
author | Sam James <sam@gentoo.org> | 2022-04-22 01:18:32 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-04-22 01:20:13 +0100 |
commit | 0269028f03099fb09b580bab8a61030612cc1327 (patch) | |
tree | 5f2abc1640e3df68608f8821047ac9fa97b78172 /dev-libs/libpwquality | |
parent | sys-libs/obstack-standalone: add 1.2.3 (diff) | |
download | gentoo-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.ebuild | 83 |
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 +} |