python3-cypari2: fix build for Python 3.11
This commit is contained in:
parent
34c29ae0fd
commit
2d806982e1
2 changed files with 33 additions and 3 deletions
28
srcpkgs/python3-cypari2/patches/python-3.11.patch
Normal file
28
srcpkgs/python3-cypari2/patches/python-3.11.patch
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
--- a/cypari2/convert.pyx
|
||||||
|
+++ b/cypari2/convert.pyx
|
||||||
|
@@ -59,8 +59,7 @@ cdef extern from *:
|
||||||
|
ctypedef struct PyLongObject:
|
||||||
|
digit* ob_digit
|
||||||
|
|
||||||
|
- Py_ssize_t* Py_SIZE_PTR "&Py_SIZE"(object)
|
||||||
|
-
|
||||||
|
+ void __Pyx_SET_SIZE(object, Py_ssize_t)
|
||||||
|
|
||||||
|
########################################################################
|
||||||
|
# Conversion PARI -> Python
|
||||||
|
@@ -450,13 +449,10 @@ cdef PyLong_FromINT(GEN g):
|
||||||
|
if d:
|
||||||
|
sizedigits_final = i+1
|
||||||
|
|
||||||
|
- # Set correct size (use a pointer to hack around Cython's
|
||||||
|
- # non-support for lvalues).
|
||||||
|
- cdef Py_ssize_t* sizeptr = Py_SIZE_PTR(x)
|
||||||
|
if signe(g) > 0:
|
||||||
|
- sizeptr[0] = sizedigits_final
|
||||||
|
+ __Pyx_SET_SIZE(x, sizedigits_final);
|
||||||
|
else:
|
||||||
|
- sizeptr[0] = -sizedigits_final
|
||||||
|
+ __Pyx_SET_SIZE(x, -sizedigits_final);
|
||||||
|
|
||||||
|
return x
|
||||||
|
|
|
@ -13,7 +13,9 @@ homepage="https://github.com/sagemath/cypari2"
|
||||||
distfiles="${PYPI_SITE}/c/cypari2/cypari2-${version}.tar.gz"
|
distfiles="${PYPI_SITE}/c/cypari2/cypari2-${version}.tar.gz"
|
||||||
checksum=03cd45edab8716ebbfdb754e65fea72e873c73dc91aec098fe4a01e35324ac7a
|
checksum=03cd45edab8716ebbfdb754e65fea72e873c73dc91aec098fe4a01e35324ac7a
|
||||||
|
|
||||||
do_check() {
|
post_extract() {
|
||||||
PYTHONPATH="$(cd build/lib* && pwd)" \
|
local _f
|
||||||
make check
|
for _f in cypari2/*.pyx; do
|
||||||
|
rm -f ${_f%.pyx}.c
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue