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>

Reply via email to