commit: 4fb5c79cc8cc6c732090f201ed506554e67fbd89
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 6 08:44:51 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Aug 6 08:48:44 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4fb5c79c
dev-python/frozenlist: Add a flag to disable C extensions entirely
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/frozenlist/frozenlist-1.4.0.ebuild | 17 ++++++++++++-----
dev-python/frozenlist/metadata.xml | 6 ++++++
2 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/dev-python/frozenlist/frozenlist-1.4.0.ebuild
b/dev-python/frozenlist/frozenlist-1.4.0.ebuild
index 21355bc2d995..75fad1a5bdf3 100644
--- a/dev-python/frozenlist/frozenlist-1.4.0.ebuild
+++ b/dev-python/frozenlist/frozenlist-1.4.0.ebuild
@@ -22,11 +22,14 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv
~s390 ~sparc ~x86"
+IUSE="+native-extensions"
BDEPEND="
- $(python_gen_cond_dep '
- dev-python/cython[${PYTHON_USEDEP}]
- ' 'python*')
+ native-extensions? (
+ $(python_gen_cond_dep '
+ dev-python/cython[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
"
distutils_enable_tests pytest
@@ -36,12 +39,16 @@ src_prepare() {
distutils-r1_src_prepare
}
-python_configure() {
+python_compile() {
# pypy is not using the C extension
- if [[ ${EPYTHON} == python* ]]; then
+ if use native-extensions && [[ ${EPYTHON} == python* ]]; then
> .install-cython || die
emake cythonize
+ else
+ local -x FROZENLIST_NO_EXTENSIONS=1
fi
+
+ distutils-r1_python_compile
}
python_test() {
diff --git a/dev-python/frozenlist/metadata.xml
b/dev-python/frozenlist/metadata.xml
index 0e65c5bac7fa..b971f98658cc 100644
--- a/dev-python/frozenlist/metadata.xml
+++ b/dev-python/frozenlist/metadata.xml
@@ -8,4 +8,10 @@
<remote-id type="pypi">frozenlist</remote-id>
<remote-id type="github">aio-libs/frozenlist</remote-id>
</upstream>
+ <use>
+ <flag name="native-extensions">
+ Compile native C extensions (speedups, instead of using
Python
+ fallback code).
+ </flag>
+ </use>
</pkgmetadata>