dev-python/cython: Sync with Gentoo

It's from Gentoo commit a90a245bdb7fdda146d41ccbd221c9df973bc18a.
This commit is contained in:
Flatcar Buildbot 2023-06-05 07:12:22 +00:00
parent a6dedf6cf1
commit 394e71f1ec
6 changed files with 49 additions and 105 deletions

View File

@ -1,3 +1,3 @@
DIST cython-0.29.33.gh.tar.gz 2113910 BLAKE2B 9212edfa36680a3243632d28c4f5616a7336e82ee1f96df7d5e29711056619639c9a8fe9bbf9aea0a86aed39e836dc6eaa112ad35080f530add6309ccd09c53c SHA512 85f5ba7159d8793dbda980140b26086727f356a71d78f8522419657841d07b865d09c2f0a0f77d398669d071c1d261060235321a19eb7808e35d24f8ac71560d
DIST cython-0.29.34.gh.tar.gz 2114639 BLAKE2B c5f70fd3e6074d9030a1035bc98d71b703e0f391b61bd91f3ffba2c35a29a98b9ff8ef2047e7c75743ead280f0f06a924abe84ae8bf7696b65da662a3c58ee0c SHA512 51679d1304d0f87dfb51e60c753f1ce60027f855a91cf130a5dcf84353884a7dcf09c01701945ae2f9173f8f095890c377d5faac28c2f01d7f764609c0130411
DIST cython-3.0.0b2.gh.tar.gz 2669448 BLAKE2B 87602a43f77f8005adfc71ec0598a12212db917071dd2ae9a7d0d909411e38525290d860a8606600a5e1b07b014da65d2398f04818837fb15f66bcdba0cad965 SHA512 2095a556bc83669a89902a71da2164fbfab2b75cec2de95c91f95b6b3639bc5802b09808059896ed564b0d6e0539e497051614572bc8ba5d678d0410ccc3914f
DIST cython-0.29.35.gh.tar.gz 2115190 BLAKE2B ac23abbd2b560ee52a79840d995a4cf36ddb3a8705b9327010f1ad6add8028185c15703efcc1d59b581d65b5de38e123c0f07c36fe6ffe54a6efee7512161344 SHA512 35d679d94e1f731e004b83fb4ae0d569703b0800c913012308146b1c54463ce12cb1cf3733e24162fb357f179444c5ca31108a37850e6c749ddebac5175119f5
DIST cython-3.0.0b3.gh.tar.gz 2688784 BLAKE2B 933bb48b2bf5169c973a36c877a36eae28b80409a7ff395b82a14ac0740247496df3c9f2d69884c823b7475069f0c75d6cbbb964b88de60b38082e6e36659bff SHA512 f1d0fdcec4bc6b0f6cb66078592424fdcb7a028b79c5b9d41280ae112235736d11c9f4f793e810007e880ae0def195ac25999db59065c7f7bdcfab84b06bf7d3

View File

