diff options
author | Sam James <sam@gentoo.org> | 2023-03-17 02:24:43 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-03-17 02:24:58 +0000 |
commit | 27b7d30f1513c8aa741f0118ebd8af45984ea6c6 (patch) | |
tree | 2bddc965b4a0aaba56d3176814fe11af10889017 /sys-libs | |
parent | sys-apps/flatpak: add 1.14.4 (diff) | |
download | gentoo-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.patch | 20 |
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"]), + ] + |