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"
|
||||
checksum=03cd45edab8716ebbfdb754e65fea72e873c73dc91aec098fe4a01e35324ac7a
|
||||
|
||||
do_check() {
|
||||
PYTHONPATH="$(cd build/lib* && pwd)" \
|
||||
make check
|
||||
post_extract() {
|
||||
local _f
|
||||
for _f in cypari2/*.pyx; do
|
||||
rm -f ${_f%.pyx}.c
|
||||
done
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue