Github messages for voidlinux
 help / color / mirror / Atom feed
From: tornaria <tornaria@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: [PR PATCH] DRAFT: sagemath update to 9.7
Date: Tue, 11 Oct 2022 00:19:39 +0200	[thread overview]
Message-ID: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-39876@inbox.vuxu.org> (raw)

[-- Attachment #1: Type: text/plain, Size: 1878 bytes --]

There is a new pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages sagemath-update
https://github.com/void-linux/void-packages/pull/39876

DRAFT: sagemath update to 9.7
This includes #39838, #39840, #39846, #39872, #39866, also update eclib-20220621.

For now I'm reverting python3-matplotlib to 3.5.3_1 since 3.6.0_1 gives a lot of problems (#39857 adds python3-contourpy which will solve some, but I think there are more issues).

I want to make sure everything works ok and the full testsuite passes as is. Then I'll just move matplotlib back to 3.6.0_1 and try to see if it's feasible to fix or workaround the issues (sagemath-the-distro is still on matplotlib 3.5.2 and I didn't find anything about the update to 3.6.0)

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: currently running the testsuite in --long after the update of singular.

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/39876.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-sagemath-update-39876.patch --]
[-- Type: text/x-diff, Size: 87463 bytes --]

From c3b0a33ec06b1487c484de4a359f3484dc92b272 Mon Sep 17 00:00:00 2001
From: dkwo <nicolopiazzalunga@gmail.com>
Date: Mon, 10 Oct 2022 10:14:06 -0400
Subject: [PATCH 1/9] singular: update to 4.3.1p2 (fix gcc 12 build)

---
 common/shlibs             | 10 +++++-----
 srcpkgs/singular/template | 11 +++++++----
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 9f95ac87a7ea..54141e4cd4ba 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4055,11 +4055,11 @@ libumfpack.so.5 SuiteSparse-5.10.1_1
 libecl.so.21.2 ecl-21.2.1_1
 libecm.so.1 ecm-7.0.4_3
 libcliquer.so.1 cliquer-1.22_1
-libSingular-4.3.0.so singular-4.3.0_1
-libfactory-4.3.0.so singular-4.3.0_1
-libpolys-4.3.0.so singular-4.3.0_1
-libomalloc-0.9.6.so singular-4.3.0_1
-libsingular_resources-4.3.0.so singular-4.3.0_1
+libSingular-4.3.1.so singular-4.3.1p2_1
+libfactory-4.3.1.so singular-4.3.1p2_1
+libpolys-4.3.1.so singular-4.3.1p2_1
+libomalloc-0.9.6.so singular-4.3.1p2_1
+libsingular_resources-4.3.1.so singular-4.3.1p2_1
 libbrial.so.3 brial-1.2.10_1
 libbrial_groebner.so.3 brial-1.2.10_1
 libm4ri-0.0.20200125.so m4ri-20200125_1
diff --git a/srcpkgs/singular/template b/srcpkgs/singular/template
index f23659ef5d83..441a5ba56134 100644
--- a/srcpkgs/singular/template
+++ b/srcpkgs/singular/template
@@ -1,7 +1,10 @@
 # Template file for 'singular'
 pkgname=singular
-version=4.3.0
+_patchver=p2
+_majver=4.3.1
+version=${_majver}${_patchver}
 revision=1
+wrksrc=singular-${_majver}
 build_style=gnu-configure
 configure_args="--with-readline=ncurses
 	--enable-gfanlib
@@ -15,11 +18,11 @@ configure_args="--with-readline=ncurses
 hostmakedepends="perl tar doxygen"
 makedepends="flintlib-devel cddlib-devel readline-devel graphviz"
 short_desc="Computer algebra system for polynomial computations"
-maintainer="dkwo <nicolopiazzalunga@gmail.com>"
+maintainer="dkwo <npiazza@disroot.org>"
 license="GPL-2.0-or-later"
 homepage="https://www.singular.uni-kl.de"
-distfiles="https://www.singular.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${version//./-}/singular-${version}.tar.gz"
-checksum=74f38288203720e3f280256f2f8deb94030dd032b4237d844652aff0faab36e7
+distfiles="https://www.singular.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${_majver//./-}/singular-${version}.tar.gz"
+checksum=95814bba0f0bd0290cd9799ec1d2ecc6f4c8a4e6429d9a02eb7f9c4e5649682a
 
 if [ -z "$CROSS_BUILD" ]; then
 	makedepends+=" ntl-devel"

From aaef221ac6cefeb5905f813d0ac3976abbf5c647 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 9 Oct 2022 12:31:47 -0300
Subject: [PATCH 2/9] fplll: update to 5.4.2.

---
 srcpkgs/fplll/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/fplll/template b/srcpkgs/fplll/template
index 524ce18887f7..d38719bf8d4a 100644
--- a/srcpkgs/fplll/template
+++ b/srcpkgs/fplll/template
@@ -1,6 +1,6 @@
 # Template file for 'fplll'
 pkgname=fplll
-version=5.4.1
+version=5.4.2
 revision=1
 build_style=gnu-configure
 makedepends="gmp-devel mpfr-devel"
@@ -8,8 +8,9 @@ short_desc="Lattice algorithms using floating-point orthogonalization and LLL"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="LGPL-2.1-or-later"
 homepage="https://github.com/fplll/fplll"
+changelog="https://github.com/fplll/fplll/releases"
 distfiles="https://github.com/fplll/fplll/releases/download/${version}/fplll-${version}.tar.gz"
-checksum=7bd887957173aa592091772c1c36f6aa606b3b2ace0d14e2c26c7463dcf2deb7
+checksum=6e7b1704fd56f29dd9fc1dd719cc1f2df1f58964fd77bbde162f594d7fff7ba5
 
 if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
 	makedepends+=" libatomic-devel"

From 3afdfcf17bd2fad1e4b42e2f851507b0cced0b2d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 10 Oct 2022 00:44:56 -0300
Subject: [PATCH 3/9] python3-sympy: update to 1.11.1.

---
 srcpkgs/python3-sympy/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-sympy/template b/srcpkgs/python3-sympy/template
index 3bb4df3bffdf..4d0c76534ae3 100644
--- a/srcpkgs/python3-sympy/template
+++ b/srcpkgs/python3-sympy/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-sympy'
 pkgname=python3-sympy
-version=1.10.1
+version=1.11.1
 revision=1
 wrksrc="sympy-${version}"
 build_style=python3-module
@@ -12,7 +12,7 @@ maintainer="Alessio Sergi <al3hex@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://sympy.org/"
 distfiles="${PYPI_SITE}/s/sympy/sympy-${version}.tar.gz"
-checksum=5939eeffdf9e152172601463626c022a2c27e75cf6278de8d401d50c9d58787b
+checksum=e32380dce63cb7c0108ed525570092fd45168bdae2faa17e528221ef72e88658
 
 post_install() {
 	vman doc/man/isympy.1

From dce38d7ae301e6645bf97db4af9aee2489462236 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 23 Sep 2022 16:42:40 -0300
Subject: [PATCH 4/9] eclib: update to 20220621.

---
 common/shlibs          | 2 +-
 srcpkgs/eclib/template | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 9f95ac87a7ea..4e924ccf375a 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4015,7 +4015,7 @@ libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.44 ntl-11.5.1_1
 libflint.so.16 flintlib-2.8.0_1
 libarb.so.2 arb-2.20.0_1
-libec.so.8 eclib-20210625_1
+libec.so.10 eclib-20220621_1
 libsymmetrica.so.2 symmetrica-3.0.1_1
 libLfunction.so.1 lcalc-2.0.4_1
 liblrcalc.so.2 lrcalc-2.1_1
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
index 694a39ed4068..e33da0a859ca 100644
--- a/srcpkgs/eclib/template
+++ b/srcpkgs/eclib/template
@@ -1,7 +1,7 @@
 # Template file for 'eclib'
 pkgname=eclib
-version=20210625
-revision=2
+version=20220621
+revision=1
 build_style=gnu-configure
 configure_args="--with-flint --with-boost"
 hostmakedepends="automake autoconf-archive libtool"
@@ -11,7 +11,7 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-2.0-or-later"
 homepage="https://github.com/JohnCremona/eclib"
 distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
-checksum=00333fd36afd237c9e6e410c7ab98536ddcd7fdc430e6837fe293247b835c572
+checksum=b0e06ffe6cd669354627eb1ff351cf558a4376dca1cf5c2d4ad042ae49fa5462
 
 pre_configure() {
 	autoreconf -fi

From 682f3e335e02f3d03e358ba13a9e48d3770dd0f6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 9 Oct 2022 19:58:13 -0300
Subject: [PATCH 5/9] Revert "python3-matplotlib: update to 3.6.0."

This reverts commit 4aacd2a636620b54534cb12e11b64d379237dfe6.
---
 .../patches/fix-setup.patch                   | 26 +++++++++++++++++++
 srcpkgs/python3-matplotlib/template           |  7 ++---
 2 files changed, 30 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/python3-matplotlib/patches/fix-setup.patch

diff --git a/srcpkgs/python3-matplotlib/patches/fix-setup.patch b/srcpkgs/python3-matplotlib/patches/fix-setup.patch
new file mode 100644
index 000000000000..f987d97e4d57
--- /dev/null
+++ b/srcpkgs/python3-matplotlib/patches/fix-setup.patch
@@ -0,0 +1,26 @@
+The maximum version of setuptools_scm is pinned below 6 for no apparent reason
+and Void ships 7.x; remove the upper version restriction and also drop the
+requirement for setuptools_scm_git_archive that was originally patched out in
+the template.
+
+--- a/setup.py
++++ b/setup.py
+@@ -316,8 +316,7 @@
+     setup_requires=[
+         "certifi>=2020.06.20",
+         "numpy>=1.17",
+-        "setuptools_scm>=4,<7",
+-        "setuptools_scm_git_archive",
++        "setuptools_scm>=4",
+     ],
+     install_requires=[
+         "cycler>=0.10",
+@@ -330,7 +329,7 @@
+         "python-dateutil>=2.7",
+     ] + (
+         # Installing from a git checkout that is not producing a wheel.
+-        ["setuptools_scm>=4,<7"] if (
++        ["setuptools_scm>=4"] if (
+             Path(__file__).with_name(".git").exists() and
+             os.environ.get("CIBUILDWHEEL", "0") != "1"
+         ) else []
diff --git a/srcpkgs/python3-matplotlib/template b/srcpkgs/python3-matplotlib/template
index c48fd24d58d4..b71abf2aecd9 100644
--- a/srcpkgs/python3-matplotlib/template
+++ b/srcpkgs/python3-matplotlib/template
@@ -1,6 +1,7 @@
 # Template file for 'python3-matplotlib'
 pkgname=python3-matplotlib
-version=3.6.0
+reverts="3.5.2_1"
+version=3.5.3
 revision=1
 wrksrc="matplotlib-${version}"
 build_style=python3-module
@@ -13,8 +14,8 @@ short_desc="Python3 2D/3D plotting library"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="custom:matplotlib, BSD-3-Clause, MIT"
 homepage="https://matplotlib.org/"
-distfiles="${PYPI_SITE}/m/matplotlib/matplotlib-${version}.tar.gz"
-checksum=c5108ebe67da60a9204497d8d403316228deb52b550388190c53a57394d41531
+distfiles="https://github.com/matplotlib/matplotlib/archive/v${version}.tar.gz"
+checksum=9d6ee7190fde3cb0c6285d462a0258c9735a72c7b532321a3983e05076aa41dc
 replaces="python3-matplotlib-data>=0"
 # Comparison of images is too frail for validation
 make_check="no"

From 74d4270dc68d8ab82a6344a81becb007be059498 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 10 Oct 2022 00:49:01 -0300
Subject: [PATCH 6/9] sagemath: update to 9.7.

---
 .../patches/01-dont_link_ratpoints.patch      |  10 -
 ... => 02-fix_get_shared_lib_path--see_29644} |   0
 .../patches/03-doctest_have_program.patch     |  20 -
 .../patches/04-doctest_sage_getfile.patch     |  22 -
 .../patches/05-fix_sage_getfile.patch         |  16 -
 .../sagemath/patches/07-ignore_warning.patch  |  15 -
 ...24.patch => 08-dont_run_pytest--see_31924} |   0
 ...y_slow_doctest-polynomial_zmod_flint.patch |  14 -
 ...ry_slow_doctest-isogeny_small_degree.patch | 106 ---
 ...fix_very_slow_doctest-function_field.patch |  97 ---
 .../trac-31355-upgrade_lrcalc_to_2.1.patch    | 670 ------------------
 .../trac-33170-fix_doctest_ipython_8.patch    |  40 --
 .../trac-33170b-fix_doctest_ipython_8.1.patch |  13 -
 ...2ddd4e2dc92469c1590ebf0c40f8f69bf579.patch | 126 ----
 ...2adf01e9e2ce9f1e33779f0b1ac0d9d1989c.patch |  40 --
 .../trac-33336-fix_doctest_scipy_1.8.patch    |  19 -
 ...cee1a69229b2f5d8ac4a09a73d8152f5e14d.patch |  53 ++
 ...d9deaeaa6380ab2f0d50276d911233c00a04.patch |  99 ---
 ...ff347454ac7f07e5918470b20e97b8f2357e.patch |  29 -
 ...0a0b14f67f4804e7113c3db41bbcf8a58296.patch |  26 -
 ...d4e56243c609f44afc1f21c112b026f9e1fe.patch |  42 ++
 ...1318f032caf8dc1c0de9489346d894409091.patch |  19 +
 ...on.patch => zzz-loadable_module_extension} |   0
 srcpkgs/sagemath/template                     |  12 +-
 24 files changed, 120 insertions(+), 1368 deletions(-)
 delete mode 100644 srcpkgs/sagemath/patches/01-dont_link_ratpoints.patch
 rename srcpkgs/sagemath/patches/{02-fix_get_shared_lib_path--see_29644.patch => 02-fix_get_shared_lib_path--see_29644} (100%)
 delete mode 100644 srcpkgs/sagemath/patches/03-doctest_have_program.patch
 delete mode 100644 srcpkgs/sagemath/patches/04-doctest_sage_getfile.patch
 delete mode 100644 srcpkgs/sagemath/patches/05-fix_sage_getfile.patch
 delete mode 100644 srcpkgs/sagemath/patches/07-ignore_warning.patch
 rename srcpkgs/sagemath/patches/{08-dont_run_pytest--see_31924.patch => 08-dont_run_pytest--see_31924} (100%)
 delete mode 100644 srcpkgs/sagemath/patches/10-fix_very_slow_doctest-polynomial_zmod_flint.patch
 delete mode 100644 srcpkgs/sagemath/patches/11-fix_very_slow_doctest-isogeny_small_degree.patch
 delete mode 100644 srcpkgs/sagemath/patches/12-fix_very_slow_doctest-function_field.patch
 delete mode 100644 srcpkgs/sagemath/patches/trac-31355-upgrade_lrcalc_to_2.1.patch
 delete mode 100644 srcpkgs/sagemath/patches/trac-33170-fix_doctest_ipython_8.patch
 delete mode 100644 srcpkgs/sagemath/patches/trac-33170b-fix_doctest_ipython_8.1.patch
 delete mode 100644 srcpkgs/sagemath/patches/trac-33189-fix_doctests_for_arb_2.22-53532ddd4e2dc92469c1590ebf0c40f8f69bf579.patch
 delete mode 100644 srcpkgs/sagemath/patches/trac-33226-fix_doctests_giac-1.7.0-33ea2adf01e9e2ce9f1e33779f0b1ac0d9d1989c.patch
 delete mode 100644 srcpkgs/sagemath/patches/trac-33336-fix_doctest_scipy_1.8.patch
 create mode 100644 srcpkgs/sagemath/patches/trac-33360-avoid_factoring_in_is_prime-6330cee1a69229b2f5d8ac4a09a73d8152f5e14d.patch
 delete mode 100644 srcpkgs/sagemath/patches/trac-33398-fix_doctest_sympy_1.10-609dd9deaeaa6380ab2f0d50276d911233c00a04.patch
 delete mode 100644 srcpkgs/sagemath/patches/trac-33398-fix_doctest_sympy_1.10-c49eff347454ac7f07e5918470b20e97b8f2357e.patch
 delete mode 100644 srcpkgs/sagemath/patches/trac-33585-fix_doctest_sphinx_installed-a04a0a0b14f67f4804e7113c3db41bbcf8a58296.patch
 create mode 100644 srcpkgs/sagemath/patches/trac-34118-update_sympy_to_1.11.1-5db5d4e56243c609f44afc1f21c112b026f9e1fe.patch
 create mode 100644 srcpkgs/sagemath/patches/trac-34465-fix_invalid_escape_sequence-04971318f032caf8dc1c0de9489346d894409091.patch
 rename srcpkgs/sagemath/patches/{zzz-loadable_module_extension.patch => zzz-loadable_module_extension} (100%)

diff --git a/srcpkgs/sagemath/patches/01-dont_link_ratpoints.patch b/srcpkgs/sagemath/patches/01-dont_link_ratpoints.patch
deleted file mode 100644
index e5c3f5776aa2..000000000000
--- a/srcpkgs/sagemath/patches/01-dont_link_ratpoints.patch
+++ /dev/null
@@ -1,10 +0,0 @@
- - do not link ratpoints where it's not used
-
---- a/src/sage/schemes/elliptic_curves/descent_two_isogeny.pyx
-+++ b/src/sage/schemes/elliptic_curves/descent_two_isogeny.pyx
-@@ -1,5 +1,3 @@
--# distutils: libraries = ratpoints
--
- r"""
- Descent on elliptic curves over `\QQ` with a 2-isogeny
- """
diff --git a/srcpkgs/sagemath/patches/02-fix_get_shared_lib_path--see_29644.patch b/srcpkgs/sagemath/patches/02-fix_get_shared_lib_path--see_29644
similarity index 100%
rename from srcpkgs/sagemath/patches/02-fix_get_shared_lib_path--see_29644.patch
rename to srcpkgs/sagemath/patches/02-fix_get_shared_lib_path--see_29644
diff --git a/srcpkgs/sagemath/patches/03-doctest_have_program.patch b/srcpkgs/sagemath/patches/03-doctest_have_program.patch
deleted file mode 100644
index 27ba3776470c..000000000000
--- a/srcpkgs/sagemath/patches/03-doctest_have_program.patch
+++ /dev/null
@@ -1,20 +0,0 @@
- - we don't know `SAGE_VENV/bin` contains `sage`, but `sys.argv[0]` should
-   be the full path to `sage-ipython` and the same directory should have `sage`
-
---- a/src/sage/misc/sage_ostools.pyx
-+++ b/src/sage/misc/sage_ostools.pyx
-@@ -32,12 +32,11 @@ def have_program(program, path=None):
-         True
-         sage: have_program('there_is_not_a_program_with_this_name')
-         False
--        sage: from sage.env import SAGE_VENV
--        sage: have_program('sage', os.path.join(SAGE_VENV, 'bin'))
-+        sage: have_program('sage', os.path.dirname(sys.argv[0]))
-         True
-         sage: have_program('sage', '/there_is_not_a_path_with_this_name')
-         False
--        sage: have_program('there_is_not_a_program_with_this_name', os.path.join(SAGE_VENV, 'bin'))
-+        sage: have_program('there_is_not_a_program_with_this_name', "/bin")
-         False
-     """
-     if path is None:
diff --git a/srcpkgs/sagemath/patches/04-doctest_sage_getfile.patch b/srcpkgs/sagemath/patches/04-doctest_sage_getfile.patch
deleted file mode 100644
index 95bce107f854..000000000000
--- a/srcpkgs/sagemath/patches/04-doctest_sage_getfile.patch
+++ /dev/null
@@ -1,22 +0,0 @@
- - add one doctest for coverage
-
---- a/src/sage/misc/sageinspect.py
-+++ b/src/sage/misc/sageinspect.py
-@@ -1341,10 +1342,12 @@ def sage_getfile(obj):
-     EXAMPLES::
- 
-         sage: from sage.misc.sageinspect import sage_getfile
--        sage: sage_getfile(sage.rings.rational)[-23:]
--        'sage/rings/rational.pyx'
--        sage: sage_getfile(Sq)[-42:]
--        'sage/algebras/steenrod/steenrod_algebra.py'
-+        sage: sage_getfile(sage.rings.rational)
-+        '...sage/rings/rational.pyx'
-+        sage: sage_getfile(Sq)
-+        '...sage/algebras/steenrod/steenrod_algebra.py'
-+        sage: sage_getfile(x)
-+        '...sage/symbolic/expression.pyx'
- 
-     The following tests against some bugs fixed in :trac:`9976`::
- 
-
diff --git a/srcpkgs/sagemath/patches/05-fix_sage_getfile.patch b/srcpkgs/sagemath/patches/05-fix_sage_getfile.patch
deleted file mode 100644
index 56c58078f319..000000000000
--- a/srcpkgs/sagemath/patches/05-fix_sage_getfile.patch
+++ /dev/null
@@ -1,16 +0,0 @@
- - fix sage_getfile() by checking all possible EXTENSION_SUFFIXES
-
---- a/src/sage/misc/sageinspect.py
-+++ b/src/sage/misc/sageinspect.py
-@@ -1400,8 +1403,9 @@ def sage_getfile(obj):
-         sourcefile = inspect.getabsfile(obj)
-     except TypeError: # this happens for Python builtins
-         return ''
--    if sourcefile.endswith(loadable_module_extension()):
--        return sourcefile[:-len(loadable_module_extension())]+os.path.extsep+'pyx'
-+    for suffix in import_machinery.EXTENSION_SUFFIXES:
-+        if sourcefile.endswith(suffix):
-+            return sourcefile[:-len(suffix)]+os.path.extsep+'pyx'
-     return sourcefile
- 
- 
diff --git a/srcpkgs/sagemath/patches/07-ignore_warning.patch b/srcpkgs/sagemath/patches/07-ignore_warning.patch
deleted file mode 100644
index 69668678a40b..000000000000
--- a/srcpkgs/sagemath/patches/07-ignore_warning.patch
+++ /dev/null
@@ -1,15 +0,0 @@
- - this ignores a warning caused by old notebook
-
---- a/src/sage/all.py
-+++ b/src/sage/all.py
-@@ -100,6 +100,9 @@ warnings.filterwarnings('ignore', category=DeprecationWarning,
-                         message='The distutils(.sysconfig module| package) is deprecated',
-                         module='Cython|distutils|numpy|sage.env|sage.features')
- 
-+warnings.filterwarnings('ignore', category=DeprecationWarning,
-+                        message=r"invalid escape sequence '\\s'")
-+
- ################ end setup warnings ###############################
- 
- 
-
diff --git a/srcpkgs/sagemath/patches/08-dont_run_pytest--see_31924.patch b/srcpkgs/sagemath/patches/08-dont_run_pytest--see_31924
similarity index 100%
rename from srcpkgs/sagemath/patches/08-dont_run_pytest--see_31924.patch
rename to srcpkgs/sagemath/patches/08-dont_run_pytest--see_31924
diff --git a/srcpkgs/sagemath/patches/10-fix_very_slow_doctest-polynomial_zmod_flint.patch b/srcpkgs/sagemath/patches/10-fix_very_slow_doctest-polynomial_zmod_flint.patch
deleted file mode 100644
index bae8387cf94a..000000000000
--- a/srcpkgs/sagemath/patches/10-fix_very_slow_doctest-polynomial_zmod_flint.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/src/sage/rings/polynomial/polynomial_zmod_flint.pyx
-+++ b/src/sage/rings/polynomial/polynomial_zmod_flint.pyx
-@@ -237,8 +237,9 @@ cdef class Polynomial_zmod_flint(Polynomial_template):
- 
-             sage: a = ZZ['x'](range(100000))
-             sage: R = Integers(3)['x']
--            sage: R(a)  # long time (7s on sage.math, 2013)
--            2*x^99998 + ... + x
-+            sage: p = R(a)
-+            sage: p.truncate(10)  # testing the whole poly is VERY SLOW
-+            2*x^8 + x^7 + 2*x^5 + x^4 + 2*x^2 + x
-         """
-         sig_on()
-         fmpz_poly_get_nmod_poly(&self.x, x)
diff --git a/srcpkgs/sagemath/patches/11-fix_very_slow_doctest-isogeny_small_degree.patch b/srcpkgs/sagemath/patches/11-fix_very_slow_doctest-isogeny_small_degree.patch
deleted file mode 100644
index f3da5bbb555e..000000000000
--- a/srcpkgs/sagemath/patches/11-fix_very_slow_doctest-isogeny_small_degree.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-diff --git a/src/sage/schemes/elliptic_curves/isogeny_small_degree.py b/src/sage/schemes/elliptic_curves/isogeny_small_degree.py
-index 43727346269..9d3ccd475cd 100644
---- a/src/sage/schemes/elliptic_curves/isogeny_small_degree.py
-+++ b/src/sage/schemes/elliptic_curves/isogeny_small_degree.py
-@@ -186,7 +186,7 @@ def Psi(l, use_stored=True):
-         sage: assert Psi(3, use_stored=True) == Psi(3, use_stored=False)
-         sage: assert Psi(5, use_stored=True) == Psi(5, use_stored=False)
-         sage: assert Psi(7, use_stored=True) == Psi(7, use_stored=False)
--        sage: assert Psi(13, use_stored=True) == Psi(13, use_stored=False) # not tested (very long time)
-+        sage: assert Psi(13, use_stored=True) == Psi(13, use_stored=False)  # long time (2s)
-     """
-     if l not in [2, 3, 5, 7, 13]:
-         raise ValueError("Genus zero primes are 2, 3, 5, 7 or 13.")
-@@ -1207,7 +1207,7 @@ def isogenies_13_0(E, minimal_models=True):
-         sage: K.<a> = NumberField(f)
-         sage: E = EllipticCurve(j=K(0)); E.ainvs()
-         (0, 0, 0, 0, 1)
--        sage: [phi.codomain().ainvs() for phi in isogenies_13_0(E)]
-+        sage: [phi.codomain().ainvs() for phi in isogenies_13_0(E)]  # long time (4s)
-         [(0,
-           0,
-           20360599/165164973653422080*a^11 - 3643073/41291243413355520*a^10 - 101/8789110986240*a^9 + 5557619461/573489491852160*a^8 - 82824971/11947697746920*a^7 - 19487/21127670640*a^6 - 475752603733/29409717530880*a^5 + 87205112531/7352429382720*a^4 + 8349/521670880*a^3 + 5858744881/12764634345*a^2 - 1858703809/2836585410*a + 58759402/48906645,
-@@ -1325,7 +1325,7 @@ def isogenies_13_1728(E, minimal_models=True):
-         sage: f = x^12 + 1092*x^10 - 432432*x^8 + 6641024*x^6 - 282896640*x^4 - 149879808*x^2 - 349360128
-         sage: K.<a> = NumberField(f)
-         sage: E = EllipticCurve(K, [1,0])
--        sage: [phi.codomain().ainvs() for phi in isogenies_13_1728(E)]
-+        sage: [phi.codomain().ainvs() for phi in isogenies_13_1728(E)]  # long time (3s)
-         [(0,
-         0,
-         0,
-@@ -1550,8 +1550,11 @@ def Psi2(l):
-         sage: from sage.schemes.elliptic_curves.isogeny_small_degree import Psi2
-         sage: Psi2(11)
-         x^5 - 55*x^4*u + 994*x^3*u^2 - 8774*x^2*u^3 + 41453*x*u^4 - 928945/11*u^5 + 33*x^4 + 276*x^3*u - 7794*x^2*u^2 + 4452*x*u^3 + 1319331/11*u^4 + 216*x^3*v - 4536*x^2*u*v + 31752*x*u^2*v - 842616/11*u^3*v + 162*x^3 + 38718*x^2*u - 610578*x*u^2 + 33434694/11*u^3 - 4536*x^2*v + 73872*x*u*v - 2745576/11*u^2*v - 16470*x^2 + 580068*x*u - 67821354/11*u^2 - 185976*x*v + 14143896/11*u*v + 7533*x - 20437029/11*u - 12389112/11*v + 19964151/11
--        sage: Psi2(71)  # long time (1 second)
--        -2209380711722505179506258739515288584116147237393815266468076436521/71*u^210 + ... - 14790739586438315394567393301990769678157425619440464678252277649/71
-+        sage: f = Psi2(71)
-+        sage: f.coefficient([0, 210, 0])
-+        -2209380711722505179506258739515288584116147237393815266468076436521/71
-+        sage: f.coefficient([0, 0, 0])
-+        -14790739586438315394567393301990769678157425619440464678252277649/71
- 
-     TESTS::
- 
-@@ -1665,17 +1668,17 @@ def isogenies_prime_degree_genus_plus_0(E, l=None, minimal_models=True):
-         sage: K = QuadraticField(5,'a')
-         sage: a = K.gen()
-         sage: E = EllipticCurve_from_j(184068066743177379840*a - 411588709724712960000)
--        sage: isogenies_prime_degree_genus_plus_0(E, 47) # long time (4.3s)
-+        sage: isogenies_prime_degree_genus_plus_0(E, 47)  # long time (2s)
-         [Isogeny of degree 47 from Elliptic Curve defined by y^2 = x^3 + (454562028554080355857852049849975895490560*a-1016431595837124114668689286176511361024000)*x + (-249456798429896080881440540950393713303830363999480904280965120*a+557802358738710443451273320227578156598454035482869042774016000) over Number Field in a with defining polynomial x^2 - 5 with a = 2.236067977499790? to Elliptic Curve defined by y^2 = x^3 + (39533118442361013730577638493616965245992960*a-88398740199669828340617478832005245173760000)*x + (214030321479466610282320528611562368963830105830555363061803253760*a-478586348074220699687616322532666163722004497458452316582576128000) over Number Field in a with defining polynomial x^2 - 5 with a = 2.236067977499790?]
- 
-         sage: K = QuadraticField(-66827,'a')
-         sage: a = K.gen()
-         sage: E = EllipticCurve_from_j(-98669236224000*a + 4401720074240000)
--        sage: isogenies_prime_degree_genus_plus_0(E, 59)   # long time (25s, 2012)
-+        sage: isogenies_prime_degree_genus_plus_0(E, 59)   # long time (5s)
-         [Isogeny of degree 59 from Elliptic Curve defined by y^2 = x^3 + (2605886146782144762297974784000*a+1893681048912773634944634716160000)*x + (-116918454256410782232296183198067568744071168000*a+17012043538294664027185882358514011304812871680000) over Number Field in a with defining polynomial x^2 + 66827 with a = 258.5091874576221?*I to Elliptic Curve defined by y^2 = x^3 + (-19387084027159786821400775098368000*a-4882059104868154225052787156713472000)*x + (-25659862010101415428713331477227179429538847260672000*a-2596038148441293485938798119003462972840818381946880000) over Number Field in a with defining polynomial x^2 + 66827 with a = 258.5091874576221?*I]
- 
-         sage: E = EllipticCurve_from_j(GF(13)(5))
--        sage: isogenies_prime_degree_genus_plus_0(E, 71) # long time
-+        sage: isogenies_prime_degree_genus_plus_0(E, 71)
-         [Isogeny of degree 71 from Elliptic Curve defined by y^2 = x^3 + x + 4 over Finite Field of size 13 to Elliptic Curve defined by y^2 = x^3 + 10*x + 7 over Finite Field of size 13, Isogeny of degree 71 from Elliptic Curve defined by y^2 = x^3 + x + 4 over Finite Field of size 13 to Elliptic Curve defined by y^2 = x^3 + 10*x + 7 over Finite Field of size 13]
- 
-         sage: E = EllipticCurve(GF(13),[0,1,1,1,0])
-@@ -2117,11 +2120,11 @@ def isogenies_prime_degree_general(E, l, minimal_models=True):
-         sage: isogenies_prime_degree_general(E, 19)
-         [Isogeny of degree 19 from Elliptic Curve defined by y^2 + y = x^3 - 1862*x - 30956 over Rational Field to Elliptic Curve defined by y^2 + y = x^3 - 672182*x + 212325489 over Rational Field]
-         sage: E = EllipticCurve([0, -1, 0, -6288, 211072])
--        sage: isogenies_prime_degree_general(E, 37)  # long time (10s)
-+        sage: isogenies_prime_degree_general(E, 37)  # long time (2s)
-         [Isogeny of degree 37 from Elliptic Curve defined by y^2 = x^3 - x^2 - 6288*x + 211072 over Rational Field to Elliptic Curve defined by y^2 = x^3 - x^2 - 163137088*x - 801950801728 over Rational Field]
- 
-         sage: E = EllipticCurve([-3440, 77658])
--        sage: isogenies_prime_degree_general(E, 43)  # long time (16s)
-+        sage: isogenies_prime_degree_general(E, 43)  # long time (2s)
-         [Isogeny of degree 43 from Elliptic Curve defined by y^2 = x^3 - 3440*x + 77658 over Rational Field to Elliptic Curve defined by y^2 = x^3 - 6360560*x - 6174354606 over Rational Field]
- 
-     Isogenies of degree equal to the characteristic are computed (but
-@@ -2175,7 +2178,7 @@ def isogenies_prime_degree_general(E, l, minimal_models=True):
- 
-         sage: K.<i> = QuadraticField(-1)
-         sage: E = EllipticCurve(K,[0,0,0,1,0])
--        sage: [phi.codomain().ainvs() for phi in E.isogenies_prime_degree(37)] # long time
-+        sage: [phi.codomain().ainvs() for phi in E.isogenies_prime_degree(37)]  # long time (6s)
-         [(0, 0, 0, -840*i + 1081, 0), (0, 0, 0, 840*i + 1081, 0)]
-     """
-     if not l.is_prime():
-@@ -2329,14 +2332,14 @@ def isogenies_prime_degree(E, l, minimal_models=True):
-         sage: E = EllipticCurve(GF(101), [-3440, 77658])
-         sage: E.isogenies_prime_degree(71) # fast
-         []
--        sage: E.isogenies_prime_degree(73) # slower (2s)
-+        sage: E.isogenies_prime_degree(73)  # long time (2s)
-         []
- 
-     Test that :trac:`32269` is fixed::
- 
-         sage: K = QuadraticField(-11)
-         sage: E = EllipticCurve(K, [0,1,0,-117,-541])
--        sage: E.isogenies_prime_degree(37)
-+        sage: E.isogenies_prime_degree(37)  # long time (9s)
-         [Isogeny of degree 37 from Elliptic Curve defined by y^2 = x^3 + x^2 + (-117)*x + (-541) over Number Field in a with defining polynomial x^2 + 11 with a = 3.316624790355400?*I to Elliptic Curve defined by y^2 = x^3 + x^2 + (30800*a+123963)*x + (3931312*a-21805005) over Number Field in a with defining polynomial x^2 + 11 with a = 3.316624790355400?*I,
-          Isogeny of degree 37 from Elliptic Curve defined by y^2 = x^3 + x^2 + (-117)*x + (-541) over Number Field in a with defining polynomial x^2 + 11 with a = 3.316624790355400?*I to Elliptic Curve defined by y^2 = x^3 + x^2 + (-30800*a+123963)*x + (-3931312*a-21805005) over Number Field in a with defining polynomial x^2 + 11 with a = 3.316624790355400?*I]
- 
diff --git a/srcpkgs/sagemath/patches/12-fix_very_slow_doctest-function_field.patch b/srcpkgs/sagemath/patches/12-fix_very_slow_doctest-function_field.patch
deleted file mode 100644
index 3b7b1ea843df..000000000000
--- a/srcpkgs/sagemath/patches/12-fix_very_slow_doctest-function_field.patch
+++ /dev/null
@@ -1,97 +0,0 @@
---- a/src/sage/rings/function_field/function_field.py
-+++ b/src/sage/rings/function_field/function_field.py
-@@ -111,22 +111,21 @@ Function fields over the algebraic field are supported::
-     sage: m = L.completion(pl, prec=5)
-     sage: m(x)
-     I + s + O(s^5)
--    sage: m(y)
-+    sage: m(y)                             # long time (4s)
-     -2*s + (-4 - I)*s^2 + (-15 - 4*I)*s^3 + (-75 - 23*I)*s^4 + (-413 - 154*I)*s^5 + O(s^6)
--    sage: m(y)^2 + m(y) + m(x) + 1/m(x)
-+    sage: m(y)^2 + m(y) + m(x) + 1/m(x)    # long time (8s)
-     O(s^5)
- 
- TESTS::
- 
-     sage: TestSuite(J).run()
--    sage: TestSuite(K).run(max_runs=1024) # long time (5s)
--    sage: TestSuite(L).run(max_runs=64)   # long time (10s)
--    sage: TestSuite(M).run(max_runs=32)   # long time (30s)
--    sage: TestSuite(N).run(max_runs=64, skip = '_test_derivation')  # long time (8s)
--    sage: TestSuite(O).run(max_runs=128, skip = '_test_derivation') # long time (8s)
--
-+    sage: TestSuite(K).run(max_runs=256)   # long time (10s)
-+    sage: TestSuite(L).run(max_runs=8)     # long time (25s)
-+    sage: TestSuite(M).run(max_runs=8)     # long time (35s)
-+    sage: TestSuite(N).run(max_runs=8, skip = '_test_derivation')    # long time (15s)
-+    sage: TestSuite(O).run()
-     sage: TestSuite(R).run()
--    sage: TestSuite(S).run() # long time (3s)
-+    sage: TestSuite(S).run()               # long time (4s)
- 
- Global function fields
- ----------------------
-@@ -287,7 +286,7 @@ class FunctionField(Field):
-         TESTS::
- 
-             sage: K.<x> = FunctionField(QQ)
--            sage: TestSuite(K).run()
-+            sage: TestSuite(K).run()               # long time (3s)
-         """
-         Field.__init__(self, base_field, names=names, category=category)
- 
-@@ -729,7 +728,7 @@ class FunctionField(Field):
-         EXAMPLES::
- 
-             sage: K.<x> = FunctionField(QQ)
--            sage: TestSuite(K).run() # indirect doctest
-+            sage: TestSuite(K).run()    # indirect doctest, long time (3s)
-         """
-         tester = self._tester(**options)
-         S = tester.some_elements()
-@@ -1209,7 +1208,7 @@ class FunctionField_polymod(FunctionField):
-             sage: K.<x> = FunctionField(QQ); R.<y> = K[]
-             sage: L = K.extension(y^5 - x^3 - 3*x + x*y); L
-             Function field in y defined by y^5 + x*y - x^3 - 3*x
--            sage: TestSuite(L).run()  # long time
-+            sage: TestSuite(L).run(max_runs=512)   # long time (15s)
- 
-         We can set the variable name, which doesn't have to be y::
- 
-@@ -2888,7 +2887,8 @@ class FunctionField_simple(FunctionField_polymod):
-             sage: F.<y> = K.extension(Y^3 - x^2*(x^2 + x + 1)^2)
-             sage: O = K.maximal_order()
-             sage: pls = [O.ideal(x-QQbar(sqrt(c))).place() for c in [-2, -1, 0, 1, 2]]
--            sage: all(q.place_below() == p for p in pls for q in F.places_above(p))
-+            sage: all(q.place_below() == p         # long time (4s)
-+            ....:     for p in pls for q in F.places_above(p))
-             True
-         """
-         R = self.base_field()
-@@ -3091,7 +3091,7 @@ class FunctionField_global(FunctionField_simple):
- 
-         sage: K.<x> = FunctionField(GF(4)); _.<Y> = K[]
-         sage: L.<y> = K.extension((1 - x)*Y^7 - x^3)
--        sage: L.gaps()
-+        sage: L.gaps()                         # long time (6s)
-         [1, 2, 3]
- 
-     or may define a trivial extension::
-@@ -3111,7 +3111,7 @@ class FunctionField_global(FunctionField_simple):
- 
-             sage: K.<x> = FunctionField(GF(5)); _.<Y> = K[]
-             sage: L.<y> = K.extension(Y^3 - (x^3 - 1)/(x^3 - 2))
--            sage: TestSuite(L).run()
-+            sage: TestSuite(L).run()               # long time (7s)
-         """
-         FunctionField_polymod.__init__(self, polynomial, names)
- 
-@@ -3807,7 +3807,7 @@ class RationalFunctionField(FunctionField):
- 
-             sage: K.<t> = FunctionField(CC); K
-             Rational function field in t over Complex Field with 53 bits of precision
--            sage: TestSuite(K).run()
-+            sage: TestSuite(K).run()               # long time (5s)
- 
-             sage: FunctionField(QQ[I], 'alpha')
-             Rational function field in alpha over Number Field in I with defining polynomial x^2 + 1 with I = 1*I
diff --git a/srcpkgs/sagemath/patches/trac-31355-upgrade_lrcalc_to_2.1.patch b/srcpkgs/sagemath/patches/trac-31355-upgrade_lrcalc_to_2.1.patch
deleted file mode 100644
index 4bd6f4f4e2dc..000000000000
--- a/srcpkgs/sagemath/patches/trac-31355-upgrade_lrcalc_to_2.1.patch
+++ /dev/null
@@ -1,670 +0,0 @@
-As produced by `git diff 9.5 9.6.beta3 -- src/sage/libs/lrcalc`
-
-diff --git a/src/sage/libs/lrcalc/lrcalc.pxd b/src/sage/libs/lrcalc/lrcalc.pxd
-deleted file mode 100644
-index 10b88db93f2..00000000000
---- a/src/sage/libs/lrcalc/lrcalc.pxd
-+++ /dev/null
-@@ -1,77 +0,0 @@
--# distutils: libraries = lrcalc
--
--cdef extern from "lrcalc/hashtab.h":
--    ctypedef struct hashtab:
--        pass
--
--    ctypedef struct hash_itr:
--        pass
--
--    ctypedef unsigned long hashkey_t
--    ctypedef int (*cmp_t) (void* a, void* b)
--    ctypedef hashkey_t (*hash_t) (void* a)
--
--    hashtab* hash_new(cmp_t cm, hash_t hsh)
--    void hash_free(hashtab *ht)
--
--    void* hash_lookup(hashtab *ht, void *key)
--    void* hash_insert(hashtab *ht, void *key, void *value)
--
--    bint hash_good(hash_itr)
--    void hash_first(hashtab* s, hash_itr itr)
--    void hash_next(hash_itr itr)
--    void* hash_key(hash_itr itr)
--    void* hash_value(hash_itr itr)
--    int hash_intvalue(hash_itr itr)
--
--cdef extern from "lrcalc/vector.h":
--    ctypedef struct vector:
--        size_t length
--        int* array
--
--    vector* v_new(int length)
--    void v_free(vector* v)
--    void v_print(vector *v)
--    int v_length(vector* v)
--    int v_elem(vector* v, int i)
--
--    ctypedef struct vecpair:
--        vector *first
--        vector *second
--
--    vector* vp_first(vecpair* vp)
--    vector* vp_second(vecpair* vp)
--
--cdef extern from "lrcalc/list.h":
--    cdef struct _list:
--        void **array
--        size_t allocated
--        size_t length
--    void l_free(_list *lst)
--
--cdef extern from "lrcalc/symfcn.h":
--    long long lrcoef_c "lrcoef"(vector* outer, vector* inner1, vector* inner2)
--    hashtab* mult_c "mult"(vector *sh1, vector *sh2, int maxrows)
--    hashtab* skew_c "skew"(vector *outer, vector *inner, int maxrows)
--    hashtab* coprod_c "coprod"(vector *part, int all)
--    void fusion_reduce_c "fusion_reduce"(hashtab* ht, int rows, int cols, int opt_zero)
--    _list *quantum_reduce_c "quantum_reduce"(hashtab* ht, int rows, int col)
--
--    ctypedef struct skewtab:
--        vector *outer
--        vector *inner
--        vector *conts
--        int maxrows
--        vector *conjugate
--        int rows
--        int cols
--        int matrix[1]
--
--    skewtab *st_new(vector *outer, vector *inner, vector *conts, int maxrows)
--    int st_next(skewtab *st)
--    void st_print(skewtab *st)
--    void st_free(skewtab *st)
--
--
--cdef extern from "lrcalc/schublib.h":
--    hashtab* mult_schubert_c "mult_schubert"(vector *sh1, vector *sh2, int rank)
-diff --git a/src/sage/libs/lrcalc/lrcalc.pyx b/src/sage/libs/lrcalc/lrcalc.py
-similarity index 60%
-rename from src/sage/libs/lrcalc/lrcalc.pyx
-rename to src/sage/libs/lrcalc/lrcalc.py
-index b591081ec4c..b541bfacd89 100644
---- a/src/sage/libs/lrcalc/lrcalc.pyx
-+++ b/src/sage/libs/lrcalc/lrcalc.py
-@@ -10,7 +10,8 @@ fusion products. All of the above are achieved by counting LR
- appropriate shape and content by iterating through them.
- Additionally, ``lrcalc`` handles products of Schubert polynomials.
- 
--The web page of ``lrcalc`` is `<http://sites.math.rutgers.edu/~asbuch/lrcalc/>`_.
-+The web page of ``lrcalc`` is
-+`<http://sites.math.rutgers.edu/~asbuch/lrcalc/>`_.
- 
- The following describes the Sage interface to this library.
- 
-@@ -36,12 +37,13 @@ Schur expansion::
-      [4, 2]: 1}
- 
- Same product, but include only partitions with at most 3 rows.  This
--corresponds to computing in the representation ring of gl(3)::
-+corresponds to computing in the representation ring of `\mathfrak{gl}(3)`::
- 
-     sage: lrcalc.mult([2,1], [2,1], 3)
-     {[2, 2, 2]: 1, [3, 2, 1]: 2, [3, 3]: 1, [4, 1, 1]: 1, [4, 2]: 1}
- 
--We can also compute the fusion product, here for sl(3) and level 2::
-+We can also compute the fusion product, here for `\mathfrak{sl}(3)`
-+and level 2::
- 
-     sage: lrcalc.mult([3,2,1], [3,2,1], 3,2)
-     {[4, 4, 4]: 1, [5, 4, 3]: 1}
-@@ -77,42 +79,38 @@ Multiply two Schubert polynomials::
-      [6, 2, 1, 4, 3, 5]: 1}
- 
- Same product, but include only permutations of 5 elements in the result.
--This corresponds to computing in the cohomology ring of Fl(5)::
-+This corresponds to computing in the cohomology ring of `Fl(5)`::
- 
-     sage: lrcalc.mult_schubert([4,2,1,3], [1,4,2,5,3], 5)
-     {[4, 5, 1, 3, 2]: 1, [5, 3, 1, 4, 2]: 1, [5, 4, 1, 2, 3]: 1}
- 
- List all Littlewood-Richardson tableaux of skew shape `\mu/\nu`; in
- this example `\mu=[3,2,1]` and `\nu=[2,1]`. Specifying a third entry
--`maxrows` restricts the alphabet to `\{1,2,\ldots,maxrows\}`::
-+`M' = ``maxrows`` restricts the alphabet to `\{1,2,\ldots,M\}`::
- 
-     sage: list(lrcalc.lrskew([3,2,1],[2,1]))
-     [[[None, None, 1], [None, 1], [1]], [[None, None, 1], [None, 1], [2]],
-     [[None, None, 1], [None, 2], [1]], [[None, None, 1], [None, 2], [3]]]
- 
-     sage: list(lrcalc.lrskew([3,2,1],[2,1],maxrows=2))
--    [[[None, None, 1], [None, 1], [1]], [[None, None, 1], [None, 1], [2]], [[None, None, 1], [None, 2], [1]]]
-+    [[[None, None, 1], [None, 1], [1]], [[None, None, 1], [None, 1], [2]],
-+     [[None, None, 1], [None, 2], [1]]]
- 
- .. TODO::
- 
--    use this library in the :class:`SymmetricFunctions` code, to
-+    Use this library in the :class:`SymmetricFunctions` code, to
-     make it easy to apply it to linear combinations of Schur functions.
- 
- .. SEEALSO::
- 
-     - :func:`lrcoef`
--
-     - :func:`mult`
--
-     - :func:`coprod`
--
-     - :func:`skew`
--
-     - :func:`lrskew`
--
-     - :func:`mult_schubert`
- 
--.. rubric:: Underlying algorithmic in lrcalc
-+.. RUBRIC:: Underlying algorithmic in lrcalc
- 
- Here is some additional information regarding the main low-level
- C-functions in `lrcalc`. Given two partitions ``outer`` and ``inner``
-@@ -187,180 +185,24 @@ AUTHORS:
- #                  https://www.gnu.org/licenses/
- # ****************************************************************************
- 
--from sage.rings.integer cimport Integer
--from sage.structure.parent cimport Parent
- from sage.combinat.partition import _Partitions
- from sage.combinat.permutation import Permutation
--from sage.combinat.skew_tableau import SkewTableau
--
--
--cdef vector* iterable_to_vector(it):
--    """
--    Return an lrcalc vector (which is a list of integers) from a Python iterable.
--
--    TESTS::
--
--        sage: from sage.libs.lrcalc.lrcalc import test_iterable_to_vector
--        sage: x = test_iterable_to_vector(Partition([3,2,1])); x   #indirect doctest
--        [3, 2, 1]
--    """
--    cdef vector* v
--    cdef list itr = list(it)
--    cdef int n = len(itr)
--    cdef int i
--    v = v_new(n)
--    for i in range(n):
--        v.array[i] = int(itr[i])
--    return v
--
--
--cdef list vector_to_list(vector *v):
--    """
--    Converts a lrcalc vector to Python list.
--
--    TESTS::
--
--        sage: from sage.libs.lrcalc.lrcalc import test_iterable_to_vector
--        sage: x = test_iterable_to_vector([]); x         #indirect doctest
--        []
--    """
--    cdef int i, n
--    n = v_length(v)
--    cdef list result = [None]*n
--    for i in range(n):
--        result[i] = Integer(v_elem(v, i))
--    return result
--
--
--def test_iterable_to_vector(it):
--    """
--    A wrapper function for the cdef function ``iterable_to_vector``
--    and ``vector_to_list``, to test that they are working correctly.
-+from sage.combinat.skew_tableau import SemistandardSkewTableaux
-+from sage.combinat.skew_partition import SkewPartition
-+from sage.rings.integer import Integer
-+import lrcalc
- 
--    EXAMPLES::
--
--        sage: from sage.libs.lrcalc.lrcalc import test_iterable_to_vector
--        sage: x = test_iterable_to_vector([3,2,1]); x
--        [3, 2, 1]
--    """
--    cdef vector *v = iterable_to_vector(it)
--    result = vector_to_list(v)
--    v_free(v)
--    return result
--
--
--cdef skewtab_to_SkewTableau(skewtab *st):
--    """
--    A wrapper function which transforms the data set ``st`` used in
--    ``lrcalc`` to a ``SkewTableau`` in Sage.
-+def _lrcalc_dict_to_sage(result):
-+    r"""
-+    Translate from lrcalc output format to Sage expected format.
- 
-     TESTS::
- 
--        sage: from sage.libs.lrcalc.lrcalc import test_skewtab_to_SkewTableau
--        sage: test_skewtab_to_SkewTableau([],[])
--        []
--    """
--    inner = vector_to_list(st.inner)
--    outer = vector_to_list(st.outer)
--    return SkewTableau(expr=[[inner[y] for y in range(len(outer))],
--                             [[st.matrix[x + y * st.cols] + 1
--                                for x in range(inner[y], outer[y])]
--                              for y in range(len(outer) - 1, -1, -1)]])
--
--
--def test_skewtab_to_SkewTableau(outer, inner):
--    """
--    A wrapper function for the cdef function ``skewtab_to_SkewTableau``
--    for testing purposes.
--
--    It constructs the first LR skew tableau of shape ``outer/inner``
--    as an ``lrcalc`` ``skewtab``, and converts it to a
--    :class:`SkewTableau`.
--
--    EXAMPLES::
--
--        sage: from sage.libs.lrcalc.lrcalc import test_skewtab_to_SkewTableau
--        sage: test_skewtab_to_SkewTableau([3,2,1],[])
--        [[1, 1, 1], [2, 2], [3]]
--        sage: test_skewtab_to_SkewTableau([4,3,2,1],[1,1]).pp()
--        .  1  1  1
--        .  2  2
--        1  3
--        2
--    """
--    cdef vector* o = iterable_to_vector(outer)
--    cdef vector* i = iterable_to_vector(inner+[0]*(len(outer)-len(inner)))
--    cdef skewtab* st = st_new(o, i, NULL, 0)
--    return skewtab_to_SkewTableau(st)
--
--
--cdef dict sf_hashtab_to_dict(hashtab *ht):
--    """
--    Return a dictionary representing a Schur function. The keys are
--    partitions and the values are integers <class 'sage.rings.integer.Integer'>.
--
--    EXAMPLES::
--
-         sage: from sage.libs.lrcalc.lrcalc import mult
--        sage: sorted(mult([1],[1]).items())        #indirect doctest
--        [([1, 1], 1), ([2], 1)]
--        sage: assert isinstance(mult([1],[1]),dict)#indirect doctest
--    """
--    cdef hash_itr itr
--    cdef dict result = {}
--    cdef list p
--    hash_first(ht, itr)
--    while hash_good(itr):
--        p = vector_to_list(<vector*> hash_key(itr))
--        result[_Partitions(p)] = Integer(hash_intvalue(itr))
--        hash_next(itr)
--    return result
--
--
--cdef dict schubert_hashtab_to_dict(hashtab *ht):
--    """
--    Return a dictionary corresponding to a Schubert polynomial whose keys
--    are permutations and whose values are integers <class 'sage.rings.integer.Integer'>.
--
--    EXAMPLES::
--
--        sage: from sage.libs.lrcalc.lrcalc import mult_schubert
--        sage: mult_schubert([3,2,1], [1,2,3])      #indirect doctest
--        {[3, 2, 1]: 1}
--    """
--    cdef hash_itr itr
--    cdef dict result = {}
--    hash_first(ht, itr)
--    while hash_good(itr):
--        p = vector_to_list(<vector*> hash_key(itr))
--        result[Permutation(p)] = Integer(hash_intvalue(itr))
--        hash_next(itr)
--    return result
--
--
--cdef dict vp_hashtab_to_dict(hashtab *ht):
--    """
--    Return a dictionary corresponding to the coproduct of a Schur function whose keys are
--    pairs of partitions and whose values are integers <class 'sage.rings.integer.Integer'>.
--
--    EXAMPLES::
--
--        sage: from sage.libs.lrcalc.lrcalc import coprod
--        sage: coprod([1])      #indirect doctest
--        {([1], []): 1}
-+        sage: mult([2,1],[3,2,1],3) # indirect doctest
-+        {[3, 3, 3]: 1, [4, 3, 2]: 2, [4, 4, 1]: 1, [5, 2, 2]: 1, [5, 3, 1]: 1}
-     """
--    cdef hash_itr itr
--    cdef vecpair* vp
--    cdef dict result = {}
--    hash_first(ht, itr)
--    while hash_good(itr):
--        vp = <vecpair*> hash_key(itr)
--        p1 = _Partitions(vector_to_list(vp_first(vp)))
--        p2 = _Partitions(vector_to_list(vp_second(vp)))
--        result[(p1, p2)] = Integer(hash_intvalue(itr))
--        hash_next(itr)
--    return result
--
-+    return {_Partitions(la): Integer(k) for la, k in result.items()}
- 
- def lrcoef_unsafe(outer, inner1, inner2):
-     r"""
-@@ -371,13 +213,11 @@ def lrcoef_unsafe(outer, inner1, inner2):
- 
-     INPUT:
- 
--    - ``outer`` -- a partition (weakly decreasing list of non-negative integers).
--
--    - ``inner1`` -- a partition.
-+    - ``outer`` -- a partition (weakly decreasing list of non-negative integers)
-+    - ``inner1`` -- a partition
-+    - ``inner2`` -- a partition
- 
--    - ``inner2`` -- a partition.
--
--    .. warning::
-+    .. WARNING::
- 
-        This function does not do any check on its input.  If you want
-        to use a safer version, use :func:`lrcoef`.
-@@ -392,18 +232,7 @@ def lrcoef_unsafe(outer, inner1, inner2):
-         sage: lrcoef_unsafe([2,1,1,1,1], [2,1], [2,1])
-         0
-     """
--    cdef long long result
--    cdef vector *o
--    cdef vector *i1
--    cdef vector *i2
--    o = iterable_to_vector(outer)
--    i1 = iterable_to_vector(inner1)
--    i2 = iterable_to_vector(inner2)
--    result = lrcoef_c(o, i1, i2)
--    v_free(o)
--    v_free(i1)
--    v_free(i2)
--    return Integer(result)
-+    return Integer(lrcalc.lrcoef(outer, inner1, inner2))
- 
- 
- def lrcoef(outer, inner1, inner2):
-@@ -415,11 +244,9 @@ def lrcoef(outer, inner1, inner2):
- 
-     INPUT:
- 
--    - ``outer`` -- a partition (weakly decreasing list of non-negative integers).
--
--    - ``inner1`` -- a partition.
--
--    - ``inner2`` -- a partition.
-+    - ``outer`` -- a partition (weakly decreasing list of non-negative integers)
-+    - ``inner1`` -- a partition
-+    - ``inner2`` -- a partition
- 
-     .. NOTE::
- 
-@@ -436,7 +263,6 @@ def lrcoef(outer, inner1, inner2):
-         1
-         sage: lrcoef([2,1,1,1,1], [2,1], [2,1])
-         0
--
-     """
-     return lrcoef_unsafe(_Partitions(outer), _Partitions(inner1), _Partitions(inner2))
- 
-@@ -451,13 +277,9 @@ def mult(part1, part2, maxrows=None, level=None, quantum=None):
-     INPUT:
- 
-     - ``part1`` -- a partition
--
-     - ``part2`` -- a partition
--
-     - ``maxrows`` -- (optional) an integer
--
-     - ``level`` -- (optional) an integer
--
-     - ``quantum`` -- (optional) an element of a ring
- 
-     If ``maxrows`` is specified, then only partitions with at most
-@@ -479,7 +301,8 @@ def mult(part1, part2, maxrows=None, level=None, quantum=None):
-         sage: sorted(mult([2],[2]).items())
-         [([2, 2], 1), ([3, 1], 1), ([4], 1)]
-         sage: sorted(mult([2,1],[2,1]).items())
--        [([2, 2, 1, 1], 1), ([2, 2, 2], 1), ([3, 1, 1, 1], 1), ([3, 2, 1], 2), ([3, 3], 1), ([4, 1, 1], 1), ([4, 2], 1)]
-+        [([2, 2, 1, 1], 1), ([2, 2, 2], 1), ([3, 1, 1, 1], 1),
-+         ([3, 2, 1], 2), ([3, 3], 1), ([4, 1, 1], 1), ([4, 2], 1)]
-         sage: sorted(mult([2,1],[2,1],maxrows=2).items())
-         [([3, 3], 1), ([4, 2], 1)]
-         sage: mult([2,1],[3,2,1],3)
-@@ -510,44 +333,24 @@ def mult(part1, part2, maxrows=None, level=None, quantum=None):
-     if quantum is not None and (level is None or maxrows is None):
-         raise ValueError('missing parameters maxrows or level')
- 
--    cdef vector* v1 = iterable_to_vector(part1)
--    cdef vector* v2 = iterable_to_vector(part2)
--    if maxrows is None:
--        maxrows = 0
--    cdef hashtab* ht = mult_c(v1, v2, int(maxrows))
--    cdef hashtab* tab
--    cdef dict result
--
-     if quantum is None:
-         if level is not None:
--            fusion_reduce_c(ht, int(maxrows), int(level), int(0))
--        result = sf_hashtab_to_dict(ht)
--        v_free(v1)
--        v_free(v2)
--        hash_free(ht)
--        return result
-+            return _lrcalc_dict_to_sage(lrcalc.mult_fusion(part1, part2, maxrows, level))
-+        if maxrows is None:
-+            maxrows = -1
-+        return _lrcalc_dict_to_sage(lrcalc.mult(part1, part2, maxrows))
- 
-     # Otherwise do quantum multiplication
--    cdef _list *qlist
--    cdef dict temp
--    qlist = quantum_reduce_c(ht, int(maxrows), int(level))
--    # The above call frees the memory associated with ht
--    v_free(v1)
--    v_free(v2)
--
--    cdef Parent P = quantum.parent()
--    result = {}
--    for i in range(qlist.length):
--        tab = <hashtab*>(qlist.array[i])
--        temp = sf_hashtab_to_dict(tab)
--        for k in temp:
--            result[k] = result.get(k, P.zero()) + quantum**i * temp[k]
--        hash_free(tab)
--    l_free(qlist)
--    return result
--
--
--def skew(outer, inner, maxrows=0):
-+    result = lrcalc.mult_quantum(part1, part2, maxrows, level, degrees=True)
-+    P = quantum.parent()
-+    output = {}
-+    for i,k in result.items():
-+        la = _Partitions(i[0])
-+        output[la] = output.get(la, P.zero()) + k * quantum**(i[1])
-+    return output
-+
-+
-+def skew(outer, inner, maxrows=-1):
-     """
-     Compute the Schur expansion of a skew Schur function.
- 
-@@ -557,11 +360,9 @@ def skew(outer, inner, maxrows=0):
- 
-     INPUT:
- 
--    - ``outer`` -- a partition.
--
--    - ``inner`` -- a partition.
--
--    - ``maxrows`` -- an integer or ``None``.
-+    - ``outer`` -- a partition
-+    - ``inner`` -- a partition
-+    - ``maxrows`` -- an integer or ``None``
- 
-     If ``maxrows`` is specified, then only partitions with at most
-     this number of rows are included in the result.
-@@ -572,14 +373,7 @@ def skew(outer, inner, maxrows=0):
-         sage: sorted(skew([2,1],[1]).items())
-         [([1, 1], 1), ([2], 1)]
-     """
--    cdef vector* v1 = iterable_to_vector(outer)
--    cdef vector* v2 = iterable_to_vector(inner)
--    cdef hashtab* ht = skew_c(v1, v2, int(maxrows))
--    result = sf_hashtab_to_dict(ht)
--    v_free(v1)
--    v_free(v2)
--    hash_free(ht)
--    return result
-+    return _lrcalc_dict_to_sage(lrcalc.skew(outer, inner, maxrows))
- 
- 
- def coprod(part, all=0):
-@@ -592,9 +386,8 @@ def coprod(part, all=0):
- 
-     INPUT:
- 
--    - ``part`` -- a partition.
--
--    - ``all`` -- an integer.
-+    - ``part`` -- a partition
-+    - ``all`` -- an integer
- 
-     If ``all`` is non-zero then all terms are included in the result.
-     If ``all`` is zero, then only pairs of partitions ``(part1,
-@@ -609,12 +402,9 @@ def coprod(part, all=0):
-         sage: sorted(coprod([2,1]).items())
-         [(([1, 1], [1]), 1), (([2], [1]), 1), (([2, 1], []), 1)]
-     """
--    cdef vector* v1 = iterable_to_vector(part)
--    cdef hashtab* ht = coprod_c(v1, int(all))
--    result = vp_hashtab_to_dict(ht)
--    v_free(v1)
--    hash_free(ht)
--    return result
-+    result = lrcalc.coprod(part, all)
-+    return {tuple([_Partitions(mu) for mu in la]): Integer(k)
-+            for la, k in result.items()}
- 
- 
- def mult_schubert(w1, w2, rank=0):
-@@ -627,11 +417,9 @@ def mult_schubert(w1, w2, rank=0):
- 
-     INPUT:
- 
--    - ``w1`` -- a permutation.
--
--    - ``w2`` -- a permutation.
--
--    - ``rank`` -- an integer.
-+    - ``w1`` -- a permutation
-+    - ``w2`` -- a permutation
-+    - ``rank`` -- an integer
- 
-     If ``rank`` is non-zero, then only permutations from the symmetric
-     group `S(\mathrm{rank})` are included in the result.
-@@ -646,33 +434,24 @@ def mult_schubert(w1, w2, rank=0):
-          ([6, 4, 3, 1, 2, 5], 1), ([6, 5, 2, 1, 3, 4], 1),
-          ([7, 3, 4, 1, 2, 5, 6], 1), ([7, 4, 2, 1, 3, 5, 6], 1)]
-     """
--    cdef vector* v1 = iterable_to_vector(w1)
--    cdef vector* v2 = iterable_to_vector(w2)
--    cdef hashtab* ht = mult_schubert_c(v1, v2, int(rank))
--    result = schubert_hashtab_to_dict(ht)
--    v_free(v1)
--    v_free(v2)
--    hash_free(ht)
--    return result
-+    result = lrcalc.schubmult(w1, w2, rank)
-+    return {Permutation(list(la)):Integer(k) for la,k in result.items()}
- 
- 
--def lrskew(outer, inner, weight=None, maxrows=0):
-+def lrskew(outer, inner, weight=None, maxrows=-1):
-     r"""
-     Iterate over the skew LR tableaux of shape ``outer / inner``.
- 
-     INPUT:
- 
-     - ``outer`` -- a partition
--
-     - ``inner`` -- a partition
--
-     - ``weight`` -- a partition (optional)
--
--    - ``maxrows`` -- an integer (optional)
-+    - ``maxrows`` -- a positive integer (optional)
- 
-     OUTPUT: an iterator of :class:`SkewTableau`
- 
--    Specifying ``maxrows`` restricts the alphabet to `\{1,2,\ldots,maxrows\}`.
-+    Specifying ``maxrows`` = `M` restricts the alphabet to `\{1,2,\ldots,M\}`.
- 
-     Specifying ``weight`` returns only those tableaux of given content/weight.
- 
-@@ -702,22 +481,40 @@ def lrskew(outer, inner, weight=None, maxrows=0):
- 
-         sage: list(lrskew([3,2,1],[2], weight=[3,1]))
-         [[[None, None, 1], [1, 1], [2]]]
-+
-+    TESTS::
-+
-+        sage: from sage.libs.lrcalc.lrcalc import lrskew
-+        sage: list(lrskew([3,2,1],[2], weight=[]))
-+        []
-+        sage: list(lrskew([3,2,1],[2], weight=[0]))
-+        []
-+        sage: list(lrskew([3,2,1],[3,2,1], weight=[]))
-+        [[[None, None, None], [None, None], [None]]]
-+        sage: list(lrskew([3,2,1],[3,2,1], weight=[0]))
-+        [[[None, None, None], [None, None], [None]]]
-+        sage: list(lrskew([3,2,1],[3,2,1], weight=[1]))
-+        []
-     """
--    cdef vector* o = iterable_to_vector(outer)
--    cdef vector* i = iterable_to_vector(inner + [0]*(len(outer) - len(inner)))
--    cdef skewtab* st = st_new(o, i, NULL, int(maxrows))
-+    iterator = lrcalc.lr_iterator(outer, inner, maxrows)
-+    shape = SkewPartition([outer, inner])
- 
-     if weight is None:
--        yield skewtab_to_SkewTableau(st)
--        while st_next(st):
--            yield skewtab_to_SkewTableau(st)
-+        ST = SemistandardSkewTableaux(shape)
-+        for data in iterator:
-+            yield ST.from_shape_and_word(shape, [i+1 for i in data])
-     else:
-         wt = _Partitions(weight)
--        r = skewtab_to_SkewTableau(st)
--        if r.weight() == wt:
--            yield r
--        while st_next(st):
--            r = skewtab_to_SkewTableau(st)
--            if r.weight() == wt:
--                yield r
--    st_free(st)
-+        ST = SemistandardSkewTableaux(shape, wt)
-+        m = len(wt)
-+        for data in iterator:
-+            w = [0] * m
-+            for j in data:
-+                if j >= m:
-+                    # We know they are not equal, so make the check below quick
-+                    w = None
-+                    break
-+                w[j] += 1
-+            if w == wt:
-+                yield ST.from_shape_and_word(shape, [i+1 for i in data])
-+
diff --git a/srcpkgs/sagemath/patches/trac-33170-fix_doctest_ipython_8.patch b/srcpkgs/sagemath/patches/trac-33170-fix_doctest_ipython_8.patch
deleted file mode 100644
index 1e2e0ba90742..000000000000
--- a/srcpkgs/sagemath/patches/trac-33170-fix_doctest_ipython_8.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-As produced by `git diff a90a3146{^^,}`
-
-diff --git a/src/sage/repl/interface_magic.py b/src/sage/repl/interface_magic.py
-index 8a455b69b0e..a93e1c9e04c 100644
---- a/src/sage/repl/interface_magic.py
-+++ b/src/sage/repl/interface_magic.py
-@@ -260,7 +260,7 @@ class InterfaceMagic(object):
-             2
-             120
-             sage: shell.run_cell('%%gap foo\n1+1;\n')
--            ...File "<string>", line unknown
-+            ...File...<string>...
-             SyntaxError: Interface magics have no options, got "foo"
-             <BLANKLINE>
-             sage: shell.run_cell('%%gap?')
-diff --git a/src/sage/repl/interpreter.py b/src/sage/repl/interpreter.py
-index 7468afe52d7..06c47b7374a 100644
---- a/src/sage/repl/interpreter.py
-+++ b/src/sage/repl/interpreter.py
-@@ -78,9 +78,9 @@ Check that Cython source code appears in tracebacks::
-     dummy line
-     ...
-     ZeroDivisionError...Traceback (most recent call last)
--    <ipython-input-...> in <module>...
-+    ...in <module>...
-     ----> 1 Integer(1)/Integer(0)
--    .../sage/rings/integer.pyx in sage.rings.integer.Integer...div...
-+    .../sage/rings/integer.pyx... in sage.rings.integer.Integer...div...
-     ...
-     -> ...                  raise ZeroDivisionError("rational division by zero")
-        ....:            x = <Rational> Rational.__new__(Rational)
-@@ -423,7 +423,7 @@ def SagePreparseTransformer(lines):
-         sage: from sage.repl.interpreter import get_test_shell
-         sage: shell = get_test_shell()
-         sage: shell.run_cell(bad_syntax)
--          File "<string>", line unknown
-+          File...<string>...
-         SyntaxError: Mismatched ']'
-         <BLANKLINE>
-         sage: shell.quit()
diff --git a/srcpkgs/sagemath/patches/trac-33170b-fix_doctest_ipython_8.1.patch b/srcpkgs/sagemath/patches/trac-33170b-fix_doctest_ipython_8.1.patch
deleted file mode 100644
index 853813b0f5bd..000000000000
--- a/srcpkgs/sagemath/patches/trac-33170b-fix_doctest_ipython_8.1.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Fix for ipython 8.1
-
---- a/src/sage/repl/interpreter.py
-+++ b/src/sage/repl/interpreter.py
-@@ -78,7 +78,7 @@ Check that Cython source code appears in tracebacks::
-     dummy line
-     ...
-     ZeroDivisionError...Traceback (most recent call last)
--    ...in <module>...
-+    ...
-     ----> 1 Integer(1)/Integer(0)
-     .../sage/rings/integer.pyx... in sage.rings.integer.Integer...div...
-     ...
diff --git a/srcpkgs/sagemath/patches/trac-33189-fix_doctests_for_arb_2.22-53532ddd4e2dc92469c1590ebf0c40f8f69bf579.patch b/srcpkgs/sagemath/patches/trac-33189-fix_doctests_for_arb_2.22-53532ddd4e2dc92469c1590ebf0c40f8f69bf579.patch
deleted file mode 100644
index b861af7ec982..000000000000
--- a/srcpkgs/sagemath/patches/trac-33189-fix_doctests_for_arb_2.22-53532ddd4e2dc92469c1590ebf0c40f8f69bf579.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From 24cc94b1988a90f3bd22a2368ec30c086283af13 Mon Sep 17 00:00:00 2001
-From: Antonio Rojas <arojas@archlinux.org>
-Date: Sun, 16 Jan 2022 11:55:04 +0100
-Subject: Add abs tol to some arb tests
-
----
- src/sage/functions/error.py    |  2 +-
- src/sage/rings/complex_arb.pyx |  6 +++---
- src/sage/rings/real_arb.pyx    | 10 +++++-----
- 3 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/src/sage/functions/error.py b/src/sage/functions/error.py
-index f48d04f..06f0b24 100644
---- a/src/sage/functions/error.py
-+++ b/src/sage/functions/error.py
-@@ -267,7 +267,7 @@ class Function_erf(BuiltinFunction):
- 
-         Check that real ball evaluation is fixed :trac:`28061`::
- 
--            sage: RealBallField(128)(erf(5))
-+            sage: RealBallField(128)(erf(5)) # abs tol 1e-38
-             [0.99999999999846254020557196514981165651 +/- 7.33e-39]
-         """
-         R = parent or s_parent(x)
-diff --git a/src/sage/rings/complex_arb.pyx b/src/sage/rings/complex_arb.pyx
-index f986970..93ff565 100644
---- a/src/sage/rings/complex_arb.pyx
-+++ b/src/sage/rings/complex_arb.pyx
-@@ -3974,8 +3974,8 @@ cdef class ComplexBall(RingElement):
- 
-         EXAMPLES::
- 
--            sage: CBF(20).erfc()
--            [5.39586561160790e-176 +/- ...e-191]
-+            sage: CBF(20).erfc() # abs tol 1e-190
-+            [5.39586561160790e-176 +/- 6.73e-191]
-             sage: CBF(100, 100).erfc()
-             [0.00065234366376858 +/- ...e-18] + [-0.00393572636292141 +/- ...e-18]*I
-         """
-@@ -4280,7 +4280,7 @@ cdef class ComplexBall(RingElement):
- 
-         TESTS:
- 
--            sage: CBF(Shi(I))
-+            sage: CBF(Shi(I)) # abs tol 1e-15
-             [0.946083070367183 +/- 9.22e-16]*I
-         """
-         cdef ComplexBall result = self._new()
-diff --git a/src/sage/rings/real_arb.pyx b/src/sage/rings/real_arb.pyx
-index 4a81784..292bfea 100644
---- a/src/sage/rings/real_arb.pyx
-+++ b/src/sage/rings/real_arb.pyx
-@@ -3506,7 +3506,7 @@ cdef class RealBall(RingElement):
- 
-         EXAMPLES::
- 
--            sage: RBF(1/2).erf()
-+            sage: RBF(1/2).erf() # abs tol 1e-16
-             [0.520499877813047 +/- 6.10e-16]
-         """
-         cdef RealBall res = self._new()
-@@ -3556,12 +3556,12 @@ cdef class RealBall(RingElement):
- 
-         EXAMPLES::
- 
--            sage: RBF(1).Si()
-+            sage: RBF(1).Si() # abs tol 1e-15
-             [0.946083070367183 +/- 9.22e-16]
- 
-         TESTS::
- 
--            sage: RBF(Si(1))
-+            sage: RBF(Si(1)) # abs tol 1e-15
-             [0.946083070367183 +/- 9.22e-16]
-         """
-         cdef RealBall res = self._new()
-@@ -3578,12 +3578,12 @@ cdef class RealBall(RingElement):
- 
-         EXAMPLES::
- 
--            sage: RBF(1).Ci()  # abs tol 1e-16
-+            sage: RBF(1).Ci()  # abs tol 1e-15
-             [0.337403922900968 +/- 3.25e-16]
- 
-         TESTS::
- 
--            sage: RBF(Ci(1))  # abs tol 1e-16
-+            sage: RBF(Ci(1))  # abs tol 1e-15
-             [0.337403922900968 +/- 3.25e-16]
-         """
-         cdef RealBall res = self._new()
--- 
-cgit v1.0-1-gd88e
-
-
-From 53532ddd4e2dc92469c1590ebf0c40f8f69bf579 Mon Sep 17 00:00:00 2001
-From: Antonio Rojas <arojas@archlinux.org>
-Date: Sun, 16 Jan 2022 14:16:53 +0100
-Subject: Decrease abs tol
-
----
- src/sage/rings/real_arb.pyx | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/sage/rings/real_arb.pyx b/src/sage/rings/real_arb.pyx
-index 292bfea..eb30f7f 100644
---- a/src/sage/rings/real_arb.pyx
-+++ b/src/sage/rings/real_arb.pyx
-@@ -3578,12 +3578,12 @@ cdef class RealBall(RingElement):
- 
-         EXAMPLES::
- 
--            sage: RBF(1).Ci()  # abs tol 1e-15
-+            sage: RBF(1).Ci()  # abs tol 5e-16
-             [0.337403922900968 +/- 3.25e-16]
- 
-         TESTS::
- 
--            sage: RBF(Ci(1))  # abs tol 1e-15
-+            sage: RBF(Ci(1))  # abs tol 5e-16
-             [0.337403922900968 +/- 3.25e-16]
-         """
-         cdef RealBall res = self._new()
--- 
-cgit v1.0-1-gd88e
-
diff --git a/srcpkgs/sagemath/patches/trac-33226-fix_doctests_giac-1.7.0-33ea2adf01e9e2ce9f1e33779f0b1ac0d9d1989c.patch b/srcpkgs/sagemath/patches/trac-33226-fix_doctests_giac-1.7.0-33ea2adf01e9e2ce9f1e33779f0b1ac0d9d1989c.patch
deleted file mode 100644
index d4e8f8be60e3..000000000000
--- a/srcpkgs/sagemath/patches/trac-33226-fix_doctests_giac-1.7.0-33ea2adf01e9e2ce9f1e33779f0b1ac0d9d1989c.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 33ea2adf01e9e2ce9f1e33779f0b1ac0d9d1989c Mon Sep 17 00:00:00 2001
-From: Michael Orlitzky <michael@orlitzky.com>
-Date: Mon, 24 Jan 2022 09:03:29 -0500
-Subject: Trac #33226: update doctests for giac-1.7.0.45.
-
-We have two failing doctests with giac-1.7.0.45: one is a trivial
-tolerance issue, but the other is a symbolic integration result for
-which giac is no longer willing to return a symbolic answer. We add
-"abs tol" to the numeric test, and drop the symbolic one entirely.
----
- src/sage/functions/min_max.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/sage/functions/min_max.py b/src/sage/functions/min_max.py
-index fc18373..9b7d6d9 100644
---- a/src/sage/functions/min_max.py
-+++ b/src/sage/functions/min_max.py
-@@ -228,15 +228,15 @@ class MaxSymbolic(MinMax_base):
-             ...
-             TypeError: cannot evaluate symbolic expression numerically
- 
--        ::
-+        We can usually integrate these expressions, but can't
-+        guarantee a symbolic answer in closed form::
- 
-             sage: f = max_symbolic(sin(x), cos(x))
-             sage: r = integral(f, x, 0, 1)
-             ...
--            sage: r
--            sqrt(2) - cos(1)
--            sage: r.n()
-+            sage: r.n()  # abs tol 1e-8
-             0.873911256504955
-+
-         """
-         return max_symbolic(args)
- 
--- 
-cgit v1.0-1-gd88e
-
diff --git a/srcpkgs/sagemath/patches/trac-33336-fix_doctest_scipy_1.8.patch b/srcpkgs/sagemath/patches/trac-33336-fix_doctest_scipy_1.8.patch
deleted file mode 100644
index 19b69700a4f6..000000000000
--- a/srcpkgs/sagemath/patches/trac-33336-fix_doctest_scipy_1.8.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-commit 9c8235e44ffb509efa8a3ca6cdb55154e2b5066d
-Author: Antonio Rojas <arojas@archlinux.org>
-Date:   Sun Feb 13 19:53:14 2022 +0100
-
-    Fix deprecation warning with scipy 1.8
-
-diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/linsolve_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/linsolve_doctest.py
-index e9b60dae5ec..7932167b41d 100644
---- a/src/sage/tests/books/computational-mathematics-with-sagemath/linsolve_doctest.py
-+++ b/src/sage/tests/books/computational-mathematics-with-sagemath/linsolve_doctest.py
-@@ -356,7 +356,7 @@ Sage example in ./linsolve.tex, line 2230::
- 
- Sage example in ./linsolve.tex, line 2609::
- 
--  sage: from scipy.sparse.linalg.dsolve import *
-+  sage: from scipy.sparse.linalg import factorized
-   sage: from scipy.sparse import lil_matrix
-   sage: from numpy import array
-   sage: n = 200
diff --git a/srcpkgs/sagemath/patches/trac-33360-avoid_factoring_in_is_prime-6330cee1a69229b2f5d8ac4a09a73d8152f5e14d.patch b/srcpkgs/sagemath/patches/trac-33360-avoid_factoring_in_is_prime-6330cee1a69229b2f5d8ac4a09a73d8152f5e14d.patch
new file mode 100644
index 000000000000..e052e306e7a1
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-33360-avoid_factoring_in_is_prime-6330cee1a69229b2f5d8ac4a09a73d8152f5e14d.patch
@@ -0,0 +1,53 @@
+From 6330cee1a69229b2f5d8ac4a09a73d8152f5e14d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Mon, 28 Feb 2022 23:15:16 -0300
+Subject: trac 33360: avoid factoring in is_prime()
+
+In the added TEST, the ideal norm is product of two primes but factoring
+this product takes about half an hour, so factoring the ideal is slow.
+
+To fix the issue, we only factor the ideal if the norm is a prime power.
+---
+ src/sage/rings/number_field/number_field_ideal.py | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+diff --git a/src/sage/rings/number_field/number_field_ideal.py b/src/sage/rings/number_field/number_field_ideal.py
+index f785f22..10d1f88 100644
+--- a/src/sage/rings/number_field/number_field_ideal.py
++++ b/src/sage/rings/number_field/number_field_ideal.py
+@@ -995,10 +995,32 @@ class NumberFieldIdeal(Ideal_generic):
+             False
+             sage: K.ideal(17).is_prime()  # ramified
+             False
++
++        TESTS::
++
++        Check that we do not factor the norm of the ideal, this used
++        to take half an hour, see :trac:`33360`
++
++           sage: K.<a,b,c> = NumberField([x^2-2,x^2-3,x^2-5])
++           sage: t = (((-2611940*c + 1925290/7653)*b - 1537130/7653*c
++           ....:       + 10130950)*a + (1343014/7653*c - 8349770)*b
++           ....:       + 6477058*c - 2801449990/4002519)
++           sage: t.is_prime()
++           False
++
+         """
+         try:
+             return self._pari_prime is not None
+         except AttributeError:
++            K = self.number_field().pari_nf()
++            I = self.pari_hnf()
++            # This would be better, but it is broken in pari 2.13.3.
++            #   self._pari_prime = K.idealismaximal(I) or None
++            # Instead we factor I, but only if the norm is a prime power
++            n = K.idealnorm(I)
++            if n.denominator() > 1 or not n.isprimepower():
++                self._pari_prime = None
++                return False
+             F = self.factor()  # factorization with caching
+             if len(F) != 1 or F[0][1] != 1:
+                 self._pari_prime = None
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/patches/trac-33398-fix_doctest_sympy_1.10-609dd9deaeaa6380ab2f0d50276d911233c00a04.patch b/srcpkgs/sagemath/patches/trac-33398-fix_doctest_sympy_1.10-609dd9deaeaa6380ab2f0d50276d911233c00a04.patch
deleted file mode 100644
index 9ba7ca5a6b7d..000000000000
--- a/srcpkgs/sagemath/patches/trac-33398-fix_doctest_sympy_1.10-609dd9deaeaa6380ab2f0d50276d911233c00a04.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 609dd9deaeaa6380ab2f0d50276d911233c00a04 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Fri, 4 Mar 2022 16:07:09 -0800
-Subject: sage.manifolds: Update doctests for SymPy 1.10
-
----
- src/sage/manifolds/continuous_map.py              | 3 +--
- src/sage/manifolds/differentiable/diff_form.py    | 4 ++--
- src/sage/manifolds/differentiable/tensorfield.py  | 8 ++++----
- src/sage/manifolds/vector_bundle_fiber_element.py | 2 +-
- 4 files changed, 8 insertions(+), 9 deletions(-)
-
-diff --git a/src/sage/manifolds/continuous_map.py b/src/sage/manifolds/continuous_map.py
-index a6356e7..f6f9b6d 100644
---- a/src/sage/manifolds/continuous_map.py
-+++ b/src/sage/manifolds/continuous_map.py
-@@ -1357,8 +1357,7 @@ class ContinuousMap(Morphism):
-             sage: Phi.coord_functions(c_uv, c_xyz)
-             Coordinate functions (u*v, u/v, u + v) on the Chart (M, (u, v))
-             sage: Phi.coord_functions(c_UV, c_xyz)
--            Coordinate functions (-U**2/4 + V**2/4, -(U + V)/(U - V), V)
--             on the Chart (M, (U, V))
-+            Coordinate functions (-U**2/4 + V**2/4, (-U - V)/(U - V), V) on the Chart (M, (U, V))
-             sage: Phi.coord_functions(c_UV, c_XYZ)
-             Coordinate functions ((-U**3 + U**2*V + U*V**2 + 2*U*V + 6*U - V**3
-              - 2*V**2 + 6*V)/(2*(U - V)), (U**3/4 - U**2*V/4 - U*V**2/4 + U*V
-diff --git a/src/sage/manifolds/differentiable/diff_form.py b/src/sage/manifolds/differentiable/diff_form.py
-index 70dd8fb..0aa3469 100644
---- a/src/sage/manifolds/differentiable/diff_form.py
-+++ b/src/sage/manifolds/differentiable/diff_form.py
-@@ -266,7 +266,7 @@ class DiffForm(TensorField):
- 
-         sage: s = a.wedge(b)
-         sage: s.display(eU)
--        a∧b = -x*(2*x*y + 1) dx∧dy
-+        a∧b = x*(-2*x*y - 1) dx∧dy
-         sage: s.display(eV)
-         a∧b = (u**3/8 + u**2*v/8 - u*v**2/8 + u/4 - v**3/8 + v/4) du∧dv
- 
-@@ -275,7 +275,7 @@ class DiffForm(TensorField):
-         sage: f = M.scalar_field({c_xy: (x+y)^2, c_uv: u^2}, name='f')
-         sage: s = f*a
-         sage: s.display(eU)
--        f*a = -y*(x**2 + 2*x*y + y**2) dx + x*(x**2 + 2*x*y + y**2) dy
-+        f*a = y*(-x**2 - 2*x*y - y**2) dx + x*(x**2 + 2*x*y + y**2) dy
-         sage: s.display(eV)
-         f*a = u**2*v/2 du - u**3/2 dv
- 
-diff --git a/src/sage/manifolds/differentiable/tensorfield.py b/src/sage/manifolds/differentiable/tensorfield.py
-index 2775be9..6bc5c50 100644
---- a/src/sage/manifolds/differentiable/tensorfield.py
-+++ b/src/sage/manifolds/differentiable/tensorfield.py
-@@ -334,7 +334,7 @@ class TensorField(ModuleElementWithMutability):
-         sage: f.display()  # long time
-         t(a,b): S^2 → ℝ
-         on U: (x, y) ↦ -2*x*y - 3*x - y**2
--        on V: (u, v) ↦ -(3*u**3 + 3*u*v**2 + 2*u*v + v**2)/(u**4 + 2*u**2*v**2 + v**4)
-+        on V: (u, v) ↦ (-3*u**3 - 3*u*v**2 - 2*u*v - v**2)/(u**4 + 2*u**2*v**2 + v**4)
- 
-     The vectors can be defined only on subsets of `S^2`, the domain of the
-     result is then the common subset::
-@@ -343,12 +343,12 @@ class TensorField(ModuleElementWithMutability):
-         sage: s.display()  # long time
-         t(a,b): U → ℝ
-            (x, y) ↦ -2*x*y - 3*x - y**2
--        on W: (u, v) ↦ -(3*u**3 + 3*u*v**2 + 2*u*v + v**2)/(u**4 + 2*u**2*v**2 + v**4)
-+        on W: (u, v) ↦ (-3*u**3 - 3*u*v**2 - 2*u*v - v**2)/(u**4 + 2*u**2*v**2 + v**4)
-         sage: s = t(a.restrict(U), b.restrict(W))  # long time
-         sage: s.display()  # long time
-         t(a,b): W → ℝ
-            (x, y) ↦ -2*x*y - 3*x - y**2
--           (u, v) ↦ -(3*u**3 + 3*u*v**2 + 2*u*v + v**2)/(u**4 + 2*u**2*v**2 + v**4)
-+           (u, v) ↦ (-3*u**3 - 3*u*v**2 - 2*u*v - v**2)/(u**4 + 2*u**2*v**2 + v**4)
- 
-     The tensor itself can be defined only on some open subset of `S^2`,
-     yielding a result whose domain is this subset::
-@@ -356,7 +356,7 @@ class TensorField(ModuleElementWithMutability):
-         sage: s = t.restrict(V)(a,b)  # long time
-         sage: s.display()  # long time
-         t(a,b): V → ℝ
--           (u, v) ↦ -(3*u**3 + 3*u*v**2 + 2*u*v + v**2)/(u**4 + 2*u**2*v**2 + v**4)
-+           (u, v) ↦ (-3*u**3 - 3*u*v**2 - 2*u*v - v**2)/(u**4 + 2*u**2*v**2 + v**4)
-         on W: (x, y) ↦ -2*x*y - 3*x - y**2
- 
-     Tests regarding the multiplication by a scalar field::
-diff --git a/src/sage/manifolds/vector_bundle_fiber_element.py b/src/sage/manifolds/vector_bundle_fiber_element.py
-index 29ee81d..048275a 100644
---- a/src/sage/manifolds/vector_bundle_fiber_element.py
-+++ b/src/sage/manifolds/vector_bundle_fiber_element.py
-@@ -110,4 +110,4 @@ class VectorBundleFiberElement(FiniteRankFreeModuleElement):
-             desc += str(self._name) + " "
-         desc += "in the fiber of {} at {}".format(self._vbundle._name,
-                                                   self._point)
--        return desc
-\ No newline at end of file
-+        return desc
--- 
-cgit v1.0-1-gd88e
-
diff --git a/srcpkgs/sagemath/patches/trac-33398-fix_doctest_sympy_1.10-c49eff347454ac7f07e5918470b20e97b8f2357e.patch b/srcpkgs/sagemath/patches/trac-33398-fix_doctest_sympy_1.10-c49eff347454ac7f07e5918470b20e97b8f2357e.patch
deleted file mode 100644
index f5ac180baa90..000000000000
--- a/srcpkgs/sagemath/patches/trac-33398-fix_doctest_sympy_1.10-c49eff347454ac7f07e5918470b20e97b8f2357e.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From c49eff347454ac7f07e5918470b20e97b8f2357e Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Fri, 4 Mar 2022 15:14:43 -0800
-Subject: src/sage/calculus/calculus.py: Update laplace doctest for sympy 1.10
-
----
- src/sage/calculus/calculus.py | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/sage/calculus/calculus.py b/src/sage/calculus/calculus.py
-index 9c2f226..b335093 100644
---- a/src/sage/calculus/calculus.py
-+++ b/src/sage/calculus/calculus.py
-@@ -1639,9 +1639,9 @@ def laplace(ex, t, s, algorithm='maxima'):
-         sage: laplace(dirac_delta(t), t, s)
-         1
-         sage: F, a, cond = laplace(dirac_delta(t), t, s, algorithm='sympy')
--        sage: a, cond
--        (-oo, True)
--        sage: F       # random - sympy <1.9 includes undefined heaviside(0) in answer
-+        sage: a, cond  # random - sympy <1.10 gives (-oo, True)
-+        (0, True)
-+        sage: F        # random - sympy <1.9 includes undefined heaviside(0) in answer
-         1
-         sage: laplace(dirac_delta(t), t, s, algorithm='giac')
-         1
--- 
-cgit v1.0-1-gd88e
-
diff --git a/srcpkgs/sagemath/patches/trac-33585-fix_doctest_sphinx_installed-a04a0a0b14f67f4804e7113c3db41bbcf8a58296.patch b/srcpkgs/sagemath/patches/trac-33585-fix_doctest_sphinx_installed-a04a0a0b14f67f4804e7113c3db41bbcf8a58296.patch
deleted file mode 100644
index 8e7bb64f5b01..000000000000
--- a/srcpkgs/sagemath/patches/trac-33585-fix_doctest_sphinx_installed-a04a0a0b14f67f4804e7113c3db41bbcf8a58296.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From a04a0a0b14f67f4804e7113c3db41bbcf8a58296 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
-Date: Mon, 28 Mar 2022 20:39:59 -0300
-Subject: Trac #33585: fix doctest when dochtml is missing...
-
-...but sphinx is available in PYTHONPATH.
----
- src/sage/misc/sagedoc.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/sage/misc/sagedoc.py b/src/sage/misc/sagedoc.py
-index 4b3853f..08c4225 100644
---- a/src/sage/misc/sagedoc.py
-+++ b/src/sage/misc/sagedoc.py
-@@ -1401,7 +1401,7 @@ class _sage_doc:
-             "...**File:**...**Type:**...**Definition:** identity_matrix..."
-             sage: identity_matrix.__doc__ in browse_sage_doc(identity_matrix, 'rst')
-             True
--            sage: browse_sage_doc(identity_matrix, 'html', False)             # optional - sphinx
-+            sage: browse_sage_doc(identity_matrix, 'html', False)             # optional - sphinx sagemath_doc_html
-             '...div...File:...Type:...Definition:...identity_matrix...'
- 
-         In the 'text' version, double colons have been replaced with
--- 
-cgit v1.0-1-gd88e
-
diff --git a/srcpkgs/sagemath/patches/trac-34118-update_sympy_to_1.11.1-5db5d4e56243c609f44afc1f21c112b026f9e1fe.patch b/srcpkgs/sagemath/patches/trac-34118-update_sympy_to_1.11.1-5db5d4e56243c609f44afc1f21c112b026f9e1fe.patch
new file mode 100644
index 000000000000..977a42400e59
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-34118-update_sympy_to_1.11.1-5db5d4e56243c609f44afc1f21c112b026f9e1fe.patch
@@ -0,0 +1,42 @@
+commit 5db5d4e56243c609f44afc1f21c112b026f9e1fe
+Author: Oscar Benjamin <oscar.j.benjamin@gmail.com>
+Date:   Mon Jul 11 21:24:01 2022 +0100
+
+    Update doctests for SymPy 1.11
+    
+    Doctests related to SymPy's rsolve function are updated in:
+    
+    src/sage/calculus/test_sympy.py
+    src/sage/tests/books/computational-mathematics-with-sagemath/recequadiff_doctest.py
+    
+    The form of the output from SymPy has changed since
+    
+    https://github.com/sympy/sympy/pull/23567
+
+diff --git a/src/sage/calculus/test_sympy.py b/src/sage/calculus/test_sympy.py
+index 7cf7f3f6bfd..927e6ee4fb6 100644
+--- a/src/sage/calculus/test_sympy.py
++++ b/src/sage/calculus/test_sympy.py
+@@ -193,7 +193,7 @@ This was fixed in Sympy, see :trac:`14437`::
+     sage: u = Function('u')
+     sage: n = Symbol('n', integer=True)
+     sage: f = u(n+2) - u(n+1) + u(n)/4
+-    sage: 2**n * rsolve(f,u(n))
+-    C1*n + C0
++    sage: expand(2**n * rsolve(f,u(n)))
++    2*C1*n + C0
+ 
+ """
+diff --git a/src/sage/tests/books/computational-mathematics-with-sagemath/recequadiff_doctest.py b/src/sage/tests/books/computational-mathematics-with-sagemath/recequadiff_doctest.py
+index 1062f4f7e8c..f53f813d793 100644
+--- a/src/sage/tests/books/computational-mathematics-with-sagemath/recequadiff_doctest.py
++++ b/src/sage/tests/books/computational-mathematics-with-sagemath/recequadiff_doctest.py
+@@ -382,7 +382,7 @@ Sage example in ./recequadiff.tex, line 1798::
+   sage: from sympy import rsolve_hyper
+   sage: from sympy.abc import n
+   sage: rsolve_hyper([-2,1],2**(n+2),n)
+-  2**n*C0 + 2**(n + 2)*(C0 + n/2)
++  2**n*C0 + 2**(n + 1)*n
+ 
+ """
+ 
diff --git a/srcpkgs/sagemath/patches/trac-34465-fix_invalid_escape_sequence-04971318f032caf8dc1c0de9489346d894409091.patch b/srcpkgs/sagemath/patches/trac-34465-fix_invalid_escape_sequence-04971318f032caf8dc1c0de9489346d894409091.patch
new file mode 100644
index 000000000000..8fedcb78cf71
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-34465-fix_invalid_escape_sequence-04971318f032caf8dc1c0de9489346d894409091.patch
@@ -0,0 +1,19 @@
+commit 04971318f032caf8dc1c0de9489346d894409091
+Author: John H. Palmieri <jhpalmieri64@gmail.com>
+Date:   Wed Aug 31 14:22:26 2022 -0700
+
+    trac 34465: fix invalid escape sequence in functions/special.py
+
+diff --git a/src/sage/functions/special.py b/src/sage/functions/special.py
+index 02596e49620..901f02f9bee 100644
+--- a/src/sage/functions/special.py
++++ b/src/sage/functions/special.py
+@@ -849,7 +849,7 @@ class EllipticF(BuiltinFunction):
+     - :wikipedia:`Elliptic_integral#Incomplete_elliptic_integral_of_the_first_kind`
+     """
+     def __init__(self):
+-        """
++        r"""
+         EXAMPLES::
+ 
+             sage: loads(dumps(elliptic_f))
diff --git a/srcpkgs/sagemath/patches/zzz-loadable_module_extension.patch b/srcpkgs/sagemath/patches/zzz-loadable_module_extension
similarity index 100%
rename from srcpkgs/sagemath/patches/zzz-loadable_module_extension.patch
rename to srcpkgs/sagemath/patches/zzz-loadable_module_extension
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 0d793262d572..8df50e4e13b6 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -1,7 +1,7 @@
 # Template file for 'sagemath'
 pkgname=sagemath
-version=9.5
-revision=2
+version=9.7
+revision=1
 wrksrc=sage-$version
 build_wrksrc=pkgs/sagemath-standard
 build_style=python3-module
@@ -33,12 +33,9 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-2.0-or-later"
 homepage="http://sagemath.org/"
 distfiles="https://github.com/sagemath/sage/archive/refs/tags/$version.tar.gz"
-checksum=8d70a3b26080802c5b2e33dda4c23795d494d8216a0c2ecfcd608ebab0e64ff6
+checksum=9f26f14aa322e3cf38a71835b12ac34b23026b467f74d54b064c5d025e76fbfd
 
 post_patch() {
-	# these are unused and nothing else uses ratpoints
-	rm sage/libs/ratpoints.{pyx,pxd}
-
 	# git tree needs bootstrapping
 	pushd $wrksrc/build/pkgs/sagelib
 	PATH=../../bin:$PATH BOOTSTRAP_QUIET=no ./bootstrap
@@ -65,6 +62,7 @@ do_configure() {
 
 pre_build() {
 	export PYTHONPATH=../sage-setup
+	export PYTHONDONTWRITEBYTECODE=yes
 	export SAGE_NUM_THREADS="$XBPS_MAKEJOBS"
 }
 
@@ -77,6 +75,7 @@ post_build() {
 
 pre_install() {
 	export PYTHONPATH=../sage-setup
+	export PYTHONDONTWRITEBYTECODE=yes
 	export SAGE_NUM_THREADS="$XBPS_MAKEJOBS"
 }
 
@@ -104,6 +103,7 @@ post_install() {
 do_check() {
 	_scripts=$(cd build/scripts* && pwd)
 	export PYTHONPATH=$(cd build/lib* && pwd)
+	export PYTHONDONTWRITEBYTECODE=yes
 
 	# get out of $build_wrksrc, otherwise python picks the wrong sage module
 	cd $(mktemp -dp build)

From bbc1e07a1f892dee293cc4eab2ddfb4ecd9132e9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 9 Oct 2022 12:31:52 -0300
Subject: [PATCH 7/9] python3-fpylll: update to 0.5.7.

---
 srcpkgs/python3-fpylll/patches/python-3.11.patch | 11 -----------
 srcpkgs/python3-fpylll/template                  |  5 +++--
 2 files changed, 3 insertions(+), 13 deletions(-)
 delete mode 100644 srcpkgs/python3-fpylll/patches/python-3.11.patch

diff --git a/srcpkgs/python3-fpylll/patches/python-3.11.patch b/srcpkgs/python3-fpylll/patches/python-3.11.patch
deleted file mode 100644
index b5a6c0efbf1e..000000000000
--- a/srcpkgs/python3-fpylll/patches/python-3.11.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/fpylll/gmp/pylong.pxd
-+++ b/src/fpylll/gmp/pylong.pxd
-@@ -3,7 +3,7 @@
- Various functions to deal with conversion mpz <-> Python int/long
- """
- 
--cdef extern from "longintrepr.h":
-+cdef extern from "Python.h":
-     cdef _PyLong_New(Py_ssize_t s)
-     cdef long PyLong_SHIFT
-     ctypedef unsigned int digit
diff --git a/srcpkgs/python3-fpylll/template b/srcpkgs/python3-fpylll/template
index dd2adcee6fce..9bb8dd735edb 100644
--- a/srcpkgs/python3-fpylll/template
+++ b/srcpkgs/python3-fpylll/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-fpylll'
 pkgname=python3-fpylll
