From f7222de11a1b98fd89d933fb5dca4f1e2503843c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 28 Apr 2025 07:13:38 +0000 Subject: [PATCH] dev-python/cython: Sync with Gentoo It's from Gentoo commit c9654848d46683c21061df5b2e61b6732f21fc12. --- .../portage-stable/dev-python/cython/Manifest | 1 - .../dev-python/cython/cython-3.0.12-r1.ebuild | 9 +- .../dev-python/cython/cython-3.0.12.ebuild | 84 ------------------- ...a1.ebuild => cython-3.1.0_beta1-r1.ebuild} | 12 ++- .../files/cython-3.1.0_beta1-pypy3.patch | 36 ++++++++ 5 files changed, 55 insertions(+), 87 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.12.ebuild rename sdk_container/src/third_party/portage-stable/dev-python/cython/{cython-3.1.0_beta1.ebuild => cython-3.1.0_beta1-r1.ebuild} (75%) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/cython/files/cython-3.1.0_beta1-pypy3.patch 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 08380f5685..78e39a3ba5 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,3 +1,2 @@ -DIST cython-3.0.12.gh.tar.gz 2777066 BLAKE2B 3e2730b7b0ef90ba6a7d4a510dbaa24b7c966d68c397196727b6d63b435c6775aa818a7d1b741819a7940ad44cadbc83be4aa48117b2dcf7bd844f4c9bc268bc SHA512 bbf2cc662b846cf5ff9b686046ec210ea9d3893482e2b5a2696d2ad44f12facd15075b168a3eb6d1f4ea799786f676868eab2593451bceb2937aec2cb1aea99e DIST cython-3.0.12.tar.gz 2757617 BLAKE2B 064549e36e03424065eab081b60e2761d198490cfd4d7836ea236b833ada3962e6ed42ba1710b33418f8a31ac282cdc156ceb544ee21be80ee34b7a3d3f6c7fb SHA512 c4e85596eeea444fae983d32ce8731cc5d0d612d1f96b998db3aa7946e8be151a7ea62c6df163d875111e306c870656b82a8468dd873cacf84c7bd5671a39bc3 DIST cython-3.1.0b1.tar.gz 3192916 BLAKE2B 13a8fa48319d9c4c8cc634d3cf5af599b867466d5de4cf3a24dd342b7812a392e854d9a6152309c6ef84a2925ebfa2257792d0f4e0c8fa36580d7138a663105a SHA512 ced9d57536d3bacd274b5edc4137d400a6182b4b7a89a28cf358f843dcbb0e0e7171fb0842441a81e1d2ac12acb6fd6a3df7018fe2a8708cb188a96cb184d799 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.12-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.12-r1.ebuild index 8f2aa670ba..74e5de7e84 100644 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.12-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.12-r1.ebuild @@ -20,7 +20,7 @@ HOMEPAGE=" 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" +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" RESTRICT="!test? ( test )" @@ -44,6 +44,13 @@ distutils_enable_sphinx docs \ dev-python/sphinx-issues \ dev-python/sphinx-tabs +python_prepare_all() { + # Needs dev-python/pip and doesn't like 'externally-managed' (bug #927995) + rm tests/run/coverage_cmd_src_pkg_layout.srctree || die + + distutils-r1_python_prepare_all +} + python_compile() { # Python gets confused when it is in sys.path before build. local -x PYTHONPATH= diff --git a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.12.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.12.ebuild deleted file mode 100644 index b784ea2727..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-python/cython/cython-3.0.12.ebuild +++ /dev/null @@ -1,84 +0,0 @@ -# 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_TESTED=( python3_{10..12} ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 pypy3_11 python3_13 ) -PYTHON_REQ_USE="threads(+)" - -inherit distutils-r1 multiprocessing toolchain-funcs - -MY_P=${P/_rc/rc} -DESCRIPTION="A Python to C compiler" -HOMEPAGE=" - https://cython.org/ - https://github.com/cython/cython/ - https://pypi.org/project/Cython/ -" -SRC_URI=" - https://github.com/cython/cython/archive/${PV/_rc/rc}.tar.gz - -> ${MY_P}.gh.tar.gz -" -S=${WORKDIR}/${MY_P} - -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" -RESTRICT="!test? ( test )" - -BDEPEND=" - ${RDEPEND} - test? ( - $(python_gen_cond_dep ' - +Date: Sun, 6 Apr 2025 08:43:34 +0100 +Subject: [PATCH] Fix __Pyx_Owned_Py_None usage as actual function (GH-6782) + +In the tracing code, we are using it like a function (i.e. casting to void to mark it unused) so it has to be a function, not just a macro. + +Fixes https://github.com/cython/cython/issues/6781 +--- + Cython/Utility/TypeConversion.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/Cython/Utility/TypeConversion.c b/Cython/Utility/TypeConversion.c +index b86125699c7..e085fae8eb3 100644 +--- a/Cython/Utility/TypeConversion.c ++++ b/Cython/Utility/TypeConversion.c +@@ -103,7 +103,7 @@ static CYTHON_INLINE PyObject *__Pyx_XNewRef(PyObject *obj) { + #endif + } + +-#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None) ++static CYTHON_INLINE PyObject *__Pyx_Owned_Py_None(int b); + static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); + static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); + static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); +@@ -420,6 +420,10 @@ static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { + } + } + ++static CYTHON_INLINE PyObject *__Pyx_Owned_Py_None(int b) { ++ CYTHON_UNUSED_VAR(b); ++ return __Pyx_NewRef(Py_None); ++} + + static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { + return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False);