summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-03-17 02:24:43 +0000
committerSam James <sam@gentoo.org>2023-03-17 02:24:58 +0000
commit27b7d30f1513c8aa741f0118ebd8af45984ea6c6 (patch)
tree2bddc965b4a0aaba56d3176814fe11af10889017 /sys-libs
parentsys-apps/flatpak: add 1.14.4 (diff)
downloadgentoo-27b7d30f1513c8aa741f0118ebd8af45984ea6c6.tar.gz
gentoo-27b7d30f1513c8aa741f0118ebd8af45984ea6c6.tar.bz2
gentoo-27b7d30f1513c8aa741f0118ebd8af45984ea6c6.zip
sys-libs/cracklib: fix Python bindings
- Fix Python bindings build and clean it up to be more idiomatic - Use PEP517 for Python build too Closes: https://bugs.gentoo.org/901719 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/cracklib/cracklib-2.9.10-r1.ebuild (renamed from sys-libs/cracklib/cracklib-2.9.10.ebuild)45
-rw-r--r--sys-libs/cracklib/files/cracklib-2.9.10-python-inc.patch20
2 files changed, 48 insertions, 17 deletions
diff --git a/sys-libs/cracklib/cracklib-2.9.10.ebuild b/sys-libs/cracklib/cracklib-2.9.10-r1.ebuild
index 71fddeb64779..0553dfd808a8 100644
--- a/sys-libs/cracklib/cracklib-2.9.10.ebuild
+++ b/sys-libs/cracklib/cracklib-2.9.10-r1.ebuild
@@ -6,6 +6,7 @@ EAPI=8
# Note: ideally bump with sys-apps/cracklib-words
DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1 libtool multilib-minimal usr-ldscript
@@ -31,19 +32,14 @@ DEPEND="
"
BDEPEND="
nls? ( sys-devel/gettext )
- python? (
- dev-python/setuptools[${PYTHON_USEDEP}]
- )
+ python? ( ${DISTUTILS_DEPS} )
"
-do_python() {
- multilib_is_native_abi || return 0
- use python || return 0
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.9.10-python-inc.patch
+)
- pushd python > /dev/null || die
- distutils-r1_src_${EBUILD_PHASE}
- popd > /dev/null || die
-}
+distutils_enable_tests unittest
pkg_setup() {
# Workaround bug #195017
@@ -57,10 +53,12 @@ pkg_setup() {
src_prepare() {
default
- # bug ##269003
+ # bug #269003
elibtoolize
- do_python
+ if use python ; then
+ distutils-r1_src_prepare
+ fi
}
multilib_src_configure() {
@@ -81,18 +79,28 @@ multilib_src_configure() {
multilib_src_compile() {
default
- do_python
+ if multilib_is_native_abi && use python ; then
+ local -x CFLAGS="${CFLAGS} -DLOCALEDIR='\"${EPREFIX}/usr/share/locale\"' -DDEFAULT_CRACKLIB_DICT=\'${EPREFIX}/usr/lib/cracklib_dict\'"
+ cd python || die
+ distutils-r1_src_compile
+ fi
}
multilib_src_test() {
default
- # Make sure we load the freshly built library
- LD_LIBRARY_PATH="${BUILD_DIR}/lib/.libs:${LD_LIBRARY_PATH}" do_python
+ if multilib_is_native_abi && use python ; then
+ distutils-r1_src_test
+ fi
}
python_test() {
- ${EPYTHON} -m unittest test_cracklib || die "Tests fail with ${EPYTHON}"
+ cd "${S}"/python || die
+
+ # Make sure we load the freshly built library
+ local -x LD_LIBRARY_PATH="${BUILD_DIR/-${EPYTHON/./_}}/lib/.libs:${BUILD_DIR}/lib:${LD_LIBRARY_PATH}"
+
+ eunittest
}
multilib_src_install() {
@@ -101,7 +109,10 @@ multilib_src_install() {
# Move shared libs to /
gen_usr_ldscript -a crack
- do_python
+ if multilib_is_native_abi && use python ; then
+ cd python || die
+ distutils-r1_src_install
+ fi
}
multilib_src_install_all() {
diff --git a/sys-libs/cracklib/files/cracklib-2.9.10-python-inc.patch b/sys-libs/cracklib/files/cracklib-2.9.10-python-inc.patch
new file mode 100644
index 000000000000..fd9960df0e8f
--- /dev/null
+++ b/sys-libs/cracklib/files/cracklib-2.9.10-python-inc.patch
@@ -0,0 +1,20 @@
+https://github.com/cracklib/cracklib/pull/61
+
+From 802cbc426779489d44d7fc19e695e7d962c65665 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Fri, 17 Mar 2023 02:20:19 +0000
+Subject: [PATCH] python: adjust include path for builddir
+
+We need this for config.h added by 2e0f854bada720ff4fbd13aed4f87087d466274d.
+--- a/python/setup.py.in
++++ b/python/setup.py.in
+@@ -22,7 +22,7 @@ from setuptools import setup, Extension
+ extensions = [
+ Extension("_cracklib",
+ ["@srcdir@/_cracklib.c"],
+- include_dirs = ["@top_srcdir@/lib"],
++ include_dirs = ["@top_builddir@", "@top_srcdir@/lib"],
+ libraries = ["crack"],
+ library_dirs = ["@top_builddir@/lib/.libs"]),
+ ]
+