-version=0.5.6
+version=0.5.7
 revision=1
 wrksrc="fpylll-${version}"
 build_style=python3-module
@@ -12,8 +12,9 @@ short_desc="Python wrapper to fplll (floating point lattice algorithms)"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-2.0-or-later"
 homepage="https://github.com/fplll/fpylll"
+changelog="https://github.com/fplll/fpylll/releases"
 distfiles="${PYPI_SITE}/f/fpylll/fpylll-${version}.tar.gz"
-checksum=6eb8a63fb933c0bf92f290dd66fd884807659214d0ce524afe3687a6a6b13a8b
+checksum=1afc88feee50a3e84de55e3913295922c25691f6edafb9ecfe8f2e90306758f6
 
 case $XBPS_TARGET_MACHINE in
 	# skip a test with numerical noise on 32 bit

From 174ea320c9025099de6f53637fad8067472e7a1a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 9 Oct 2022 13:16:42 -0300
Subject: [PATCH 8/9] python3-memory_allocator: update to 0.1.3.

---
 srcpkgs/python3-memory_allocator/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-memory_allocator/template b/srcpkgs/python3-memory_allocator/template
index e4fbb51478fa..52e1590492fb 100644
--- a/srcpkgs/python3-memory_allocator/template
+++ b/srcpkgs/python3-memory_allocator/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-memory_allocator'
 pkgname=python3-memory_allocator