@ -1,90 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} pypy3 )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1 toolchain-funcs elisp-common
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}.tar.gz
-> ${P}.gh.tar.gz
"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
IUSE="emacs test"
RESTRICT="!test? ( test )"
RDEPEND="
emacs? ( >=app-editors/emacs-23.1:* )
"
BDEPEND="
${RDEPEND}
test? (
$(python_gen_cond_dep '
dev-python/numpy[${PYTHON_USEDEP}]
' python3_{8..10})
)
"
PATCHES=(
"${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
"${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.patch"
)
SITEFILE=50cython-gentoo.el
distutils_enable_sphinx docs
python_compile() {
# Python gets confused when it is in sys.path before build.
local -x PYTHONPATH=
distutils-r1_python_compile
}
python_compile_all() {
use emacs && elisp-compile Tools/cython-mode.el
}
python_test() {
if has "${EPYTHON}" pypy3 python3.11; then
einfo "Skipping tests on ${EPYTHON} (xfail)"
return
fi
tc-export CC
# https://github.com/cython/cython/issues/1911
local -x CFLAGS="${CFLAGS} -fno-strict-overflow"
"${PYTHON}" runtests.py -vv --work-dir "${BUILD_DIR}"/tests ||
die "Tests fail with ${EPYTHON}"
}
python_install_all() {
local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
distutils-r1_python_install_all
if use emacs; then
elisp-install ${PN} Tools/cython-mode.*
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
fi
}
pkg_postinst() {
use emacs && elisp-site-regen
}
pkg_postrm() {
use emacs && elisp-site-regen
}

View File

@ -23,7 +23,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="emacs test"
RESTRICT="!test? ( test )"

View File

@ -3,11 +3,14 @@
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} pypy3 )
PYTHON_TESTED=( python3_{10..11} )
# 3.12 not tested yet for https://github.com/cython/cython/issues/5285.
PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_12 pypy3 )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1 toolchain-funcs elisp-common
inherit distutils-r1 multiprocessing toolchain-funcs elisp-common
DESCRIPTION="A Python to C compiler"
HOMEPAGE="
@ -22,7 +25,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="emacs test"
RESTRICT="!test? ( test )"
@ -34,7 +37,7 @@ BDEPEND="
test? (
$(python_gen_cond_dep '
dev-python/numpy[${PYTHON_USEDEP}]
' python3_{8..10})
' python3_{10..11})
)
"
@ -60,7 +63,7 @@ python_compile_all() {
}
python_test() {
if has "${EPYTHON}" pypy3 python3.11; then
if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
einfo "Skipping tests on ${EPYTHON} (xfail)"
return
fi
@ -68,7 +71,7 @@ python_test() {
tc-export CC
# https://github.com/cython/cython/issues/1911
local -x CFLAGS="${CFLAGS} -fno-strict-overflow"
"${PYTHON}" runtests.py -vv --work-dir "${BUILD_DIR}"/tests ||
"${PYTHON}" runtests.py -vv -j "$(makeopts_jobs)" --work-dir "${BUILD_DIR}"/tests ||
die "Tests fail with ${EPYTHON}"
}

View File

@ -5,10 +5,11 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} pypy3 )
PYTHON_TESTED=( python3_{10..11} )
PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_12 pypy3 )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1 toolchain-funcs
inherit distutils-r1 multiprocessing toolchain-funcs
MY_P=${P/_beta/b}
DESCRIPTION="A Python to C compiler"
@ -25,7 +26,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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 )"
@ -34,7 +35,7 @@ BDEPEND="
test? (
$(python_gen_cond_dep '
dev-python/numpy[${PYTHON_USEDEP}]
' python3_{8..10})
' python3_{10..11})
)
"
@ -42,6 +43,8 @@ PATCHES=(
"${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
"${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.patch"
"${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
# backport upstream fix e.g. for dev-python/pysimdjson on py3.12
"${FILESDIR}/${P}-py312-long.patch"
)
distutils_enable_sphinx docs \
@ -57,7 +60,7 @@ python_compile() {
}
python_test() {
if has "${EPYTHON}" pypy3 python3.11; then
if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
einfo "Skipping tests on ${EPYTHON} (xfail)"
return
fi
@ -65,7 +68,7 @@ python_test() {
tc-export CC
# https://github.com/cython/cython/issues/1911
local -x CFLAGS="${CFLAGS} -fno-strict-overflow"
"${PYTHON}" runtests.py -vv --work-dir "${BUILD_DIR}"/tests ||
"${PYTHON}" runtests.py -vv -j "$(makeopts_jobs)" --work-dir "${BUILD_DIR}"/tests ||
die "Tests fail with ${EPYTHON}"
}

View File

@ -0,0 +1,28 @@
From d82e4e34582e908d315b912a60d81d5759850df5 Mon Sep 17 00:00:00 2001
From: Stefan Behnel <stefan_ml@behnel.de>
Date: Mon, 29 May 2023 21:58:15 +0200
Subject: [PATCH] Fix the argument type passed into the new
"PyUnstable_Long_Compact*()" C-API functions in CPython 3.12.
---
Cython/Utility/TypeConversion.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Cython/Utility/TypeConversion.c b/Cython/Utility/TypeConversion.c
index efc5c1373..09e87d81c 100644
--- a/Cython/Utility/TypeConversion.c
+++ b/Cython/Utility/TypeConversion.c
@@ -149,8 +149,8 @@ static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*);
((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * __Pyx_PyLong_DigitCount(x))
#if defined(PyUnstable_Long_IsCompact) && defined(PyUnstable_Long_CompactValue)
- #define __Pyx_PyLong_IsCompact(x) PyUnstable_Long_IsCompact(x)
- #define __Pyx_PyLong_CompactValue(x) PyUnstable_Long_CompactValue(x)
+ #define __Pyx_PyLong_IsCompact(x) PyUnstable_Long_IsCompact((PyLongObject*) x)
+ #define __Pyx_PyLong_CompactValue(x) PyUnstable_Long_CompactValue((PyLongObject*) x)
#else
#define __Pyx_PyLong_IsCompact(x) (((PyLongObject*)x)->long_value.lv_tag < (2 << _PyLong_NON_SIZE_BITS))
#define __Pyx_PyLong_CompactValue(x) ((1 - (Py_ssize_t) __Pyx_PyLong_Sign(x)) * (Py_ssize_t) __Pyx_PyLong_Digits(x)[0])
--
2.41.0