summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-python/cypari2/Manifest1
-rw-r--r--dev-python/cypari2/cypari2-2.2.0.ebuild34
-rw-r--r--dev-python/cypari2/files/cypari2-2.2.0-regen-bindings-for-each-python.patch25
3 files changed, 60 insertions, 0 deletions
diff --git a/dev-python/cypari2/Manifest b/dev-python/cypari2/Manifest
index 0718113751e4..379839a9eefc 100644
--- a/dev-python/cypari2/Manifest
+++ b/dev-python/cypari2/Manifest
@@ -1 +1,2 @@
DIST cypari2-2.1.4.gh.tar.gz 127038 BLAKE2B 0d4998841a9a630ea062d7096845771a9a250ed66b68f99988ded6442724559089e8dbbce13ef5c6ad467705c65b2ac9fc5889fa9c40b9665083af558280b81a SHA512 b5926281037aebb899c1a433a0ca106cdfafcb8cb7abb863268ff8151dbc52ee21dbe1d09dde632de1640a4cc4d37f59bebb0e379d61ac2fbdf9fffcf3ba4775
+DIST cypari2-2.2.0.tar.gz 127530 BLAKE2B 0ce2e3f157d63c20a257b3b7eaf9a06bf241893193bd561c8980ecb38e698b2ca6679a74958a2398944753e6445c1ab5b063b14e408ef0395a9eaf9e0d7cc8db SHA512 5ba237feb1910bd7182a3c3e8e1409209d4f6e68c9f8966c3bd0ad2f6e66193b4dc3006f26fcb507cac7e6d1ee32ec6d5dda612290d8bd3b3350c8243dd89616
diff --git a/dev-python/cypari2/cypari2-2.2.0.ebuild b/dev-python/cypari2/cypari2-2.2.0.ebuild
new file mode 100644
index 000000000000..1f98ecf02515
--- /dev/null
+++ b/dev-python/cypari2/cypari2-2.2.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=standalone
+DISTUTILS_EXT=1
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Cython interface to PARI"
+HOMEPAGE="https://github.com/sagemath/cypari2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="sci-mathematics/pari[gmp,doc]
+ dev-python/cysignals[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+BDEPEND=">=dev-python/cython-3[${PYTHON_USEDEP}]"
+
+PATCHES=( "${FILESDIR}/${P}-regen-bindings-for-each-python.patch" )
+
+python_test(){
+ cd "${S}"/tests || die
+ "${EPYTHON}" rundoctest.py || die
+}
+
+python_install() {
+ distutils-r1_python_install
+ python_optimize
+}
diff --git a/dev-python/cypari2/files/cypari2-2.2.0-regen-bindings-for-each-python.patch b/dev-python/cypari2/files/cypari2-2.2.0-regen-bindings-for-each-python.patch
new file mode 100644
index 000000000000..9e69c6e43121
--- /dev/null
+++ b/dev-python/cypari2/files/cypari2-2.2.0-regen-bindings-for-each-python.patch
@@ -0,0 +1,25 @@
+diff --git a/setup.py b/setup.py
+index c1775b5..5051c6b 100755
+--- a/setup.py
++++ b/setup.py
+@@ -12,6 +12,10 @@ from autogen.paths import include_dirs, library_dirs
+
+ ext_kwds = dict(include_dirs=include_dirs(), library_dirs=library_dirs())
+
++# Generate auto-generated sources from pari.desc
++# This needs to be done before build/build_ext so the generated pxd is moved
++# to the build directory and installed with newer setuptools.
++rebuild()
+
+ if "READTHEDOCS" in os.environ:
+ # When building with readthedocs, disable optimizations to decrease
+@@ -28,9 +32,6 @@ if "READTHEDOCS" in os.environ:
+ # Adapted from Cython's new_build_ext
+ class build_ext(_build_ext):
+ def finalize_options(self):
+- # Generate auto-generated sources from pari.desc
+- rebuild()
+-
+ self.directives = {
+ "autotestdict.cdef": True,
+ "binding": True,