-version=0.1.2
+version=0.1.3
 revision=1
 wrksrc=memory_allocator-$version
 build_style=python3-module
@@ -9,6 +9,7 @@ makedepends="python3-devel"
 short_desc="Extension class to allocate memory easily with cython"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-3.0-or-later"
-homepage="https://github.com/kliem/memory_allocator"
+homepage="https://github.com/sagemath/memory_allocator"
+changelog="https://github.com/sagemath/memory_allocator#changelog"
 distfiles="${PYPI_SITE}/m/memory_allocator/memory_allocator-${version}.tar.gz"
-checksum=ddf42a2dcc678062f30c63c868335204d46a4ecdf4db0dc43ed4529f1d0ffab9
+checksum=13805c2ae1c01b7489fab5e8eac9361662b4f2c02412e3652eece48ff6953162

From 2797f098a61d5afa77177d3dfe3d925b5e43b56f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 9 Oct 2022 17:46:15 -0300
Subject: [PATCH 9/9] SuiteSparse: update to 5.13.0.

---
 srcpkgs/SuiteSparse/template | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/SuiteSparse/template b/srcpkgs/SuiteSparse/template
index b304dfc8f786..2bb671a50c32 100644
--- a/srcpkgs/SuiteSparse/template
+++ b/srcpkgs/SuiteSparse/template
@@ -1,8 +1,7 @@
 # Template file for 'SuiteSparse'
 pkgname=SuiteSparse
