From 6e6a4fbf74c726f62cc50ce51d26de05e97fa99d Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 1 Sep 2025 07:08:31 +0000 Subject: [PATCH] dev-python/cython: Sync with Gentoo It's from Gentoo commit dc59f99625fd4f57065c84f27bbb3e17ff81bef5. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-python/cython/Manifest | 1 + .../dev-python/cython/cython-3.1.3.ebuild | 129 ++++++++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.3.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest index 204f84dc5f..f2b8fe1369 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/Manifest @@ -1 +1,2 @@ DIST cython-3.1.2.tar.gz 3184825 BLAKE2B 8be6016f3e9a5a7db71fd1cab65424db1a1cd8e9d0118f01432964eb816135021f77542aff2b1f0fd2af8f657f952ebce2f420d7610ae37c6c6956f94e54a636 SHA512 c674027dae58377ea71d8d8b15601e6e0c80435807603251e685608218805fef2e6eac4bbebd3c50c319cd7da660ff9ce1a6daeb673eb40ce70bbfe7f0069600 +DIST cython-3.1.3.tar.gz 3186689 BLAKE2B 520adbaf737b2625a5b6d5802484d84dccf12867ec4c6d379816b84c4413e9a766ee3c21f0ce4209f7961b19346f5e874ab09ed7bf9dc9a259afb8e65ae2359e SHA512 dbf14b486e9dc3cf978abd80f0fcc16d9ed8077d5a44c66b669291d6cc89beeae3e901e4975cee44208dcf52f11ba331a8d73587bf55891976a9ec4818a2470b diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.3.ebuild new file mode 100644 index 0000000000..204789b255 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.1.3.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 +}