summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Orlitzky <mjo@gentoo.org>2023-10-24 20:37:48 -0400
committerMichael Orlitzky <mjo@gentoo.org>2023-10-26 07:53:11 -0400
commitfae0a17b70d02416fa62f999f4793578a247d867 (patch)
tree4dd5c30409495f40bbc89edf76503ef50bd4dd7b /dev-python/cypari2
parentdev-python/primecountpy: new package, add 0.1.0 (diff)
downloadgentoo-fae0a17b70d02416fa62f999f4793578a247d867.tar.gz
gentoo-fae0a17b70d02416fa62f999f4793578a247d867.tar.bz2
gentoo-fae0a17b70d02416fa62f999f4793578a247d867.zip
dev-python/cypari2: new package, add 2.1.4
Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Diffstat (limited to 'dev-python/cypari2')
-rw-r--r--dev-python/cypari2/Manifest1
-rw-r--r--dev-python/cypari2/cypari2-2.1.4.ebuild39
-rw-r--r--dev-python/cypari2/files/cypari2-2.1.4-regen-bindings-for-each-python.patch40
-rw-r--r--dev-python/cypari2/metadata.xml27
4 files changed, 107 insertions, 0 deletions
diff --git a/dev-python/cypari2/Manifest b/dev-python/cypari2/Manifest
new file mode 100644
index 000000000000..0718113751e4
--- /dev/null
+++ b/dev-python/cypari2/Manifest
@@ -0,0 +1 @@
+DIST cypari2-2.1.4.gh.tar.gz 127038 BLAKE2B 0d4998841a9a630ea062d7096845771a9a250ed66b68f99988ded6442724559089e8dbbce13ef5c6ad467705c65b2ac9fc5889fa9c40b9665083af558280b81a SHA512 b5926281037aebb899c1a433a0ca106cdfafcb8cb7abb863268ff8151dbc52ee21dbe1d09dde632de1640a4cc4d37f59bebb0e379d61ac2fbdf9fffcf3ba4775
diff --git a/dev-python/cypari2/cypari2-2.1.4.ebuild b/dev-python/cypari2/cypari2-2.1.4.ebuild
new file mode 100644
index 000000000000..97c339f4b723
--- /dev/null
+++ b/dev-python/cypari2/cypari2-2.1.4.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2023 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
+
+DESCRIPTION="Cython interface to PARI"
+HOMEPAGE="https://github.com/sagemath/cypari2"
+
+# We're only using Github for v2.1.4 because PyPI is lagging:
+# https://github.com/sagemath/cypari2/issues/143
+SRC_URI="https://github.com/sagemath/${PN}/releases/download/${PV}/${P}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="sci-mathematics/pari[gmp,doc]
+ dev-python/cysignals[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+BDEPEND="dev-python/cython[${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.1.4-regen-bindings-for-each-python.patch b/dev-python/cypari2/files/cypari2-2.1.4-regen-bindings-for-each-python.patch
new file mode 100644
index 000000000000..cb9ba55fdd29
--- /dev/null
+++ b/dev-python/cypari2/files/cypari2-2.1.4-regen-bindings-for-each-python.patch
@@ -0,0 +1,40 @@
+Ensure that the file auto_paridecl.pxd is both (re)generated with and
+installed for each python implementation.
+
+From 248d26e3e6b1c02fdd3391f033e29d7012189d9e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fran=C3=A7ois=20Bissey?= <frp.bissey@gmail.com>
+Date: Tue, 28 Apr 2020 09:42:39 +1200
+Subject: [PATCH] move rebuild out of build_ext so it is run before everything
+
+---
+ setup.py | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 099ed3b..473fe12 100755
+--- a/setup.py
++++ b/setup.py
+@@ -13,6 +13,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
+@@ -29,9 +33,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,
+--
+2.26.2
+
diff --git a/dev-python/cypari2/metadata.xml b/dev-python/cypari2/metadata.xml
new file mode 100644
index 000000000000..f70554e6dfce
--- /dev/null
+++ b/dev-python/cypari2/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ </maintainer>
+
+ <maintainer type="person" proxied="yes">
+ <email>frp.bissey@gmail.com</email>
+ <name>François Bissey</name>
+ </maintainer>
+
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+
+ <maintainer type="project">
+ <email>sci-mathematics@gentoo.org</email>
+ <name>Gentoo Mathematics Project</name>
+ </maintainer>
+
+ <upstream>
+ <remote-id type="pypi">cypari2</remote-id>
+ <remote-id type="github">sagemath/cypari2</remote-id>
+ </upstream>
+</pkgmetadata>