-version=5.12.0
+version=5.13.0
 revision=1
-# XXX: re-enable TBB=-ltbb -DSPQR_CONFIG=-DHAVE_TBB when updating, if possible
 make_build_args="BLAS=-lblas LAPACK=-llapack"
 hostmakedepends="cmake chrpath"
 makedepends="libgomp-devel lapack-devel mpfr-devel"
@@ -12,7 +11,7 @@ license="custom:multiple"
 homepage="https://people.engr.tamu.edu/davis/suitesparse.html"
 changelog="https://raw.githubusercontent.com/DrTimothyAldenDavis/SuiteSparse/master/ChangeLog"
 distfiles="https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v${version}.tar.gz"
-checksum=5fb0064a3398111976f30c5908a8c0b40df44c6dd8f0cc4bfa7b9e45d8c647de
+checksum=59c6ca2959623f0c69226cf9afb9a018d12a37fab3a8869db5f6d7f83b6b147d
 
 do_build() {
 	make config library $make_build_args JOBS=$XBPS_MAKEJOBS

             reply	other threads:[~2022-10-10 22:19 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-10 22:19 tornaria [this message]
2022-10-11 12:58 ` tornaria
2022-10-11 13:51 ` dkwo
2022-10-11 14:33 ` ahesford
2022-10-11 19:13 ` tornaria
2022-10-11 19:23 ` ahesford
2022-10-11 21:35 ` [PR PATCH] [Updated] " tornaria
2022-10-11 21:37 ` tornaria
2022-10-12 14:46 ` [PR PATCH] [Updated] " tornaria
2022-10-12 18:18 ` dkwo
2022-10-12 18:18 ` dkwo
2022-10-12 20:17 ` tornaria
2022-10-12 22:02 ` dkwo
2022-10-13  3:15 ` [PR PATCH] [Updated] " tornaria
2022-10-13 14:03 ` tornaria
2022-10-14 20:11 ` tornaria
2022-10-16  1:52 ` tornaria
2022-10-17  4:51 ` tornaria
2022-10-29  2:30 ` tornaria
2022-10-29 11:02 ` tornaria
2022-10-29 11:12 ` ahesford
2022-10-29 12:16 ` [PR PATCH] [Updated] " tornaria
2022-10-29 16:55 ` tornaria
2022-10-29 16:58 ` sagemath: " tornaria
2022-10-30 17:09 ` tornaria
2022-10-30 22:06 ` [PR PATCH] [Updated] " tornaria
2022-10-30 23:37 ` tornaria
2022-10-31 11:56 ` tornaria
2022-10-31 14:40 ` dkwo
2022-10-31 15:27 ` [PR PATCH] [Closed]: " ahesford
2022-10-31 15:37 ` ahesford
2022-10-31 20:30 ` tornaria
2022-11-03 13:36 ` tornaria
2022-11-03 13:59 ` ahesford

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-39876@inbox.vuxu.org \
    --to=tornaria@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).