commit: 6e0f32af28c2772481f2dff7ab228f2e92703cb8
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 9 12:12:59 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jun 9 12:12:59 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6e0f32af
dev-python/cython: add 3.1.2
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-python/cython/Manifest | 1 +
dev-python/cython/cython-3.1.2.ebuild | 129 ++++++++++++++++++++++++++++++++++
2 files changed, 130 insertions(+)
diff --git a/dev-python/cython/Manifest b/dev-python/cython/Manifest
index 039364074ee9..d4948a094875 100644
--- a/dev-python/cython/Manifest
+++ b/dev-python/cython/Manifest
@@ -1,2 +1,3 @@
DIST cython-3.0.12.tar.gz 2757617 BLAKE2B
064549e36e03424065eab081b60e2761d198490cfd4d7836ea236b833ada3962e6ed42ba1710b33418f8a31ac282cdc156ceb544ee21be80ee34b7a3d3f6c7fb
SHA512
c4e85596eeea444fae983d32ce8731cc5d0d612d1f96b998db3aa7946e8be151a7ea62c6df163d875111e306c870656b82a8468dd873cacf84c7bd5671a39bc3
DIST cython-3.1.1.tar.gz 3175446 BLAKE2B
4a75df724e313220321b05b7839bd406e5e923eb860337b7819c31152859396e5bda65a0a06ace196839bed729e28e51a1349c178e615ba58cf9bc80dc706b0d
SHA512
5c64b5d280b234d93d02e91ab22567342350671c605df30a3ac7b41b64e0605eb0aef7bc721f68d35d6048085eaa392cb0a803df32ca902e51e2009c987d962e
+DIST cython-3.1.2.tar.gz 3184825 BLAKE2B
8be6016f3e9a5a7db71fd1cab65424db1a1cd8e9d0118f01432964eb816135021f77542aff2b1f0fd2af8f657f952ebce2f420d7610ae37c6c6956f94e54a636
SHA512
c674027dae58377ea71d8d8b15601e6e0c80435807603251e685608218805fef2e6eac4bbebd3c50c319cd7da660ff9ce1a6daeb673eb40ce70bbfe7f0069600
diff --git a/dev-python/cython/cython-3.1.2.ebuild
b/dev-python/cython/cython-3.1.2.ebuild
new file mode 100644
index 000000000000..204789b25551
--- /dev/null
+++ b/dev-python/cython/cython-3.1.2.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_FULLY_TESTED=( python3_{11..14} )
+PYTHON_TESTED=( "${PYTHON_FULLY_TESTED[@]}" pypy3_11 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_{13,14}t )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 multiprocessing pypi toolchain-funcs
+
+DESCRIPTION="A Python to C compiler"
+HOMEPAGE="
+ https://cython.org/
+ https://github.com/cython/cython/
+ https://pypi.org/project/Cython/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64
~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos
~x64-macos ~x64-solaris"
+IUSE="test test-full"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ test-full? (
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ' "${PYTHON_FULLY_TESTED[@]}")
+ )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
+ "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
+)
+
+distutils_enable_sphinx docs \
+ dev-python/jinja2 \
+ dev-python/sphinx-issues \
+ dev-python/sphinx-tabs
+
+python_compile() {
+ # Python gets confused when it is in sys.path before build.
+ local -x PYTHONPATH=
+
+ if use elibc_musl ; then
+ # Workaround for bug #925318
+ local -x LDFLAGS="${LDFLAGS} -Wl,-z,stack-size=2097152"
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ # PYTHON_TESTED controls whether we expect the testsuite to
+ # pass at all, while PYTHON_FULLY_TESTED allows skipping before
+ # numpy is ported (and possibly other deps in future).
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON} (xfail)"
+ return
+ fi
+
+ # Needed to avoid confusing cache tests
+ unset CYTHON_FORCE_REGEN
+
+ tc-export CC
+
+ local testargs=(
+ -vv
+ -j "$(makeopts_jobs)"
+ --work-dir "${BUILD_DIR}"/tests
+
+ --no-examples
+ --no-code-style
+
+ # Fails to find embedded.c
+ --exclude 'embedded'
+ # coverage_installed_pkg needs dev-python/pip and doesn't like
+ # 'externally-managed' (bug #927995), but we don't really
+ # want automagic test dependencies at all, so just skip
+ # unimportant-for-us coverage tests entirely.
+ --exclude 'run.coverage*'
+ --exclude 'Cython.Coverage'
+ # Automagic on dev-python/python-tests, could add this in future
+ --exclude 'run.test_exceptions'
+ # TODO: Unpackaged dev-python/interpreters-pep-734
(interpreters_backport)
+ # This only shows up as a failure with >=3.13.
+ --exclude 'subinterpreters_threading_stress_test'
+
+ # The fix for https://github.com/cython/cython/issues/6938
+ # changes these tests s.t. they break with our build layout.
+ --exclude 'build.depfile*'
+ )
+
+ if [[ ${EPYTHON} == pypy3* ]] ; then
+ testargs+=(
+ # Recursion issue
+ --exclude 'run.if_else_expr'
+ --exclude 'run.test_patma*'
+ # Slight output difference (missing '<')
+ --exclude 'run.cpp_exception_ptr_just_handler'
+
+ )
+ fi
+
+ # Keep test-full for numpy as it's large and doesn't pass tests itself
+ # on niche arches.
+ if ! use test-full || ! has "${EPYTHON/./_}"
"${PYTHON_FULLY_TESTED[@]}"; then
+ testargs+=(
+ --exclude 'run.numpy*'
+ --exclude 'run.ufunc'
+ --exclude 'numpy*'
+ )
+ fi
+
+ "${PYTHON}" runtests.py "${testargs[@]}" || die "Tests fail with
${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
+ distutils-r1_python_install_all
+}