Github messages for voidlinux
 help / color / mirror / Atom feed
From: tornaria <tornaria@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] [WIP] New package: sagemath-9.5.rc1
Date: Sat, 15 Jan 2022 03:13:33 +0100	[thread overview]
Message-ID: <20220115021333.yFEbDUKgLtZCddkh7MDBaoXNkgVti1YULNI9X1UN5ws@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-34030@inbox.vuxu.org>

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

There is an updated pull request by tornaria against master on the void-packages repository

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

[WIP] New package: sagemath-9.5.rc1
This is WIP, so I can get feedback.

Right now there is some issue with relocation, since `/builddir/sage-9.5.beta5` leaks all over the place. In particular starting sage complains this directory is missing... but it seems to work.

I'm unsure if the package name should be `sage` or `sagemath`.

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

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

From 4f88980f2df5063f14c52d5433a42399b3bea390 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 11 Nov 2021 10:36:03 -0300
Subject: [PATCH 01/39] New package: sage-9.5.beta5

---
 srcpkgs/sage/template | 74 +++++++++++++++++++++++++++++++++++++++++++
 srcpkgs/sage/update   |  3 ++
 2 files changed, 77 insertions(+)
 create mode 100644 srcpkgs/sage/template
 create mode 100644 srcpkgs/sage/update

diff --git a/srcpkgs/sage/template b/srcpkgs/sage/template
new file mode 100644
index 000000000000..2ef437238cb5
--- /dev/null
+++ b/srcpkgs/sage/template
@@ -0,0 +1,74 @@
+# Template file for 'sage'
+pkgname=sage
+version=9.5.beta5
+revision=1
+build_style=configure
+configure_args=--prefix=/usr/lib/sage-${version}
+make_check_target=ptest
+short_desc="Open source mathematics software"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-3.0-or-later"
+homepage="http://sagemath.org/"
+distfiles="http://mirrors.mit.edu/sage/src/sage-$version.tar.gz"
+checksum=3b78ee848450d6881902bf68f4f3af17e1647e72c51e5fcdcb412c938ecbce57
+
+case ${version} in
+	# url for devel is different
+	*.beta*|*.rc*)
+		distfiles=${distfiles/sage\/src/sage\/devel}
+		;;
+esac
+
+# first we try to build native; we'll worry about cross later
+# besides, some dependencies are nocross
+nocross=yes
+
+# for now, to make install faster
+nostrip=yes
+
+# don't rewrite python shebang as sage uses its own python (for now)
+_no_python_shebang=yes
+
+do_install() {
+	vcopy /usr/lib/sage-${version} usr/lib/
+	vmkdir usr/bin
+	ln -s /usr/lib/sage-${version}/bin/sage ${DESTDIR}/usr/bin/
+}
+
+### copied from sage-deps, to keep in sync
+
+# hard dependencies
+makedepends+=" gcc make m4 perl binutils git tar libgomp-devel"
+
+# recommended dependencies
+makedepends+=" gcc-fortran openssl-devel"
+
+# bootstrap dependencies
+makedepends+=" automake gettext gettext-devel"
+
+# other host dependencies
+makedepends+=" cmake curl git ninja pandoc patch pkg-config python3 tox"
+
+# already in void
+makedepends+="
+ CoinMP-devel R arb-devel boost-devel bzip2-devel ecl eclib-devel
+ ecm-devel flintlib-devel freetype-devel gc-devel gd-devel giac-devel
+ glpk-devel gmp-devel gmpxx-devel gp2c graphviz gsl-devel isl-devel
+ libatomic_ops-devel libcurl-devel libffi-devel libmpc-devel
+ libpng-devel libxml2-devel mpfr-devel ncurses-devel openblas-devel
+ pari-devel pari-elldata-small pari-galdata pari-galpol-small
+ pari-seadata pcre-devel perl-File-Slurp perl-JSON perl-Term-ReadKey
+ perl-Term-ReadLine-Gnu perl-XML-LibXML perl-XML-LibXSLT
+ perl-XML-Writer ppl-devel python3-devel readline-devel sqlite-devel
+ zeromq-devel zlib-devel
+ FlintQS SuiteSparse-devel cddlib-devel fflas-ffpack fplll-devel gf2x-devel
+ givaro-devel igraph-devel iml-devel lcalc-devel linbox-devel
+ m4ri-devel m4rie-devel mpfi-devel ntl-devel perl-SVG rankwidth-devel
+ singular sympow zn_poly symmetrica-devel planarity-devel qhull libqhull-devel
+"
+
+# TODO: standard
+# brial cliquer gfan libbraiding libhomfly lrcalc nauty palp tachyon
+
+# TODO: optional
+# 4ti2 coxeter3 libnauty libsemigroups lrslib perl_mongodb
diff --git a/srcpkgs/sage/update b/srcpkgs/sage/update
new file mode 100644
index 000000000000..f797813dcde6
--- /dev/null
+++ b/srcpkgs/sage/update
@@ -0,0 +1,3 @@
+# for now, check both stable and devel releases
+site="http://mirrors.mit.edu/sage/src/
+http://mirrors.mit.edu/sage/devel/"

From 10510a5d5f98b529a357c8a29a297fc33837fe7c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 13 Nov 2021 00:08:27 -0300
Subject: [PATCH 02/39] sagemath: update to sage-9.5.beta6

Also:
 - rename pkg from sage to sagemath
 - now it will build sage in-place at /usr/lib/sage-$version
 - the resulting pkg contains a lot of useless stuff that comes with the
   distribution; we'll have to clean up. E.g. SAGE_ROOT/upstream is
   definitely unnecessary (1.2G); possibly SAGE_ROOT/pkgs or at least
   SAGE_ROOT/pkgs/sagemath-standard/build (2.6G).
---
 srcpkgs/{sage => sagemath}/template | 46 +++++++++++++++++++++--------
 srcpkgs/{sage => sagemath}/update   |  1 +
 2 files changed, 35 insertions(+), 12 deletions(-)
 rename srcpkgs/{sage => sagemath}/template (67%)
 rename srcpkgs/{sage => sagemath}/update (90%)

diff --git a/srcpkgs/sage/template b/srcpkgs/sagemath/template
similarity index 67%
rename from srcpkgs/sage/template
rename to srcpkgs/sagemath/template
index 2ef437238cb5..fa5189ad259e 100644
--- a/srcpkgs/sage/template
+++ b/srcpkgs/sagemath/template
@@ -1,41 +1,63 @@
-# Template file for 'sage'
-pkgname=sage
-version=9.5.beta5
+# Template file for 'sagemath'
+pkgname=sagemath
+version=9.5.beta6
 revision=1
+wrksrc=sage-$version
 build_style=configure
-configure_args=--prefix=/usr/lib/sage-${version}
+configure_args="--enable-build-as-root"
 make_check_target=ptest
+# for now skip building docs
+make_build_target=build
 short_desc="Open source mathematics software"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-3.0-or-later"
 homepage="http://sagemath.org/"
 distfiles="http://mirrors.mit.edu/sage/src/sage-$version.tar.gz"
-checksum=3b78ee848450d6881902bf68f4f3af17e1647e72c51e5fcdcb412c938ecbce57
+checksum=7bae8cbb4db73147bd698261497102524bfadeb71ca66b1c68e96827bd5a8975
+
+# path where sage will be installed
+_SAGE_ROOT=/usr/lib/sage-${version}
 
 case ${version} in
 	# url for devel is different
-	*.beta*|*.rc*)
-		distfiles=${distfiles/sage\/src/sage\/devel}
-		;;
+	*.beta*|*.rc*) distfiles=${distfiles/sage\/src/sage\/devel} ;;
 esac
 
-# first we try to build native; we'll worry about cross later
-# besides, some dependencies are nocross
+# for now, skip check in ci, since we still have a few tests failing
+make_check=ci-skip
+
+# for now, just build native; we'll worry about cross later
+# besides, some dependencies are nocross (e.g. ntl)
 nocross=yes
 
 # for now, to make install faster
 nostrip=yes
 
+# don't shlib_provide anything
+noshlibprovides=yes
+
 # don't rewrite python shebang as sage uses its own python (for now)
 _no_python_shebang=yes
 
+post_extract() {
+	# sage wants to be built in place so let $wrksrc be a symlink
+	mv -T $wrksrc $_SAGE_ROOT
+	ln -sfT $_SAGE_ROOT $wrksrc
+}
+
+do_clean() {
+	# undo post_extract()
+	rm $wrksrc
+	mv $_SAGE_ROOT $wrksrc
+}
+
 do_install() {
 	vcopy /usr/lib/sage-${version} usr/lib/
 	vmkdir usr/bin
-	ln -s /usr/lib/sage-${version}/bin/sage ${DESTDIR}/usr/bin/
+	ln -s $_SAGE_ROOT/sage ${DESTDIR}/usr/bin/
 }
 
-### copied from sage-deps, to keep in sync
+### copied from sage-deps, to be kept in sync
 
 # hard dependencies
 makedepends+=" gcc make m4 perl binutils git tar libgomp-devel"
diff --git a/srcpkgs/sage/update b/srcpkgs/sagemath/update
similarity index 90%
rename from srcpkgs/sage/update
rename to srcpkgs/sagemath/update
index f797813dcde6..c33aba4e6df2 100644
--- a/srcpkgs/sage/update
+++ b/srcpkgs/sagemath/update
@@ -1,3 +1,4 @@
+pkgname=sage
 # for now, check both stable and devel releases
 site="http://mirrors.mit.edu/sage/src/
 http://mirrors.mit.edu/sage/devel/"

From 97a5c8a41f8a38ad5ef68a999397252c7ecbc87a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 13 Nov 2021 07:40:55 -0300
Subject: [PATCH 03/39] sagemath: revbump for changes

 - include patch fixing build of pyzmq on musl
 - add gengetopts and texinfo to makedepends
 - first attempt at cleanup: remove upstream sources and build artifacts
---
 srcpkgs/sagemath/patches/fix-pyzmq-musl.patch | 15 +++++++++++++++
 srcpkgs/sagemath/template                     |  9 +++++++--
 2 files changed, 22 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/sagemath/patches/fix-pyzmq-musl.patch

diff --git a/srcpkgs/sagemath/patches/fix-pyzmq-musl.patch b/srcpkgs/sagemath/patches/fix-pyzmq-musl.patch
new file mode 100644
index 000000000000..9190830d835e
--- /dev/null
+++ b/srcpkgs/sagemath/patches/fix-pyzmq-musl.patch
@@ -0,0 +1,15 @@
+diff --git a/build/pkgs/pyzmq/spkg-install.in b/build/pkgs/pyzmq/spkg-install.in
+index 0ce404ee5a..b7260c6d27 100644
+--- a/build/pkgs/pyzmq/spkg-install.in
++++ b/build/pkgs/pyzmq/spkg-install.in
+@@ -1,6 +1,9 @@
+ # Since we use environment vars we have to generate setup.cfg
+ 
+-echo "[build_ext]" > src/setup.cfg
++echo "[global]" > src/setup.cfg
++echo "skip_check_zmq = True" >> src/setup.cfg
++
++echo "[build_ext]" >> src/setup.cfg
+ 
+ # (I tried putting quotes around $SAGE_LOCAL to allow for spaces in
+ # the path---which is never used but is a good habit to support---but
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index fa5189ad259e..56166cd44272 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -1,7 +1,7 @@
 # Template file for 'sagemath'
 pkgname=sagemath
 version=9.5.beta6
-revision=1
+revision=2
 wrksrc=sage-$version
 build_style=configure
 configure_args="--enable-build-as-root"
@@ -52,7 +52,11 @@ do_clean() {
 }
 
 do_install() {
-	vcopy /usr/lib/sage-${version} usr/lib/
+	vcopy $_SAGE_ROOT usr/lib/
+	# cleanup: upstream sources and build artifacts
+	rm -rf ${DESTDIR}/$_SAGE_ROOT/upstream
+	rm -rf ${DESTDIR}/$_SAGE_ROOT/pkgs/*/build
+	# symlink main binary
 	vmkdir usr/bin
 	ln -s $_SAGE_ROOT/sage ${DESTDIR}/usr/bin/
 }
@@ -87,6 +91,7 @@ makedepends+="
  givaro-devel igraph-devel iml-devel lcalc-devel linbox-devel
  m4ri-devel m4rie-devel mpfi-devel ntl-devel perl-SVG rankwidth-devel
  singular sympow zn_poly symmetrica-devel planarity-devel qhull libqhull-devel
+ gengetopt texinfo
 "
 
 # TODO: standard

From 71b7db0ce4c6a7615429feb9a906dad660870a89 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 14 Nov 2021 18:23:29 -0300
Subject: [PATCH 04/39] sagemath: revbump to 9.5.beta6_3 for changes

 - add depends needed for runtime and for testing
 - add python_version=3
 - disable skipping 03-rewrite-python-shebang as it seems to be harmless
   after adding python_version=3
 - fix cleaning up of $wrksrc and $_SAGE_ROOT
 - use sage-${version}_${revision} for the binary symlink; this way it
   won't override whatever sage is installed in the system so I can test
   on a live system.
---
 srcpkgs/sagemath/template | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 56166cd44272..cfe97e039974 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -1,19 +1,24 @@
 # Template file for 'sagemath'
 pkgname=sagemath
 version=9.5.beta6
-revision=2
+revision=3
 wrksrc=sage-$version
 build_style=configure
 configure_args="--enable-build-as-root"
 make_check_target=ptest
 # for now skip building docs
 make_build_target=build
+depends="giac git FlintQS zn_poly sympow
+ pari-elldata-small pari-galdata pari-galpol-small pari-seadata-small
+ flintlib-devel gsl-devel ntl-devel eclib-devel pari-devel mpfr-devel
+ m4ri-devel gd-devel libpng-devel fflas-ffpack pkg-config gcc-fortran"
 short_desc="Open source mathematics software"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-3.0-or-later"
 homepage="http://sagemath.org/"
 distfiles="http://mirrors.mit.edu/sage/src/sage-$version.tar.gz"
 checksum=7bae8cbb4db73147bd698261497102524bfadeb71ca66b1c68e96827bd5a8975
+python_version=3
 
 # path where sage will be installed
 _SAGE_ROOT=/usr/lib/sage-${version}
@@ -37,7 +42,8 @@ nostrip=yes
 noshlibprovides=yes
 
 # don't rewrite python shebang as sage uses its own python (for now)
-_no_python_shebang=yes
+# after python_version=3, this seems harmless... strange...
+#_no_python_shebang=yes
 
 post_extract() {
 	# sage wants to be built in place so let $wrksrc be a symlink
@@ -46,9 +52,12 @@ post_extract() {
 }
 
 do_clean() {
-	# undo post_extract()
-	rm $wrksrc
-	mv $_SAGE_ROOT $wrksrc
+	rm -rf $wrksrc $_SAGE_ROOT
+}
+
+post_build() {
+	# install pytest for more tests
+	./sage -i pytest
 }
 
 do_install() {
@@ -58,7 +67,9 @@ do_install() {
 	rm -rf ${DESTDIR}/$_SAGE_ROOT/pkgs/*/build
 	# symlink main binary
 	vmkdir usr/bin
-	ln -s $_SAGE_ROOT/sage ${DESTDIR}/usr/bin/
+	# for now use sage-${version}_${revision} so it doesn't override
+	# other sage installed in the system
+	ln -sfT $_SAGE_ROOT/sage ${DESTDIR}/usr/bin/sage-${version}_${revision}
 }
 
 ### copied from sage-deps, to be kept in sync

From dfa27048255641696d18c1c0d745795e916547e5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 20 Nov 2021 19:01:21 -0300
Subject: [PATCH 05/39] sagemath: update to 9.5.beta7.

---
 srcpkgs/sagemath/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index cfe97e039974..3f9a3e9e077f 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -1,7 +1,7 @@
 # Template file for 'sagemath'
 pkgname=sagemath
-version=9.5.beta6
-revision=3
+version=9.5.beta7
+revision=1
 wrksrc=sage-$version
 build_style=configure
 configure_args="--enable-build-as-root"
@@ -17,7 +17,7 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-3.0-or-later"
 homepage="http://sagemath.org/"
 distfiles="http://mirrors.mit.edu/sage/src/sage-$version.tar.gz"
-checksum=7bae8cbb4db73147bd698261497102524bfadeb71ca66b1c68e96827bd5a8975
+checksum=b81e1fe22d1b990bf1230260241ead016470da1f2f7b260f562d50f74c2904c7
 python_version=3
 
 # path where sage will be installed

From 1a2c31627a407c83837fc7bcd06ab0470dbcb875 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 22 Nov 2021 10:23:03 -0300
Subject: [PATCH 06/39] sagemath: add more dependencies

Also:
 - add patches so more doctests pass
 - add do_check() to skip building docs
 - use https for distfiles
---
 ...08fd9d56d022ed28592f93f07ec8dce530ef.patch |  49 ++++++
 ...b99e0270f80cf03b80418372f45274f46051.patch | 163 ++++++++++++++++++
 ...a86908daf60b25e66e6a189c51ada7e0a732.patch |  25 +++
 .../patches/skip-optional-dochtml.patch       |  13 ++
 srcpkgs/sagemath/template                     |  15 +-
 5 files changed, 260 insertions(+), 5 deletions(-)
 create mode 100644 srcpkgs/sagemath/patches/17e308fd9d56d022ed28592f93f07ec8dce530ef.patch
 create mode 100644 srcpkgs/sagemath/patches/2ee7b99e0270f80cf03b80418372f45274f46051.patch
 create mode 100644 srcpkgs/sagemath/patches/f5f7a86908daf60b25e66e6a189c51ada7e0a732.patch
 create mode 100644 srcpkgs/sagemath/patches/skip-optional-dochtml.patch

diff --git a/srcpkgs/sagemath/patches/17e308fd9d56d022ed28592f93f07ec8dce530ef.patch b/srcpkgs/sagemath/patches/17e308fd9d56d022ed28592f93f07ec8dce530ef.patch
new file mode 100644
index 000000000000..e295bb91af5b
--- /dev/null
+++ b/srcpkgs/sagemath/patches/17e308fd9d56d022ed28592f93f07ec8dce530ef.patch
@@ -0,0 +1,49 @@
+From 17e308fd9d56d022ed28592f93f07ec8dce530ef Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 15 Nov 2021 23:37:15 -0500
+Subject: Trac #32880: use GAP instead of Singular to test
+ _get_shared_lib_path().
+
+We still have a doctest for _get_shared_lib_path() that tries to find
+the path to libSingular; however, we no longer actually need it to
+find libSingular because the path to libSingular is contained in
+LIBSINGULAR_PATH.
+
+Since _get_shared_lib_path() is a bit fragile, this commit replaces
+that test case with one for libgap, which is still always installed
+via SPKG and for which we still need _get_shared_lib_path() to be able
+to find the path.
+---
+ src/sage/env.py | 12 ++----------
+ 1 file changed, 2 insertions(+), 10 deletions(-)
+
+diff --git a/src/sage/env.py b/src/sage/env.py
+index 40ace13..3bd4826 100644
+--- a/src/sage/env.py
++++ b/src/sage/env.py
+@@ -267,20 +267,12 @@ def _get_shared_lib_path(*libnames: str) -> Optional[str]:
+ 
+     EXAMPLES::
+ 
+-        sage: import sys
+-        sage: from fnmatch import fnmatch
+         sage: from sage.env import _get_shared_lib_path
+-        sage: lib_filename = _get_shared_lib_path("Singular", "singular-Singular")
+-        sage: if sys.platform == 'cygwin':
+-        ....:     pattern = "*/cygSingular-*.dll"
+-        ....: elif sys.platform == 'darwin':
+-        ....:     pattern = "*/libSingular-*.dylib"
+-        ....: else:
+-        ....:     pattern = "*/lib*Singular-*.so"
+-        sage: fnmatch(str(lib_filename), pattern)
++        sage: "gap" in _get_shared_lib_path("gap")
+         True
+         sage: _get_shared_lib_path("an_absurd_lib") is None
+         True
++
+     """
+ 
+     for libname in libnames:
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/patches/2ee7b99e0270f80cf03b80418372f45274f46051.patch b/srcpkgs/sagemath/patches/2ee7b99e0270f80cf03b80418372f45274f46051.patch
new file mode 100644
index 000000000000..32e641edb3aa
--- /dev/null
+++ b/srcpkgs/sagemath/patches/2ee7b99e0270f80cf03b80418372f45274f46051.patch
@@ -0,0 +1,163 @@
+From 2ee7b99e0270f80cf03b80418372f45274f46051 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Samuel=20Leli=C3=A8vre?= <samuel.lelievre@gmail.com>
+Date: Sat, 20 Nov 2021 13:34:16 +0100
+Subject: 32905: abs tol for some CBF and RBF doctests
+
+---
+ src/sage/functions/gamma.py    |  2 +-
+ src/sage/rings/complex_arb.pyx |  6 +++---
+ src/sage/rings/real_arb.pyx    | 24 ++++++++++++------------
+ src/sage/symbolic/function.pyx |  2 +-
+ 4 files changed, 17 insertions(+), 17 deletions(-)
+
+diff --git a/src/sage/functions/gamma.py b/src/sage/functions/gamma.py
+index 3a4deef..307deb1 100644
+--- a/src/sage/functions/gamma.py
++++ b/src/sage/functions/gamma.py
+@@ -1049,7 +1049,7 @@ class Function_beta(GinacFunction):
+         r"""
+         TESTS::
+ 
+-            sage: RBF(beta(sin(3),sqrt(RBF(2).add_error(1e-8)/3)))
++            sage: RBF(beta(sin(3),sqrt(RBF(2).add_error(1e-8)/3)))  # abs tol 6e-7
+             [7.407662 +/- 6.17e-7]
+         """
+         return [x, y]
+diff --git a/src/sage/rings/complex_arb.pyx b/src/sage/rings/complex_arb.pyx
+index ce9b1b1..7e10ec9 100644
+--- a/src/sage/rings/complex_arb.pyx
++++ b/src/sage/rings/complex_arb.pyx
+@@ -4189,7 +4189,7 @@ cdef class ComplexBall(RingElement):
+ 
+         TESTS:
+ 
+-            sage: CBF(Ei(I))
++            sage: CBF(Ei(I))  # abs tol 1e-16
+             [0.337403922900968 +/- 3.76e-16] + [2.51687939716208 +/- 2.01e-15]*I
+         """
+         cdef ComplexBall result = self._new()
+@@ -4239,7 +4239,7 @@ cdef class ComplexBall(RingElement):
+ 
+         TESTS:
+ 
+-            sage: CBF(Ci(I))
++            sage: CBF(Ci(I))  # abs tol 1e-17
+             [0.837866940980208 +/- 4.72e-16] + [1.570796326794897 +/- 5.54e-16]*I
+         """
+         cdef ComplexBall result = self._new()
+@@ -4291,7 +4291,7 @@ cdef class ComplexBall(RingElement):
+ 
+         TESTS:
+ 
+-            sage: CBF(Chi(I))
++            sage: CBF(Chi(I))  # abs tol 1e-16
+             [0.337403922900968 +/- 3.25e-16] + [1.570796326794897 +/- 5.54e-16]*I
+         """
+         cdef ComplexBall result = self._new()
+diff --git a/src/sage/rings/real_arb.pyx b/src/sage/rings/real_arb.pyx
+index 80a840e..49caa63 100644
+--- a/src/sage/rings/real_arb.pyx
++++ b/src/sage/rings/real_arb.pyx
+@@ -3489,12 +3489,12 @@ cdef class RealBall(RingElement):
+ 
+         EXAMPLES::
+ 
+-            sage: RBF(1).Ei()
++            sage: RBF(1).Ei()  # abs tol 5e-16
+             [1.89511781635594 +/- 4.94e-15]
+ 
+         TESTS::
+ 
+-            sage: RBF(Ei(1))
++            sage: RBF(Ei(1))  # abs tol 5e-16
+             [1.89511781635594 +/- 4.94e-15]
+         """
+         cdef RealBall res = self._new()
+@@ -3531,12 +3531,12 @@ cdef class RealBall(RingElement):
+ 
+         EXAMPLES::
+ 
+-            sage: RBF(1).Ci()
++            sage: RBF(1).Ci()  # abs tol 1e-16
+             [0.337403922900968 +/- 3.25e-16]
+ 
+         TESTS::
+ 
+-            sage: RBF(Ci(1))
++            sage: RBF(Ci(1))  # abs tol 1e-16
+             [0.337403922900968 +/- 3.25e-16]
+         """
+         cdef RealBall res = self._new()
+@@ -3575,12 +3575,12 @@ cdef class RealBall(RingElement):
+ 
+         EXAMPLES::
+ 
+-            sage: RBF(1).Chi()
++            sage: RBF(1).Chi()  # abs tol 1e-17
+             [0.837866940980208 +/- 4.72e-16]
+ 
+         TESTS::
+ 
+-            sage: RBF(Chi(1))
++            sage: RBF(Chi(1))  # abs tol 1e-17
+             [0.837866940980208 +/- 4.72e-16]
+         """
+         cdef RealBall res = self._new()
+@@ -3597,7 +3597,7 @@ cdef class RealBall(RingElement):
+ 
+         EXAMPLES::
+ 
+-            sage: RBF(3).li()
++            sage: RBF(3).li()  # abs tol 1e-15
+             [2.16358859466719 +/- 4.72e-15]
+ 
+         TESTS::
+@@ -3621,7 +3621,7 @@ cdef class RealBall(RingElement):
+ 
+         EXAMPLES::
+ 
+-            sage: RBF(3).Li()
++            sage: RBF(3).Li()  # abs tol 1e-15
+             [1.11842481454970 +/- 7.61e-15]
+         """
+         cdef RealBall res = self._new()
+@@ -3648,9 +3648,9 @@ cdef class RealBall(RingElement):
+ 
+         EXAMPLES::
+ 
+-            sage: RBF(sin(3)).beta(RBF(2/3).sqrt())
++            sage: RBF(sin(3)).beta(RBF(2/3).sqrt())  # abs tol 1e-13
+             [7.407661629415 +/- 1.07e-13]
+-            sage: RealBallField(100)(7/2).beta(1)
++            sage: RealBallField(100)(7/2).beta(1)  # abs tol 1e-30
+             [0.28571428571428571428571428571 +/- 5.23e-30]
+             sage: RealBallField(100)(7/2).beta(1, 1/2)
+             [0.025253813613805268728601584361 +/- 2.53e-31]
+@@ -3685,9 +3685,9 @@ cdef class RealBall(RingElement):
+ 
+             sage: RBF(1/2).gamma()
+             [1.772453850905516 +/- ...e-16]
+-            sage: RBF(gamma(3/2, RBF(2).sqrt()))
++            sage: RBF(gamma(3/2, RBF(2).sqrt()))  # abs tol 2e-17
+             [0.37118875695353 +/- 3.00e-15]
+-            sage: RBF(3/2).gamma_inc(RBF(2).sqrt())
++            sage: RBF(3/2).gamma_inc(RBF(2).sqrt())  # abs tol 2e-17
+             [0.37118875695353 +/- 3.00e-15]
+ 
+         .. SEEALSO::
+diff --git a/src/sage/symbolic/function.pyx b/src/sage/symbolic/function.pyx
+index 89cdce5..480a601 100644
+--- a/src/sage/symbolic/function.pyx
++++ b/src/sage/symbolic/function.pyx
+@@ -626,7 +626,7 @@ cdef class Function(SageObject):
+             sage: b = RBF(3/2, 1e-10)
+             sage: airy_ai(b)
+             airy_ai([1.500000000 +/- 1.01e-10])
+-            sage: gamma(b, 1)
++            sage: gamma(b, 1)  # abs tol 4.5e-9
+             [0.50728223 +/- 4.67e-9]
+             sage: hurwitz_zeta(b, b)
+             hurwitz_zeta([1.500000000 +/- 1.01e-10], [1.500000000 +/- 1.01e-10])
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/patches/f5f7a86908daf60b25e66e6a189c51ada7e0a732.patch b/srcpkgs/sagemath/patches/f5f7a86908daf60b25e66e6a189c51ada7e0a732.patch
new file mode 100644
index 000000000000..ec0467757ee7
--- /dev/null
+++ b/srcpkgs/sagemath/patches/f5f7a86908daf60b25e66e6a189c51ada7e0a732.patch
@@ -0,0 +1,25 @@
+From f5f7a86908daf60b25e66e6a189c51ada7e0a732 Mon Sep 17 00:00:00 2001
+From: Antonio Rojas <arojas@archlinux.org>
+Date: Sat, 30 Oct 2021 10:21:52 +0200
+Subject: Fix test failure caused by new warning
+
+---
+ src/sage/lfunctions/pari.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/sage/lfunctions/pari.py b/src/sage/lfunctions/pari.py
+index 0aaf91c..33d5266 100644
+--- a/src/sage/lfunctions/pari.py
++++ b/src/sage/lfunctions/pari.py
+@@ -316,7 +316,7 @@ def lfun_number_field(K):
+         sage: L(3)
+         1.15202784126080
+         sage: L(0)
+-        0.000000000000000
++        ...0.000000000000000
+     """
+     return pari.lfuncreate(K)
+ 
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/patches/skip-optional-dochtml.patch b/srcpkgs/sagemath/patches/skip-optional-dochtml.patch
new file mode 100644
index 000000000000..e49b18a52fbc
--- /dev/null
+++ b/srcpkgs/sagemath/patches/skip-optional-dochtml.patch
@@ -0,0 +1,13 @@
+diff --git a/src/bin/sage-runtests b/src/bin/sage-runtests
+index 288c889bd1..b9a4d3038a 100755
+--- a/src/bin/sage-runtests
++++ b/src/bin/sage-runtests
+@@ -15,7 +15,7 @@ os.environ['SAGE_STARTUP_FILE'] = os.path.join(DOT_SAGE, 'init-doctests.sage')
+ 
+ def _get_optional_defaults():
+     """Return the default value for the --optional flag."""
+-    optional = ['sage', 'dochtml', 'optional']
++    optional = ['sage', 'optional']
+ 
+     # This should be good-enough to determine if we are in a sage source
+     # repository working tree
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 3f9a3e9e077f..d4130be12a7a 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -16,7 +16,7 @@ short_desc="Open source mathematics software"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-3.0-or-later"
 homepage="http://sagemath.org/"
-distfiles="http://mirrors.mit.edu/sage/src/sage-$version.tar.gz"
+distfiles="https://mirrors.mit.edu/sage/src/sage-$version.tar.gz"
 checksum=b81e1fe22d1b990bf1230260241ead016470da1f2f7b260f562d50f74c2904c7
 python_version=3
 
@@ -47,6 +47,7 @@ noshlibprovides=yes
 
 post_extract() {
 	# sage wants to be built in place so let $wrksrc be a symlink
+	rm -rf $_SAGE_ROOT
 	mv -T $wrksrc $_SAGE_ROOT
 	ln -sfT $_SAGE_ROOT $wrksrc
 }
@@ -72,6 +73,11 @@ do_install() {
 	ln -sfT $_SAGE_ROOT/sage ${DESTDIR}/usr/bin/sage-${version}_${revision}
 }
 
+do_check() {
+	# since make check will build the docs, run test like this instead
+	./sage -tp ${XBPS_MAKEJOBS} --all
+}
+
 ### copied from sage-deps, to be kept in sync
 
 # hard dependencies
@@ -103,10 +109,9 @@ makedepends+="
  m4ri-devel m4rie-devel mpfi-devel ntl-devel perl-SVG rankwidth-devel
  singular sympow zn_poly symmetrica-devel planarity-devel qhull libqhull-devel
  gengetopt texinfo
+ brial-devel cliquer-devel gfan libbraiding-devel libhomfly-devel
+ lrcalc-devel nauty-devel palp tachyon
 "
 
-# TODO: standard
-# brial cliquer gfan libbraiding libhomfly lrcalc nauty palp tachyon
-
 # TODO: optional
-# 4ti2 coxeter3 libnauty libsemigroups lrslib perl_mongodb
+# 4ti2 coxeter3 libsemigroups lrslib pdf2svg perl_mongodb polymake

From b5d2c540beda7a80b1e05db2f37af203110cd4db Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 22 Nov 2021 15:16:23 -0300
Subject: [PATCH 07/39] sagemath: more changes

 - do not install pytest, which is still broken (pending trac 31924)
 - add patch from sagemath trac 32892
 - replace the patch to fix the build of pyzmq on musl by a different
   one from sagemath trac 32828 which is what will be merged upstream
 - patch to fix doctest failure on musl (src/sage/misc/gperftools.py)
 - rebase on latest sympow rev to fix doctest failure on musl
   (src/sage/lfunctions/sympow.py)
 - enable check on CI to see what happens...
---
 ...hat-fixes-ctypes.util.find_library-c.patch |  64 +++++++++
 ...754ad30c6a1bd1fdbd6d62011055bf13b24a.patch |  27 ++++
 srcpkgs/sagemath/patches/fix-pyzmq-musl.patch |  15 --
 .../patches/trac-32828-fix-pyzmq.patch        | 134 ++++++++++++++++++
 srcpkgs/sagemath/template                     |  15 +-
 5 files changed, 235 insertions(+), 20 deletions(-)
 create mode 100644 srcpkgs/sagemath/patches/0001-Add-a-patch-that-fixes-ctypes.util.find_library-c.patch
 create mode 100644 srcpkgs/sagemath/patches/89b8754ad30c6a1bd1fdbd6d62011055bf13b24a.patch
 delete mode 100644 srcpkgs/sagemath/patches/fix-pyzmq-musl.patch
 create mode 100644 srcpkgs/sagemath/patches/trac-32828-fix-pyzmq.patch

diff --git a/srcpkgs/sagemath/patches/0001-Add-a-patch-that-fixes-ctypes.util.find_library-c.patch b/srcpkgs/sagemath/patches/0001-Add-a-patch-that-fixes-ctypes.util.find_library-c.patch
new file mode 100644
index 000000000000..4f89c2bd8fbc
--- /dev/null
+++ b/srcpkgs/sagemath/patches/0001-Add-a-patch-that-fixes-ctypes.util.find_library-c.patch
@@ -0,0 +1,64 @@
+From dc1a0e8168a9ffb4fbf07dd03c0846b4933a6dbe Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Mon, 22 Nov 2021 23:57:37 -0300
+Subject: [PATCH] Add a patch that fixes ctypes.util.find_library('c')
+
+The issue causes a failure doctesting src/sage/misc/gperftools.py
+---
+ .../python3/patches/musl-find_library.patch   | 44 +++++++++++++++++++
+ 1 file changed, 44 insertions(+)
+ create mode 100644 build/pkgs/python3/patches/musl-find_library.patch
+
+diff --git a/build/pkgs/python3/patches/musl-find_library.patch b/build/pkgs/python3/patches/musl-find_library.patch
+new file mode 100644
+index 0000000000..82f436b407
+--- /dev/null
++++ b/build/pkgs/python3/patches/musl-find_library.patch
+@@ -0,0 +1,44 @@
++--- a/Lib/ctypes/util.py
+++++ b/Lib/ctypes/util.py
++@@ -204,6 +204,41 @@
++         def find_library(name, is64 = False):
++             return _get_soname(_findLib_crle(name, is64) or _findLib_gcc(name))
++ 
+++    elif True:
+++
+++        # Patched for Alpine Linux / musl - search manually system paths
+++        def _is_elf(filepath):
+++            try:
+++                with open(filepath, 'rb') as fh:
+++                    return fh.read(4) == b'\x7fELF'
+++            except:
+++                return False
+++
+++        def find_library(name):
+++            from glob import glob
+++            # absolute name?
+++            if os.path.isabs(name):
+++                return name
+++            # special case for libm, libcrypt and libpthread and musl
+++            if name in ['m', 'crypt', 'pthread']:
+++                name = 'c'
+++            elif name in ['libm.so', 'libcrypt.so', 'libpthread.so']:
+++                name = 'libc.so'
+++            # search in standard locations (musl order)
+++            paths = ['/lib', '/usr/local/lib', '/usr/lib']
+++            if 'LD_LIBRARY_PATH' in os.environ:
+++                paths = os.environ['LD_LIBRARY_PATH'].split(':') + paths
+++            for d in paths:
+++                f = os.path.join(d, name)
+++                if _is_elf(f):
+++                    return os.path.basename(f)
+++
+++                prefix = os.path.join(d, 'lib'+name)
+++                for suffix in ['.so', '.so.*']:
+++                    for f in glob('{0}{1}'.format(prefix, suffix)):
+++                        if _is_elf(f):
+++                            return os.path.basename(f)
+++
++     else:
++ 
++         def _findSoname_ldconfig(name):
+-- 
+2.34.0
+
diff --git a/srcpkgs/sagemath/patches/89b8754ad30c6a1bd1fdbd6d62011055bf13b24a.patch b/srcpkgs/sagemath/patches/89b8754ad30c6a1bd1fdbd6d62011055bf13b24a.patch
new file mode 100644
index 000000000000..ea05b2b6a524
--- /dev/null
+++ b/srcpkgs/sagemath/patches/89b8754ad30c6a1bd1fdbd6d62011055bf13b24a.patch
@@ -0,0 +1,27 @@
+From 89b8754ad30c6a1bd1fdbd6d62011055bf13b24a Mon Sep 17 00:00:00 2001
+From: Tobias Diez <code@tobiasdiez.com>
+Date: Wed, 17 Nov 2021 22:24:32 +0100
+Subject: Fix exit code for pytest in case of no matched files
+
+---
+ src/bin/sage-runtests | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/bin/sage-runtests b/src/bin/sage-runtests
+index 882456d..8b362ca 100755
+--- a/src/bin/sage-runtests
++++ b/src/bin/sage-runtests
+@@ -157,6 +157,10 @@ if __name__ == "__main__":
+         if args.verbose:
+             pytest_options.append("-v")
+         exit_code_pytest = pytest.main(pytest_options + args.filenames)
++        if exit_code_pytest == 5:
++            # Exit code 5 means there were no test files, pass in this case
++            exit_code_pytest = 0
++
+     except ModuleNotFoundError:
+         print("Pytest is not installed, skip checking tests that rely on it.")
+ 
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/patches/fix-pyzmq-musl.patch b/srcpkgs/sagemath/patches/fix-pyzmq-musl.patch
deleted file mode 100644
index 9190830d835e..000000000000
--- a/srcpkgs/sagemath/patches/fix-pyzmq-musl.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/build/pkgs/pyzmq/spkg-install.in b/build/pkgs/pyzmq/spkg-install.in
-index 0ce404ee5a..b7260c6d27 100644
---- a/build/pkgs/pyzmq/spkg-install.in
-+++ b/build/pkgs/pyzmq/spkg-install.in
-@@ -1,6 +1,9 @@
- # Since we use environment vars we have to generate setup.cfg
- 
--echo "[build_ext]" > src/setup.cfg
-+echo "[global]" > src/setup.cfg
-+echo "skip_check_zmq = True" >> src/setup.cfg
-+
-+echo "[build_ext]" >> src/setup.cfg
- 
- # (I tried putting quotes around $SAGE_LOCAL to allow for spaces in
- # the path---which is never used but is a good habit to support---but
diff --git a/srcpkgs/sagemath/patches/trac-32828-fix-pyzmq.patch b/srcpkgs/sagemath/patches/trac-32828-fix-pyzmq.patch
new file mode 100644
index 000000000000..426932c95c9b
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-32828-fix-pyzmq.patch
@@ -0,0 +1,134 @@
+diff --git a/build/pkgs/pyzmq/checksums.ini b/build/pkgs/pyzmq/checksums.ini
+index 3824fd2ce9..20509db618 100644
+--- a/build/pkgs/pyzmq/checksums.ini
++++ b/build/pkgs/pyzmq/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=pyzmq-VERSION.tar.gz
+-sha1=50abf6482a6395f15dce0b2774021e12c9f4faad
+-md5=f261acf884460e93d30f7113c8e9242e
+-cksum=1661206741
++sha1=d8bb8cb345c0bfd9e67a95ac796bf4b10354dde6
++md5=ecf13c72fbea05ba5ddc771295409d48
++cksum=1680251717
+ upstream_url=https://pypi.io/packages/source/p/pyzmq/pyzmq-VERSION.tar.gz
+diff --git a/build/pkgs/pyzmq/package-version.txt b/build/pkgs/pyzmq/package-version.txt
+index 0398faf11c..8326e27f9b 100644
+--- a/build/pkgs/pyzmq/package-version.txt
++++ b/build/pkgs/pyzmq/package-version.txt
+@@ -1 +1 @@
+-22.2.1
++22.3.0
+diff --git a/build/pkgs/pyzmq/spkg-install.in b/build/pkgs/pyzmq/spkg-install.in
+index 0ce404ee5a..069d87767f 100644
+--- a/build/pkgs/pyzmq/spkg-install.in
++++ b/build/pkgs/pyzmq/spkg-install.in
+@@ -1,17 +1,11 @@
+-# Since we use environment vars we have to generate setup.cfg
+-
+-echo "[build_ext]" > src/setup.cfg
+-
+-# (I tried putting quotes around $SAGE_LOCAL to allow for spaces in
+-# the path---which is never used but is a good habit to support---but
+-# that simply does not work. Sorry.)
+-
+-echo "library_dirs = $SAGE_LOCAL/lib/" >> src/setup.cfg
+-echo "include_dirs = $SAGE_LOCAL/include/" >> src/setup.cfg
+-
+-echo "[configure]" >> src/setup.cfg
+-
+ cd src
+ 
++# Generate setup.cfg
++cat > setup.cfg <<EOF
++[global]
++zmq_prefix = $SAGE_LOCAL
++no_libzmq_extension = True
++EOF
++
+ # Configure and install
+ sdh_pip_install .
+diff --git a/build/pkgs/setuptools/checksums.ini b/build/pkgs/setuptools/checksums.ini
+index 6a280871e7..d9290d04ff 100644
+--- a/build/pkgs/setuptools/checksums.ini
++++ b/build/pkgs/setuptools/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=setuptools-VERSION.tar.gz
+-sha1=5d97de0e774b2269c85685a4aa8fd5956bcfd2bb
+-md5=ff20ab7e0d51c5ad0a9438c50e598c06
+-cksum=3564252314
++sha1=cd4e5d1f7c47f86354fc89d040d869cde244da3b
++md5=79b36f59270a6f2e45d6a9a0c6dc68c1
++cksum=430889097
+ upstream_url=https://pypi.io/packages/source/s/setuptools/setuptools-VERSION.tar.gz
+diff --git a/build/pkgs/setuptools/package-version.txt b/build/pkgs/setuptools/package-version.txt
+index e6ea636051..aec1257e4c 100644
+--- a/build/pkgs/setuptools/package-version.txt
++++ b/build/pkgs/setuptools/package-version.txt
+@@ -1 +1 @@
+-58.2.0
++59.2.0
+diff --git a/build/pkgs/zeromq/checksums.ini b/build/pkgs/zeromq/checksums.ini
+index ea8c36bce5..dc802612dd 100644
+--- a/build/pkgs/zeromq/checksums.ini
++++ b/build/pkgs/zeromq/checksums.ini
+@@ -1,4 +1,5 @@
+ tarball=zeromq-VERSION.tar.gz
+-sha1=1132f839d703486c4ee1cf22f056585dfbb329c2
+-md5=a1c95b34384257e986842f4d006957b8
+-cksum=136261411
++sha1=47277a64749049123d1401600e8cfbab10a3ae28
++md5=c897d4005a3f0b8276b00b7921412379
++cksum=1500782345
++upstream_url=https://github.com/zeromq/libzmq/releases/download/vVERSION/zeromq-VERSION.tar.gz
+diff --git a/build/pkgs/zeromq/package-version.txt b/build/pkgs/zeromq/package-version.txt
+index df0228dfae..eda862a98c 100644
+--- a/build/pkgs/zeromq/package-version.txt
++++ b/build/pkgs/zeromq/package-version.txt
+@@ -1 +1 @@
+-4.2.5
++4.3.4
+diff --git a/build/pkgs/zeromq/patches/getrandom.patch b/build/pkgs/zeromq/patches/getrandom.patch
+deleted file mode 100644
+index e665114e1c..0000000000
+--- a/build/pkgs/zeromq/patches/getrandom.patch
++++ /dev/null
+@@ -1,39 +0,0 @@
+-Patch taken from upstream git repo
+-and after running aclocal && autoconf
+-and removing changes to autotools input files
+-
+-commit 4ff814f204ee38177a392526cf12c8c0019b480f
+-Author: Luca Boccassi <luca.boccassi@gmail.com>
+-Date:   Wed May 9 10:41:20 2018 +0100
+-
+-    Problem: getrandom test does not check if it's working
+-
+-    Solution: check return value in autoconf and CMake. On some platforms
+-    the function is available but not implemented (eg: GNU/Hurd).
+-
+-diff -ru zeromq-4.2.5//builds/cmake/Modules/ZMQSourceRunChecks.cmake b/builds/cmake/Modules/ZMQSourceRunChecks.cmake
+---- zeromq-4.2.5//builds/cmake/Modules/ZMQSourceRunChecks.cmake	2018-03-23 20:33:36.000000000 +0100
+-+++ b/builds/cmake/Modules/ZMQSourceRunChecks.cmake	2018-07-24 12:39:23.340035053 +0200
+-@@ -287,7 +287,8 @@
+- int main (int argc, char *argv [])
+- {
+-     char buf[4];
+--    getrandom(buf, 4, 0);
+-+    int rc = getrandom(buf, 4, 0);
+-+    return rc == -1 ? 1 : 0;
+- }
+- "
+-     ZMQ_HAVE_GETRANDOM)
+-diff -ru zeromq-4.2.5//configure b/configure
+---- zeromq-4.2.5//configure	2018-03-23 20:34:18.000000000 +0100
+-+++ b/configure	2018-07-24 12:39:49.018035120 +0200
+-@@ -23315,7 +23315,8 @@
+- int main (int argc, char *argv [])
+- {
+-     char buf[4];
+--    getrandom(buf, 4, 0);
+-+    int rc = getrandom(buf, 4, 0);
+-+    return rc == -1 ? 1 : 0;
+- }
+- 
+- _ACEOF
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index d4130be12a7a..622ee06d85b8 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -29,7 +29,7 @@ case ${version} in
 esac
 
 # for now, skip check in ci, since we still have a few tests failing
-make_check=ci-skip
+#make_check=ci-skip
 
 # for now, just build native; we'll worry about cross later
 # besides, some dependencies are nocross (e.g. ntl)
@@ -56,10 +56,15 @@ do_clean() {
 	rm -rf $wrksrc $_SAGE_ROOT
 }
 
-post_build() {
-	# install pytest for more tests
-	./sage -i pytest
-}
+# DISABLED pytest since it brings more harm than good
+# it seems currently all it does is to look for files matching
+# *_test.py and run pytest on those, but I don't think these are meant
+# to be run on pytest (and one even gives a failure...)
+#
+# post_build() {
+# 	# install pytest for more tests
+# 	./sage -i pytest
+# }
 
 do_install() {
 	vcopy $_SAGE_ROOT usr/lib/

From 8d03785cc4227b2188af451323fdcf23c0062386 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 Nov 2021 22:47:35 -0300
Subject: [PATCH 08/39] sagemath: more changes

 - skip a doctest which fails due to giac 1.7.0
 - rename patches to include trac ticket #
 - add a patch to use system linbox (needs to run ./bootstrap)
 - look for an optional file ${XBPS_DISTDIR}/sagemath-check ; if that
   file exists, its contents are used as arguments for sage check
   Intended usage: place the names of files that you want to doctest
   instead of all files (useful when you have a few failing doctests you
   are trying to fix)
---
 ...p-doctest-giac-1.7.0--see-trac-31563.patch | 14 +++++++++
 ...119d27d091b3894860547673c2f6b224f61a.patch | 31 +++++++++++++++++++
 ...86908daf60b25e66e6a189c51ada7e0a732.patch} |  0
 ...8fd9d56d022ed28592f93f07ec8dce530ef.patch} |  0
 ...54ad30c6a1bd1fdbd6d62011055bf13b24a.patch} |  0
 ...99e0270f80cf03b80418372f45274f46051.patch} |  0
 srcpkgs/sagemath/template                     | 10 +++++-
 7 files changed, 54 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/sagemath/patches/skip-doctest-giac-1.7.0--see-trac-31563.patch
 create mode 100644 srcpkgs/sagemath/patches/trac-29631-7072119d27d091b3894860547673c2f6b224f61a.patch
 rename srcpkgs/sagemath/patches/{f5f7a86908daf60b25e66e6a189c51ada7e0a732.patch => trac-32797-f5f7a86908daf60b25e66e6a189c51ada7e0a732.patch} (100%)
 rename srcpkgs/sagemath/patches/{17e308fd9d56d022ed28592f93f07ec8dce530ef.patch => trac-32880-17e308fd9d56d022ed28592f93f07ec8dce530ef.patch} (100%)
 rename srcpkgs/sagemath/patches/{89b8754ad30c6a1bd1fdbd6d62011055bf13b24a.patch => trac-32892-89b8754ad30c6a1bd1fdbd6d62011055bf13b24a.patch} (100%)
 rename srcpkgs/sagemath/patches/{2ee7b99e0270f80cf03b80418372f45274f46051.patch => trac-32905-2ee7b99e0270f80cf03b80418372f45274f46051.patch} (100%)

diff --git a/srcpkgs/sagemath/patches/skip-doctest-giac-1.7.0--see-trac-31563.patch b/srcpkgs/sagemath/patches/skip-doctest-giac-1.7.0--see-trac-31563.patch
new file mode 100644
index 000000000000..563bb8526788
--- /dev/null
+++ b/srcpkgs/sagemath/patches/skip-doctest-giac-1.7.0--see-trac-31563.patch
@@ -0,0 +1,14 @@
+--- a/src/sage/functions/min_max.py
++++ b/src/sage/functions/min_max.py
+@@ -233,9 +233,9 @@ class MaxSymbolic(MinMax_base):
+             sage: f = max_symbolic(sin(x), cos(x))
+             sage: r = integral(f, x, 0, 1)
+             ...
+-            sage: r
++            sage: r             # not tested -- broken with giac 1.7.0
+             sqrt(2) - cos(1)
+-            sage: r.n()
++            sage: r.n()         # not tested -- broken with giac 1.7.0
+             0.873911256504955
+         """
+         return max_symbolic(args)
diff --git a/srcpkgs/sagemath/patches/trac-29631-7072119d27d091b3894860547673c2f6b224f61a.patch b/srcpkgs/sagemath/patches/trac-29631-7072119d27d091b3894860547673c2f6b224f61a.patch
new file mode 100644
index 000000000000..8154c2453c15
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-29631-7072119d27d091b3894860547673c2f6b224f61a.patch
@@ -0,0 +1,31 @@
+From 7072119d27d091b3894860547673c2f6b224f61a Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 12 Nov 2021 10:07:44 -0500
+Subject: Trac #29631: new spkg-configure.m4 for linbox.
+
+This is essentially the file posted as an attachment on Trac 29631 by
+Thierry Thomas. I've chosen to leave the lower bound at the latest
+v1.6.3, since in the intervening months most distributions appear to
+have updated.
+---
+ build/pkgs/linbox/spkg-configure.m4 | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+ create mode 100644 build/pkgs/linbox/spkg-configure.m4
+
+diff --git a/build/pkgs/linbox/spkg-configure.m4 b/build/pkgs/linbox/spkg-configure.m4
+new file mode 100644
+index 00000000..fbf405c
+--- /dev/null
++++ b/build/pkgs/linbox/spkg-configure.m4
+@@ -0,0 +1,8 @@
++SAGE_SPKG_CONFIGURE([linbox], [
++  SAGE_SPKG_DEPCHECK([fflas-ffpack flint fplll givaro gmp iml m4ri m4rie mpfr ntl], [
++    PKG_CHECK_MODULES([LINBOX],
++                      [linbox >= 1.6.3],
++                      [],
++                      [sage_spkg_install_linbox=yes])
++  ])
++])
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/patches/f5f7a86908daf60b25e66e6a189c51ada7e0a732.patch b/srcpkgs/sagemath/patches/trac-32797-f5f7a86908daf60b25e66e6a189c51ada7e0a732.patch
similarity index 100%
rename from srcpkgs/sagemath/patches/f5f7a86908daf60b25e66e6a189c51ada7e0a732.patch
rename to srcpkgs/sagemath/patches/trac-32797-f5f7a86908daf60b25e66e6a189c51ada7e0a732.patch
diff --git a/srcpkgs/sagemath/patches/17e308fd9d56d022ed28592f93f07ec8dce530ef.patch b/srcpkgs/sagemath/patches/trac-32880-17e308fd9d56d022ed28592f93f07ec8dce530ef.patch
similarity index 100%
rename from srcpkgs/sagemath/patches/17e308fd9d56d022ed28592f93f07ec8dce530ef.patch
rename to srcpkgs/sagemath/patches/trac-32880-17e308fd9d56d022ed28592f93f07ec8dce530ef.patch
diff --git a/srcpkgs/sagemath/patches/89b8754ad30c6a1bd1fdbd6d62011055bf13b24a.patch b/srcpkgs/sagemath/patches/trac-32892-89b8754ad30c6a1bd1fdbd6d62011055bf13b24a.patch
similarity index 100%
rename from srcpkgs/sagemath/patches/89b8754ad30c6a1bd1fdbd6d62011055bf13b24a.patch
rename to srcpkgs/sagemath/patches/trac-32892-89b8754ad30c6a1bd1fdbd6d62011055bf13b24a.patch
diff --git a/srcpkgs/sagemath/patches/2ee7b99e0270f80cf03b80418372f45274f46051.patch b/srcpkgs/sagemath/patches/trac-32905-2ee7b99e0270f80cf03b80418372f45274f46051.patch
similarity index 100%
rename from srcpkgs/sagemath/patches/2ee7b99e0270f80cf03b80418372f45274f46051.patch
rename to srcpkgs/sagemath/patches/trac-32905-2ee7b99e0270f80cf03b80418372f45274f46051.patch
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 622ee06d85b8..1ab0e9f7d65c 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -56,6 +56,10 @@ do_clean() {
 	rm -rf $wrksrc $_SAGE_ROOT
 }
 
+pre_configure() {
+	./bootstrap
+}
+
 # DISABLED pytest since it brings more harm than good
 # it seems currently all it does is to look for files matching
 # *_test.py and run pytest on those, but I don't think these are meant
@@ -79,8 +83,12 @@ do_install() {
 }
 
 do_check() {
+	TEST=--all
+	if [ -f ${XBPS_DISTDIR}/sagemath-check ] ; then
+		TEST="$(grep -v "^#" ${XBPS_DISTDIR}/sagemath-check)"
+	fi
 	# since make check will build the docs, run test like this instead
-	./sage -tp ${XBPS_MAKEJOBS} --all
+	./sage -tp ${XBPS_MAKEJOBS} ${TEST}
 }
 
 ### copied from sage-deps, to be kept in sync

From 44b03508e8ae01c55906fe0ef81cb68ba454f863 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 28 Nov 2021 00:32:26 -0300
Subject: [PATCH 09/39] sagemath: use system maxima

Also: add patch to use relative symlinks in gap where absolute symlinks
are now used -- otherwise xbps-create gets confused
---
 ...-spkg-install-make-symlinks-relative.patch |  27 +++
 .../patches/trac-32867-system-maxima.patch    | 174 ++++++++++++++++++
 srcpkgs/sagemath/template                     |   4 +-
 3 files changed, 204 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/sagemath/patches/0001-build-pkgs-gap-spkg-install-make-symlinks-relative.patch
 create mode 100644 srcpkgs/sagemath/patches/trac-32867-system-maxima.patch

diff --git a/srcpkgs/sagemath/patches/0001-build-pkgs-gap-spkg-install-make-symlinks-relative.patch b/srcpkgs/sagemath/patches/0001-build-pkgs-gap-spkg-install-make-symlinks-relative.patch
new file mode 100644
index 000000000000..c9feb870f2be
--- /dev/null
+++ b/srcpkgs/sagemath/patches/0001-build-pkgs-gap-spkg-install-make-symlinks-relative.patch
@@ -0,0 +1,27 @@
+From 521a9ec8d447be5bbd3a4260e7a5e0e4653e0c34 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Sun, 28 Nov 2021 18:57:34 -0300
+Subject: [PATCH] build/pkgs/gap/spkg-install: make symlinks relative
+
+---
+ build/pkgs/gap/spkg-install.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/build/pkgs/gap/spkg-install.in b/build/pkgs/gap/spkg-install.in
+index 32d1fb982c..2ceadf99db 100644
+--- a/build/pkgs/gap/spkg-install.in
++++ b/build/pkgs/gap/spkg-install.in
+@@ -80,8 +80,8 @@ chmod +x "$SAGE_DESTDIR$SAGE_BIN/gap"
+ 
+ # Create symlinks under $GAP_ROOT for these executables, as they are expected
+ # (especially when building kernel packages) to exist
+-ln -sf "$SAGE_BIN/gap-bin" "$DESTDIR_GAP_ROOT/gap"
+-ln -sf "$SAGE_BIN/gac" "$DESTDIR_GAP_ROOT/gac"
++ln -sf "../../bin/gap-bin" "$DESTDIR_GAP_ROOT/gap"
++ln -sf "../../bin/gac" "$DESTDIR_GAP_ROOT/gac"
+ 
+ # Fix the $GAP_ROOT/bin/<arch>/src symlink to be relative (otherwise it links
+ # to the actual path of the sources GAP was compiled from)
+-- 
+2.34.1
+
diff --git a/srcpkgs/sagemath/patches/trac-32867-system-maxima.patch b/srcpkgs/sagemath/patches/trac-32867-system-maxima.patch
new file mode 100644
index 000000000000..cb6517a388d8
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-32867-system-maxima.patch
@@ -0,0 +1,174 @@
+diff --git a/build/pkgs/ecl/spkg-configure.m4 b/build/pkgs/ecl/spkg-configure.m4
+index ae1e0ac5e1..7dbcfa6377 100644
+--- a/build/pkgs/ecl/spkg-configure.m4
++++ b/build/pkgs/ecl/spkg-configure.m4
+@@ -35,10 +35,7 @@ SAGE_SPKG_CONFIGURE([ecl], [
+     AC_SUBST(SAGE_ECL_CONFIG, [$ECL_CONFIG])
+   fi
+ 
+-  # Maxima cannot yet be provided by the system, so we always use
++  # Kenzo cannot yet be provided by the system, so we always use
+   # the SAGE_LOCAL path for now.
+-  AC_SUBST(SAGE_MAXIMA_FAS, ['${prefix}'/lib/ecl/maxima.fas])
+-
+-  # Likewise for the optional Kenzo SPKG
+   AC_SUBST(SAGE_KENZO_FAS, ['${prefix}'/lib/ecl/kenzo.fas])
+ ])
+diff --git a/build/pkgs/maxima/spkg-configure.m4 b/build/pkgs/maxima/spkg-configure.m4
+new file mode 100644
+index 0000000000..df625fecc4
+--- /dev/null
++++ b/build/pkgs/maxima/spkg-configure.m4
+@@ -0,0 +1,35 @@
++SAGE_SPKG_CONFIGURE([maxima], [
++  SAGE_SPKG_DEPCHECK([ecl], [
++    dnl First check for the "maxima" executable in the user's PATH, because
++    dnl we still use pexpect to communicate with it in a few places. We pass
++    dnl the "-l ecl" flag here to ensure that the standalone executable also
++    dnl supports ECL.
++    AC_MSG_CHECKING(if "maxima -l ecl" works)
++    AS_IF([! maxima -l ecl -q -r 'quit();' \
++             >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD], [
++      AC_MSG_RESULT(no)
++      sage_spkg_install_maxima=yes
++    ], [
++      AC_MSG_RESULT(yes)
++      dnl If we have the executable, check also for the ECL library.
++      AC_MSG_CHECKING([if ECL can "require" the maxima module])
++      AS_IF([ecl --eval "(require 'maxima)" --eval "(quit)" \
++               >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD], [
++        AC_MSG_RESULT(yes)
++      ], [
++	AC_MSG_RESULT(no)
++	sage_spkg_install_maxima=yes
++      ])
++    ])
++  ])
++],[],[],[
++  # post-check
++  AS_IF([test x$sage_spkg_install_maxima = xyes], [
++    dnl Leaving this variable empty will tell sagelib to load
++    dnl the maxima library (within ECL) by name instead of by
++    dnl absolute path.
++    SAGE_MAXIMA_FAS='${prefix}'/lib/ecl/maxima.fas
++  ])
++  AC_SUBST(SAGE_MAXIMA_FAS, "${SAGE_MAXIMA_FAS}")
++])
++
+diff --git a/pkgs/sage-conf/sage_conf.py.in b/pkgs/sage-conf/sage_conf.py.in
+index fbce6947de..8cda3ebfac 100644
+--- a/pkgs/sage-conf/sage_conf.py.in
++++ b/pkgs/sage-conf/sage_conf.py.in
+@@ -9,9 +9,8 @@ VERSION = "@PACKAGE_VERSION@"
+ SAGE_LOCAL = "@prefix@"
+ SAGE_ROOT = "@SAGE_ROOT@"
+ 
+-MAXIMA = "@prefix@/bin/maxima"
+-
+-# Delete this line if your ECL can load maxima without further prodding.
++# Set this to the empty string if your ECL can load maxima without
++# further prodding.
+ MAXIMA_FAS = "@SAGE_MAXIMA_FAS@".replace('${prefix}', SAGE_LOCAL)
+ 
+ # Delete this line if your ECL can load Kenzo without further prodding.
+diff --git a/src/bin/sage b/src/bin/sage
+index fcd263029d..54b69a1043 100755
+--- a/src/bin/sage
++++ b/src/bin/sage
+@@ -684,11 +684,7 @@ fi
+ 
+ if [ "$1" = '-maxima' -o "$1" = '--maxima' ]; then
+     shift
+-    maxima_cmd=$(sage-config MAXIMA 2>/dev/null)
+-    if [ -z "${maxima_cmd}" ]; then
+-        maxima_cmd="maxima -l ecl"
+-    fi
+-    exec $maxima_cmd "$@"
++    exec maxima -l ecl "$@"
+ fi
+ 
+ if [ "$1" = '-mwrank' -o "$1" = '--mwrank' ]; then
+diff --git a/src/bin/sage-env b/src/bin/sage-env
+index a0426df523..f0866b4b1b 100644
+--- a/src/bin/sage-env
++++ b/src/bin/sage-env
+@@ -482,9 +482,6 @@ if [ -d "$DOT_SAGE" ] ; then
+     fi
+ fi
+ 
+-if [ -n "$SAGE_LOCAL" ]; then
+-    export MAXIMA_PREFIX="$SAGE_LOCAL"
+-fi
+ export MAXIMA_USERDIR="$DOT_SAGE/maxima"
+ 
+ if [ -n "$SAGE_LOCAL" ]; then
+diff --git a/src/sage/env.py b/src/sage/env.py
+index 40ace135f0..95edc16081 100644
+--- a/src/sage/env.py
++++ b/src/sage/env.py
+@@ -207,7 +207,6 @@ MATHJAX_DIR = var("MATHJAX_DIR", join(SAGE_SHARE, "mathjax"))
+ MTXLIB = var("MTXLIB", join(SAGE_SHARE, "meataxe"))
+ THREEJS_DIR = var("THREEJS_DIR", join(SAGE_SHARE, "threejs-sage"))
+ PPLPY_DOCS = var("PPLPY_DOCS", join(SAGE_SHARE, "doc", "pplpy"))
+-MAXIMA = var("MAXIMA", "maxima")
+ MAXIMA_FAS = var("MAXIMA_FAS")
+ KENZO_FAS = var("KENZO_FAS")
+ SAGE_NAUTY_BINS_PREFIX = var("SAGE_NAUTY_BINS_PREFIX", "")
+diff --git a/src/sage/interfaces/maxima.py b/src/sage/interfaces/maxima.py
+index fc7f48bc05..7313c7d0d3 100644
+--- a/src/sage/interfaces/maxima.py
++++ b/src/sage/interfaces/maxima.py
+@@ -484,7 +484,6 @@ import shlex
+ 
+ from random import randrange
+ 
+-from sage.env import MAXIMA
+ from sage.misc.misc import ECL_TMP
+ 
+ from .expect import (Expect, ExpectElement, gc_disabled)
+@@ -558,7 +557,7 @@ class Maxima(MaximaAbstract, Expect):
+         Expect.__init__(self,
+                         name = 'maxima',
+                         prompt = r'\(\%i[0-9]+\) ',
+-                        command = '{0} -p {1}'.format(MAXIMA, shlex.quote(STARTUP)),
++                        command = 'maxima -l ecl -p {0}'.format(shlex.quote(STARTUP)),
+                         env = {'TMPDIR': str(ECL_TMP)},
+                         script_subdirectory = script_subdirectory,
+                         restart_on_ctrlc = False,
+diff --git a/src/sage/interfaces/maxima_abstract.py b/src/sage/interfaces/maxima_abstract.py
+index 917059de0a..c966a3c9a0 100644
+--- a/src/sage/interfaces/maxima_abstract.py
++++ b/src/sage/interfaces/maxima_abstract.py
+@@ -54,7 +54,7 @@ import re
+ import sys
+ import subprocess
+ 
+-from sage.env import DOT_SAGE, MAXIMA
++from sage.env import DOT_SAGE
+ COMMANDS_CACHE = '%s/maxima_commandlist_cache.sobj' % DOT_SAGE
+ 
+ from sage.cpython.string import bytes_to_str
+@@ -164,7 +164,7 @@ class MaximaAbstract(ExtraTabCompletion, Interface):
+             -- Function: gcd (<p_1>, <p_2>, <x_1>, ...)
+             ...
+         """
+-        cmd = '{} --very-quiet --batch-string="{}({});" '.format(MAXIMA, command, s)
++        cmd = 'maxima -l ecl --very-quiet --batch-string="{}({});" '.format(command, s)
+         env = os.environ.copy()
+         env['TMPDIR'] = str(ECL_TMP)
+ 
+@@ -2214,7 +2214,7 @@ def maxima_version():
+         sage: maxima_version()  # random
+         '5.41.0'
+     """
+-    with os.popen('{} --version'.format(MAXIMA)) as p:
++    with os.popen('maxima -l ecl --version') as p:
+         return p.read().split()[-1]
+ 
+ 
+@@ -2232,4 +2232,4 @@ def maxima_console():
+     from sage.repl.rich_output.display_manager import get_display_manager
+     if not get_display_manager().is_in_terminal():
+         raise RuntimeError('Can use the console only in the terminal. Try %%maxima magics instead.')
+-    os.system('{}'.format(MAXIMA))
++    os.system('maxima -l ecl')
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 1ab0e9f7d65c..7917e78cbdc6 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -11,7 +11,8 @@ make_build_target=build
 depends="giac git FlintQS zn_poly sympow
  pari-elldata-small pari-galdata pari-galpol-small pari-seadata-small
  flintlib-devel gsl-devel ntl-devel eclib-devel pari-devel mpfr-devel
- m4ri-devel gd-devel libpng-devel fflas-ffpack pkg-config gcc-fortran"
+ m4ri-devel gd-devel libpng-devel fflas-ffpack pkg-config gcc-fortran
+ maxima-ecl"
 short_desc="Open source mathematics software"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-3.0-or-later"
@@ -124,6 +125,7 @@ makedepends+="
  gengetopt texinfo
  brial-devel cliquer-devel gfan libbraiding-devel libhomfly-devel
  lrcalc-devel nauty-devel palp tachyon
+ maxima-ecl
 "
 
 # TODO: optional

From 076b21078750ce031c7255d522a86b121fb5010f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 11 Nov 2021 09:39:20 -0300
Subject: [PATCH 10/39] hooks: option to skip 03-rewrite-python-shebang

---
 common/hooks/pre-pkg/03-rewrite-python-shebang.sh | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/common/hooks/pre-pkg/03-rewrite-python-shebang.sh b/common/hooks/pre-pkg/03-rewrite-python-shebang.sh
index 07162ad2c69b..c0f2198e44cf 100644
--- a/common/hooks/pre-pkg/03-rewrite-python-shebang.sh
+++ b/common/hooks/pre-pkg/03-rewrite-python-shebang.sh
@@ -4,6 +4,10 @@
 hook() {
 	local pyver= shebang= off=
 
+	if [ -n "$_no_python_shebang" ]; then
+		return 0
+	fi
+
 	if [ -d ${PKGDESTDIR}/usr/lib/python* ]; then
 		pyver="$(find ${PKGDESTDIR}/usr/lib/python* -prune -type d | grep -o '[[:digit:]]\.[[:digit:]]\+$')"
 	fi

From 126c0d8887227cb2ab9f63ca55bc28f6eba7eef6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 4 Dec 2021 12:25:56 -0300
Subject: [PATCH 11/39] sagemath: don't rewrite python shebangs

This is still causing some issues, even if main sage and doctest works
ok with rewrite enabled, some scripts are broken as reported in the PR.

This is still a temporary workaround as we are hoping for system
python-3.10 support at some point.

Also in this commit: add some depends
---
 srcpkgs/sagemath/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 7917e78cbdc6..ede79e76b98d 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -12,7 +12,8 @@ depends="giac git FlintQS zn_poly sympow
  pari-elldata-small pari-galdata pari-galpol-small pari-seadata-small
  flintlib-devel gsl-devel ntl-devel eclib-devel pari-devel mpfr-devel
  m4ri-devel gd-devel libpng-devel fflas-ffpack pkg-config gcc-fortran
- maxima-ecl"
+ linbox-devel gfan nauty-devel palp tachyon maxima-ecl
+ "
 short_desc="Open source mathematics software"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-3.0-or-later"
@@ -43,8 +44,7 @@ nostrip=yes
 noshlibprovides=yes
 
 # don't rewrite python shebang as sage uses its own python (for now)
-# after python_version=3, this seems harmless... strange...
-#_no_python_shebang=yes
+_no_python_shebang=yes
 
 post_extract() {
 	# sage wants to be built in place so let $wrksrc be a symlink

From 74bbdbdcf286627014eee09e225e5a9ce92e32f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 9 Dec 2021 22:31:15 -0300
Subject: [PATCH 12/39] sagemath: change patch for cmdline args to disable
 dochtml testing

---
 .../sagemath/patches/skip-optional-dochtml.patch    | 13 -------------
 srcpkgs/sagemath/template                           |  4 +++-
 2 files changed, 3 insertions(+), 14 deletions(-)
 delete mode 100644 srcpkgs/sagemath/patches/skip-optional-dochtml.patch

diff --git a/srcpkgs/sagemath/patches/skip-optional-dochtml.patch b/srcpkgs/sagemath/patches/skip-optional-dochtml.patch
deleted file mode 100644
index e49b18a52fbc..000000000000
--- a/srcpkgs/sagemath/patches/skip-optional-dochtml.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/bin/sage-runtests b/src/bin/sage-runtests
-index 288c889bd1..b9a4d3038a 100755
---- a/src/bin/sage-runtests
-+++ b/src/bin/sage-runtests
-@@ -15,7 +15,7 @@ os.environ['SAGE_STARTUP_FILE'] = os.path.join(DOT_SAGE, 'init-doctests.sage')
- 
- def _get_optional_defaults():
-     """Return the default value for the --optional flag."""
--    optional = ['sage', 'dochtml', 'optional']
-+    optional = ['sage', 'optional']
- 
-     # This should be good-enough to determine if we are in a sage source
-     # repository working tree
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index ede79e76b98d..b009060232c0 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -88,8 +88,10 @@ do_check() {
 	if [ -f ${XBPS_DISTDIR}/sagemath-check ] ; then
 		TEST="$(grep -v "^#" ${XBPS_DISTDIR}/sagemath-check)"
 	fi
+	# the default is "sage,dochtml,optional,build", we skip dochtml
+	OPT="--optional sage,optional,build"
 	# since make check will build the docs, run test like this instead
-	./sage -tp ${XBPS_MAKEJOBS} ${TEST}
+	./sage -tp ${XBPS_MAKEJOBS} ${OPT} ${TEST}
 }
 
 ### copied from sage-deps, to be kept in sync

From 7ad19785e3284341aef8e48743b798e208a96608 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 13 Dec 2021 00:05:49 -0300
Subject: [PATCH 13/39] sagemath: update to 9.5.beta8.

---
 ...a86908daf60b25e66e6a189c51ada7e0a732.patch |  25 ----
 .../patches/trac-32828-fix-pyzmq.patch        | 134 ------------------
 ...754ad30c6a1bd1fdbd6d62011055bf13b24a.patch |  27 ----
 srcpkgs/sagemath/template                     |   6 +-
 4 files changed, 3 insertions(+), 189 deletions(-)
 delete mode 100644 srcpkgs/sagemath/patches/trac-32797-f5f7a86908daf60b25e66e6a189c51ada7e0a732.patch
 delete mode 100644 srcpkgs/sagemath/patches/trac-32828-fix-pyzmq.patch
 delete mode 100644 srcpkgs/sagemath/patches/trac-32892-89b8754ad30c6a1bd1fdbd6d62011055bf13b24a.patch

diff --git a/srcpkgs/sagemath/patches/trac-32797-f5f7a86908daf60b25e66e6a189c51ada7e0a732.patch b/srcpkgs/sagemath/patches/trac-32797-f5f7a86908daf60b25e66e6a189c51ada7e0a732.patch
deleted file mode 100644
index ec0467757ee7..000000000000
--- a/srcpkgs/sagemath/patches/trac-32797-f5f7a86908daf60b25e66e6a189c51ada7e0a732.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From f5f7a86908daf60b25e66e6a189c51ada7e0a732 Mon Sep 17 00:00:00 2001
-From: Antonio Rojas <arojas@archlinux.org>
-Date: Sat, 30 Oct 2021 10:21:52 +0200
-Subject: Fix test failure caused by new warning
-
----
- src/sage/lfunctions/pari.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/sage/lfunctions/pari.py b/src/sage/lfunctions/pari.py
-index 0aaf91c..33d5266 100644
---- a/src/sage/lfunctions/pari.py
-+++ b/src/sage/lfunctions/pari.py
-@@ -316,7 +316,7 @@ def lfun_number_field(K):
-         sage: L(3)
-         1.15202784126080
-         sage: L(0)
--        0.000000000000000
-+        ...0.000000000000000
-     """
-     return pari.lfuncreate(K)
- 
--- 
-cgit v1.0-1-gd88e
-
diff --git a/srcpkgs/sagemath/patches/trac-32828-fix-pyzmq.patch b/srcpkgs/sagemath/patches/trac-32828-fix-pyzmq.patch
deleted file mode 100644
index 426932c95c9b..000000000000
--- a/srcpkgs/sagemath/patches/trac-32828-fix-pyzmq.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-diff --git a/build/pkgs/pyzmq/checksums.ini b/build/pkgs/pyzmq/checksums.ini
-index 3824fd2ce9..20509db618 100644
---- a/build/pkgs/pyzmq/checksums.ini
-+++ b/build/pkgs/pyzmq/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=pyzmq-VERSION.tar.gz
--sha1=50abf6482a6395f15dce0b2774021e12c9f4faad
--md5=f261acf884460e93d30f7113c8e9242e
--cksum=1661206741
-+sha1=d8bb8cb345c0bfd9e67a95ac796bf4b10354dde6
-+md5=ecf13c72fbea05ba5ddc771295409d48
-+cksum=1680251717
- upstream_url=https://pypi.io/packages/source/p/pyzmq/pyzmq-VERSION.tar.gz
-diff --git a/build/pkgs/pyzmq/package-version.txt b/build/pkgs/pyzmq/package-version.txt
-index 0398faf11c..8326e27f9b 100644
---- a/build/pkgs/pyzmq/package-version.txt
-+++ b/build/pkgs/pyzmq/package-version.txt
-@@ -1 +1 @@
--22.2.1
-+22.3.0
-diff --git a/build/pkgs/pyzmq/spkg-install.in b/build/pkgs/pyzmq/spkg-install.in
-index 0ce404ee5a..069d87767f 100644
---- a/build/pkgs/pyzmq/spkg-install.in
-+++ b/build/pkgs/pyzmq/spkg-install.in
-@@ -1,17 +1,11 @@
--# Since we use environment vars we have to generate setup.cfg
--
--echo "[build_ext]" > src/setup.cfg
--
--# (I tried putting quotes around $SAGE_LOCAL to allow for spaces in
--# the path---which is never used but is a good habit to support---but
--# that simply does not work. Sorry.)
--
--echo "library_dirs = $SAGE_LOCAL/lib/" >> src/setup.cfg
--echo "include_dirs = $SAGE_LOCAL/include/" >> src/setup.cfg
--
--echo "[configure]" >> src/setup.cfg
--
- cd src
- 
-+# Generate setup.cfg
-+cat > setup.cfg <<EOF
-+[global]
-+zmq_prefix = $SAGE_LOCAL
-+no_libzmq_extension = True
-+EOF
-+
- # Configure and install
- sdh_pip_install .
-diff --git a/build/pkgs/setuptools/checksums.ini b/build/pkgs/setuptools/checksums.ini
-index 6a280871e7..d9290d04ff 100644
---- a/build/pkgs/setuptools/checksums.ini
-+++ b/build/pkgs/setuptools/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=setuptools-VERSION.tar.gz
--sha1=5d97de0e774b2269c85685a4aa8fd5956bcfd2bb
--md5=ff20ab7e0d51c5ad0a9438c50e598c06
--cksum=3564252314
-+sha1=cd4e5d1f7c47f86354fc89d040d869cde244da3b
-+md5=79b36f59270a6f2e45d6a9a0c6dc68c1
-+cksum=430889097
- upstream_url=https://pypi.io/packages/source/s/setuptools/setuptools-VERSION.tar.gz
-diff --git a/build/pkgs/setuptools/package-version.txt b/build/pkgs/setuptools/package-version.txt
-index e6ea636051..aec1257e4c 100644
---- a/build/pkgs/setuptools/package-version.txt
-+++ b/build/pkgs/setuptools/package-version.txt
-@@ -1 +1 @@
--58.2.0
-+59.2.0
-diff --git a/build/pkgs/zeromq/checksums.ini b/build/pkgs/zeromq/checksums.ini
-index ea8c36bce5..dc802612dd 100644
---- a/build/pkgs/zeromq/checksums.ini
-+++ b/build/pkgs/zeromq/checksums.ini
-@@ -1,4 +1,5 @@
- tarball=zeromq-VERSION.tar.gz
--sha1=1132f839d703486c4ee1cf22f056585dfbb329c2
--md5=a1c95b34384257e986842f4d006957b8
--cksum=136261411
-+sha1=47277a64749049123d1401600e8cfbab10a3ae28
-+md5=c897d4005a3f0b8276b00b7921412379
-+cksum=1500782345
-+upstream_url=https://github.com/zeromq/libzmq/releases/download/vVERSION/zeromq-VERSION.tar.gz
-diff --git a/build/pkgs/zeromq/package-version.txt b/build/pkgs/zeromq/package-version.txt
-index df0228dfae..eda862a98c 100644
---- a/build/pkgs/zeromq/package-version.txt
-+++ b/build/pkgs/zeromq/package-version.txt
-@@ -1 +1 @@
--4.2.5
-+4.3.4
-diff --git a/build/pkgs/zeromq/patches/getrandom.patch b/build/pkgs/zeromq/patches/getrandom.patch
-deleted file mode 100644
-index e665114e1c..0000000000
---- a/build/pkgs/zeromq/patches/getrandom.patch
-+++ /dev/null
-@@ -1,39 +0,0 @@
--Patch taken from upstream git repo
--and after running aclocal && autoconf
--and removing changes to autotools input files
--
--commit 4ff814f204ee38177a392526cf12c8c0019b480f
--Author: Luca Boccassi <luca.boccassi@gmail.com>
--Date:   Wed May 9 10:41:20 2018 +0100
--
--    Problem: getrandom test does not check if it's working
--
--    Solution: check return value in autoconf and CMake. On some platforms
--    the function is available but not implemented (eg: GNU/Hurd).
--
--diff -ru zeromq-4.2.5//builds/cmake/Modules/ZMQSourceRunChecks.cmake b/builds/cmake/Modules/ZMQSourceRunChecks.cmake
----- zeromq-4.2.5//builds/cmake/Modules/ZMQSourceRunChecks.cmake	2018-03-23 20:33:36.000000000 +0100
--+++ b/builds/cmake/Modules/ZMQSourceRunChecks.cmake	2018-07-24 12:39:23.340035053 +0200
--@@ -287,7 +287,8 @@
-- int main (int argc, char *argv [])
-- {
--     char buf[4];
---    getrandom(buf, 4, 0);
--+    int rc = getrandom(buf, 4, 0);
--+    return rc == -1 ? 1 : 0;
-- }
-- "
--     ZMQ_HAVE_GETRANDOM)
--diff -ru zeromq-4.2.5//configure b/configure
----- zeromq-4.2.5//configure	2018-03-23 20:34:18.000000000 +0100
--+++ b/configure	2018-07-24 12:39:49.018035120 +0200
--@@ -23315,7 +23315,8 @@
-- int main (int argc, char *argv [])
-- {
--     char buf[4];
---    getrandom(buf, 4, 0);
--+    int rc = getrandom(buf, 4, 0);
--+    return rc == -1 ? 1 : 0;
-- }
-- 
-- _ACEOF
diff --git a/srcpkgs/sagemath/patches/trac-32892-89b8754ad30c6a1bd1fdbd6d62011055bf13b24a.patch b/srcpkgs/sagemath/patches/trac-32892-89b8754ad30c6a1bd1fdbd6d62011055bf13b24a.patch
deleted file mode 100644
index ea05b2b6a524..000000000000
--- a/srcpkgs/sagemath/patches/trac-32892-89b8754ad30c6a1bd1fdbd6d62011055bf13b24a.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 89b8754ad30c6a1bd1fdbd6d62011055bf13b24a Mon Sep 17 00:00:00 2001
-From: Tobias Diez <code@tobiasdiez.com>
-Date: Wed, 17 Nov 2021 22:24:32 +0100
-Subject: Fix exit code for pytest in case of no matched files
-
----
- src/bin/sage-runtests | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/bin/sage-runtests b/src/bin/sage-runtests
-index 882456d..8b362ca 100755
---- a/src/bin/sage-runtests
-+++ b/src/bin/sage-runtests
-@@ -157,6 +157,10 @@ if __name__ == "__main__":
-         if args.verbose:
-             pytest_options.append("-v")
-         exit_code_pytest = pytest.main(pytest_options + args.filenames)
-+        if exit_code_pytest == 5:
-+            # Exit code 5 means there were no test files, pass in this case
-+            exit_code_pytest = 0
-+
-     except ModuleNotFoundError:
-         print("Pytest is not installed, skip checking tests that rely on it.")
- 
--- 
-cgit v1.0-1-gd88e
-
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index b009060232c0..a1f08000669a 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -1,6 +1,6 @@
 # Template file for 'sagemath'
 pkgname=sagemath
-version=9.5.beta7
+version=9.5.beta8
 revision=1
 wrksrc=sage-$version
 build_style=configure
@@ -19,7 +19,7 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-3.0-or-later"
 homepage="http://sagemath.org/"
 distfiles="https://mirrors.mit.edu/sage/src/sage-$version.tar.gz"
-checksum=b81e1fe22d1b990bf1230260241ead016470da1f2f7b260f562d50f74c2904c7
+checksum=124f3d23ce6442ecc84ed98e3c035e0d00c8261c3125712e4742c32e731d13de
 python_version=3
 
 # path where sage will be installed
@@ -112,7 +112,7 @@ makedepends+=" cmake curl git ninja pandoc patch pkg-config python3 tox"
 makedepends+="
  CoinMP-devel R arb-devel boost-devel bzip2-devel ecl eclib-devel
  ecm-devel flintlib-devel freetype-devel gc-devel gd-devel giac-devel
- glpk-devel gmp-devel gmpxx-devel gp2c graphviz gsl-devel isl-devel
+ glpk-devel gmp-devel gmpxx-devel gp2c graphviz-devel gsl-devel isl-devel
  libatomic_ops-devel libcurl-devel libffi-devel libmpc-devel
  libpng-devel libxml2-devel mpfr-devel ncurses-devel openblas-devel
  pari-devel pari-elldata-small pari-galdata pari-galpol-small

From 026889d8962ccb9eb2a5e2b153b6785fd42ade8e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 19 Dec 2021 10:42:01 -0300
Subject: [PATCH 14/39] sagemath: more changes

 - cleanup and rename some patches
 - make symlink relative so it works ok outside the chroot
 - add graphviz to depends (not implied by graphviz-devel)
 - add primecount and primesieve to depends
---
 ...3e88ee188d516e4956832a23f985a73917a.patch} |   2 +-
 ...ea979d4bfa1a26ef3b08a29ca626b83b6ff5.patch |  23 ++
 ...ba734cb4ded0b04165fa142b5cf4c38fd23.patch} | 233 ++++++++++++------
 srcpkgs/sagemath/template                     |   8 +-
 4 files changed, 181 insertions(+), 85 deletions(-)
 rename srcpkgs/sagemath/patches/{trac-29631-7072119d27d091b3894860547673c2f6b224f61a.patch => trac-29631-001-system_linbox-794713e88ee188d516e4956832a23f985a73917a.patch} (94%)
 create mode 100644 srcpkgs/sagemath/patches/trac-29631-002-system_linbox-7e16ea979d4bfa1a26ef3b08a29ca626b83b6ff5.patch
 rename srcpkgs/sagemath/patches/{trac-32867-system-maxima.patch => trac-32867-system_maxima-ed39aba734cb4ded0b04165fa142b5cf4c38fd23.patch} (66%)

diff --git a/srcpkgs/sagemath/patches/trac-29631-7072119d27d091b3894860547673c2f6b224f61a.patch b/srcpkgs/sagemath/patches/trac-29631-001-system_linbox-794713e88ee188d516e4956832a23f985a73917a.patch
similarity index 94%
rename from srcpkgs/sagemath/patches/trac-29631-7072119d27d091b3894860547673c2f6b224f61a.patch
rename to srcpkgs/sagemath/patches/trac-29631-001-system_linbox-794713e88ee188d516e4956832a23f985a73917a.patch
index 8154c2453c15..483dbe2c2597 100644
--- a/srcpkgs/sagemath/patches/trac-29631-7072119d27d091b3894860547673c2f6b224f61a.patch
+++ b/srcpkgs/sagemath/patches/trac-29631-001-system_linbox-794713e88ee188d516e4956832a23f985a73917a.patch
@@ -1,4 +1,4 @@
-From 7072119d27d091b3894860547673c2f6b224f61a Mon Sep 17 00:00:00 2001
+From 794713e88ee188d516e4956832a23f985a73917a Mon Sep 17 00:00:00 2001
 From: Michael Orlitzky <michael@orlitzky.com>
 Date: Fri, 12 Nov 2021 10:07:44 -0500
 Subject: Trac #29631: new spkg-configure.m4 for linbox.
diff --git a/srcpkgs/sagemath/patches/trac-29631-002-system_linbox-7e16ea979d4bfa1a26ef3b08a29ca626b83b6ff5.patch b/srcpkgs/sagemath/patches/trac-29631-002-system_linbox-7e16ea979d4bfa1a26ef3b08a29ca626b83b6ff5.patch
new file mode 100644
index 000000000000..3b20d13100e7
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-29631-002-system_linbox-7e16ea979d4bfa1a26ef3b08a29ca626b83b6ff5.patch
@@ -0,0 +1,23 @@
+From 7e16ea979d4bfa1a26ef3b08a29ca626b83b6ff5 Mon Sep 17 00:00:00 2001
+From: Dima Pasechnik <dima@pasechnik.info>
+Date: Sun, 5 Dec 2021 10:59:34 +0000
+Subject: correct the package name: `-`->`_`
+
+---
+ build/pkgs/linbox/spkg-configure.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build/pkgs/linbox/spkg-configure.m4 b/build/pkgs/linbox/spkg-configure.m4
+index fbf405c..f54b210 100644
+--- a/build/pkgs/linbox/spkg-configure.m4
++++ b/build/pkgs/linbox/spkg-configure.m4
+@@ -1,5 +1,5 @@
+ SAGE_SPKG_CONFIGURE([linbox], [
+-  SAGE_SPKG_DEPCHECK([fflas-ffpack flint fplll givaro gmp iml m4ri m4rie mpfr ntl], [
++  SAGE_SPKG_DEPCHECK([fflas_ffpack flint fplll givaro gmp iml m4ri m4rie mpfr ntl], [
+     PKG_CHECK_MODULES([LINBOX],
+                       [linbox >= 1.6.3],
+                       [],
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/patches/trac-32867-system-maxima.patch b/srcpkgs/sagemath/patches/trac-32867-system_maxima-ed39aba734cb4ded0b04165fa142b5cf4c38fd23.patch
similarity index 66%
rename from srcpkgs/sagemath/patches/trac-32867-system-maxima.patch
rename to srcpkgs/sagemath/patches/trac-32867-system_maxima-ed39aba734cb4ded0b04165fa142b5cf4c38fd23.patch
index cb6517a388d8..8edbde0ce76f 100644
--- a/srcpkgs/sagemath/patches/trac-32867-system-maxima.patch
+++ b/srcpkgs/sagemath/patches/trac-32867-system_maxima-ed39aba734cb4ded0b04165fa142b5cf4c38fd23.patch
@@ -1,78 +1,66 @@
-diff --git a/build/pkgs/ecl/spkg-configure.m4 b/build/pkgs/ecl/spkg-configure.m4
-index ae1e0ac5e1..7dbcfa6377 100644
---- a/build/pkgs/ecl/spkg-configure.m4
-+++ b/build/pkgs/ecl/spkg-configure.m4
-@@ -35,10 +35,7 @@ SAGE_SPKG_CONFIGURE([ecl], [
-     AC_SUBST(SAGE_ECL_CONFIG, [$ECL_CONFIG])
-   fi
+From ab5400040fcf3a1061229afb3ab81f26fef0858d Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 12 Nov 2021 21:33:39 -0500
+Subject: Trac #32867: don't export MAXIMA_PREFIX.
+
+This should work automatically, and the previous behavior is
+incorrect if we intend to use the system copy of maxima.
+---
+ src/bin/sage-env | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/src/bin/sage-env b/src/bin/sage-env
+index a0426df..f0866b4 100644
+--- a/src/bin/sage-env
++++ b/src/bin/sage-env
+@@ -482,9 +482,6 @@ if [ -d "$DOT_SAGE" ] ; then
+     fi
+ fi
  
--  # Maxima cannot yet be provided by the system, so we always use
-+  # Kenzo cannot yet be provided by the system, so we always use
-   # the SAGE_LOCAL path for now.
--  AC_SUBST(SAGE_MAXIMA_FAS, ['${prefix}'/lib/ecl/maxima.fas])
--
--  # Likewise for the optional Kenzo SPKG
-   AC_SUBST(SAGE_KENZO_FAS, ['${prefix}'/lib/ecl/kenzo.fas])
- ])
-diff --git a/build/pkgs/maxima/spkg-configure.m4 b/build/pkgs/maxima/spkg-configure.m4
-new file mode 100644
-index 0000000000..df625fecc4
---- /dev/null
-+++ b/build/pkgs/maxima/spkg-configure.m4
-@@ -0,0 +1,35 @@
-+SAGE_SPKG_CONFIGURE([maxima], [
-+  SAGE_SPKG_DEPCHECK([ecl], [
-+    dnl First check for the "maxima" executable in the user's PATH, because
-+    dnl we still use pexpect to communicate with it in a few places. We pass
-+    dnl the "-l ecl" flag here to ensure that the standalone executable also
-+    dnl supports ECL.
-+    AC_MSG_CHECKING(if "maxima -l ecl" works)
-+    AS_IF([! maxima -l ecl -q -r 'quit();' \
-+             >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD], [
-+      AC_MSG_RESULT(no)
-+      sage_spkg_install_maxima=yes
-+    ], [
-+      AC_MSG_RESULT(yes)
-+      dnl If we have the executable, check also for the ECL library.
-+      AC_MSG_CHECKING([if ECL can "require" the maxima module])
-+      AS_IF([ecl --eval "(require 'maxima)" --eval "(quit)" \
-+               >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD], [
-+        AC_MSG_RESULT(yes)
-+      ], [
-+	AC_MSG_RESULT(no)
-+	sage_spkg_install_maxima=yes
-+      ])
-+    ])
-+  ])
-+],[],[],[
-+  # post-check
-+  AS_IF([test x$sage_spkg_install_maxima = xyes], [
-+    dnl Leaving this variable empty will tell sagelib to load
-+    dnl the maxima library (within ECL) by name instead of by
-+    dnl absolute path.
-+    SAGE_MAXIMA_FAS='${prefix}'/lib/ecl/maxima.fas
-+  ])
-+  AC_SUBST(SAGE_MAXIMA_FAS, "${SAGE_MAXIMA_FAS}")
-+])
-+
+-if [ -n "$SAGE_LOCAL" ]; then
+-    export MAXIMA_PREFIX="$SAGE_LOCAL"
+-fi
+ export MAXIMA_USERDIR="$DOT_SAGE/maxima"
+ 
+ if [ -n "$SAGE_LOCAL" ]; then
+-- 
+cgit v1.0-1-gd88e
+
+
+From 0e29761fbd23736d8d9acd235e4fa2de839df6a4 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 12 Nov 2021 21:13:21 -0500
+Subject: Trac #32867: remove the MAXIMA sage_conf variable.
+
+Until now, the MAXIMA variable held the name of the main maxima
+executable. But there really is no reason to use anything other
+than "maxima -l ecl", which works in all cases. This commit
+replaces the variable with the hard-coded value. This simplifies
+the use of maxima from the system because we no longer need to
+set sage_conf.MAXIMA to any particular value during ./configure.
+---
+ pkgs/sage-conf/sage_conf.py.in         | 2 --
+ src/bin/sage                           | 6 +-----
+ src/sage/env.py                        | 1 -
+ src/sage/interfaces/maxima.py          | 3 +--
+ src/sage/interfaces/maxima_abstract.py | 8 ++++----
+ 5 files changed, 6 insertions(+), 14 deletions(-)
+
 diff --git a/pkgs/sage-conf/sage_conf.py.in b/pkgs/sage-conf/sage_conf.py.in
-index fbce6947de..8cda3ebfac 100644
+index fbce694..b40cda6 100644
 --- a/pkgs/sage-conf/sage_conf.py.in
 +++ b/pkgs/sage-conf/sage_conf.py.in
-@@ -9,9 +9,8 @@ VERSION = "@PACKAGE_VERSION@"
+@@ -9,8 +9,6 @@ VERSION = "@PACKAGE_VERSION@"
  SAGE_LOCAL = "@prefix@"
  SAGE_ROOT = "@SAGE_ROOT@"
  
 -MAXIMA = "@prefix@/bin/maxima"
 -
--# Delete this line if your ECL can load maxima without further prodding.
-+# Set this to the empty string if your ECL can load maxima without
-+# further prodding.
+ # Delete this line if your ECL can load maxima without further prodding.
  MAXIMA_FAS = "@SAGE_MAXIMA_FAS@".replace('${prefix}', SAGE_LOCAL)
  
- # Delete this line if your ECL can load Kenzo without further prodding.
 diff --git a/src/bin/sage b/src/bin/sage
-index fcd263029d..54b69a1043 100755
+index fcd2630..54b69a1 100755
 --- a/src/bin/sage
 +++ b/src/bin/sage
 @@ -684,11 +684,7 @@ fi
@@ -88,22 +76,8 @@ index fcd263029d..54b69a1043 100755
  fi
  
  if [ "$1" = '-mwrank' -o "$1" = '--mwrank' ]; then
-diff --git a/src/bin/sage-env b/src/bin/sage-env
-index a0426df523..f0866b4b1b 100644
---- a/src/bin/sage-env
-+++ b/src/bin/sage-env
-@@ -482,9 +482,6 @@ if [ -d "$DOT_SAGE" ] ; then
-     fi
- fi
- 
--if [ -n "$SAGE_LOCAL" ]; then
--    export MAXIMA_PREFIX="$SAGE_LOCAL"
--fi
- export MAXIMA_USERDIR="$DOT_SAGE/maxima"
- 
- if [ -n "$SAGE_LOCAL" ]; then
 diff --git a/src/sage/env.py b/src/sage/env.py
-index 40ace135f0..95edc16081 100644
+index 40ace13..95edc16 100644
 --- a/src/sage/env.py
 +++ b/src/sage/env.py
 @@ -207,7 +207,6 @@ MATHJAX_DIR = var("MATHJAX_DIR", join(SAGE_SHARE, "mathjax"))
@@ -115,7 +89,7 @@ index 40ace135f0..95edc16081 100644
  KENZO_FAS = var("KENZO_FAS")
  SAGE_NAUTY_BINS_PREFIX = var("SAGE_NAUTY_BINS_PREFIX", "")
 diff --git a/src/sage/interfaces/maxima.py b/src/sage/interfaces/maxima.py
-index fc7f48bc05..7313c7d0d3 100644
+index fc7f48b..7313c7d 100644
 --- a/src/sage/interfaces/maxima.py
 +++ b/src/sage/interfaces/maxima.py
 @@ -484,7 +484,6 @@ import shlex
@@ -136,7 +110,7 @@ index fc7f48bc05..7313c7d0d3 100644
                          script_subdirectory = script_subdirectory,
                          restart_on_ctrlc = False,
 diff --git a/src/sage/interfaces/maxima_abstract.py b/src/sage/interfaces/maxima_abstract.py
-index 917059de0a..c966a3c9a0 100644
+index 917059d..c966a3c 100644
 --- a/src/sage/interfaces/maxima_abstract.py
 +++ b/src/sage/interfaces/maxima_abstract.py
 @@ -54,7 +54,7 @@ import re
@@ -172,3 +146,102 @@ index 917059de0a..c966a3c9a0 100644
          raise RuntimeError('Can use the console only in the terminal. Try %%maxima magics instead.')
 -    os.system('{}'.format(MAXIMA))
 +    os.system('maxima -l ecl')
+-- 
+cgit v1.0-1-gd88e
+
+
+From 88992bfae6d2aba0819b8cd67ae36621a5873b38 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 12 Nov 2021 20:51:28 -0500
+Subject: Trac #32867: new spkg-configure.m4 for maxima.
+
+This new spkg-configure.m4 checks for both a "maxima" executable, and
+the usability of a "maxima" package by ECL. (The latter requires a
+patched maxima until a new release with commit a0d7a43e523 is made.)
+Notably absent for the moment is a version check, but feature testing
+is moot until we decide what to do about matrixexp.patch.
+
+This commit also moves the SAGE_MAXIMA_FAS variable handling from
+ECL's spkg-configure.m4 to maxima's (where it would have belonged in
+the first place, if maxima had an spkg-configure.m4 at the time.)
+---
+ build/pkgs/ecl/spkg-configure.m4    |  5 +----
+ build/pkgs/maxima/spkg-configure.m4 | 35 +++++++++++++++++++++++++++++++++++
+ pkgs/sage-conf/sage_conf.py.in      |  3 ++-
+ 3 files changed, 38 insertions(+), 5 deletions(-)
+ create mode 100644 build/pkgs/maxima/spkg-configure.m4
+
+diff --git a/build/pkgs/ecl/spkg-configure.m4 b/build/pkgs/ecl/spkg-configure.m4
+index ae1e0ac..7dbcfa6 100644
+--- a/build/pkgs/ecl/spkg-configure.m4
++++ b/build/pkgs/ecl/spkg-configure.m4
+@@ -35,10 +35,7 @@ SAGE_SPKG_CONFIGURE([ecl], [
+     AC_SUBST(SAGE_ECL_CONFIG, [$ECL_CONFIG])
+   fi
+ 
+-  # Maxima cannot yet be provided by the system, so we always use
++  # Kenzo cannot yet be provided by the system, so we always use
+   # the SAGE_LOCAL path for now.
+-  AC_SUBST(SAGE_MAXIMA_FAS, ['${prefix}'/lib/ecl/maxima.fas])
+-
+-  # Likewise for the optional Kenzo SPKG
+   AC_SUBST(SAGE_KENZO_FAS, ['${prefix}'/lib/ecl/kenzo.fas])
+ ])
+diff --git a/build/pkgs/maxima/spkg-configure.m4 b/build/pkgs/maxima/spkg-configure.m4
+new file mode 100644
+index 00000000..df625fe
+--- /dev/null
++++ b/build/pkgs/maxima/spkg-configure.m4
+@@ -0,0 +1,35 @@
++SAGE_SPKG_CONFIGURE([maxima], [
++  SAGE_SPKG_DEPCHECK([ecl], [
++    dnl First check for the "maxima" executable in the user's PATH, because
++    dnl we still use pexpect to communicate with it in a few places. We pass
++    dnl the "-l ecl" flag here to ensure that the standalone executable also
++    dnl supports ECL.
++    AC_MSG_CHECKING(if "maxima -l ecl" works)
++    AS_IF([! maxima -l ecl -q -r 'quit();' \
++             >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD], [
++      AC_MSG_RESULT(no)
++      sage_spkg_install_maxima=yes
++    ], [
++      AC_MSG_RESULT(yes)
++      dnl If we have the executable, check also for the ECL library.
++      AC_MSG_CHECKING([if ECL can "require" the maxima module])
++      AS_IF([ecl --eval "(require 'maxima)" --eval "(quit)" \
++               >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD], [
++        AC_MSG_RESULT(yes)
++      ], [
++	AC_MSG_RESULT(no)
++	sage_spkg_install_maxima=yes
++      ])
++    ])
++  ])
++],[],[],[
++  # post-check
++  AS_IF([test x$sage_spkg_install_maxima = xyes], [
++    dnl Leaving this variable empty will tell sagelib to load
++    dnl the maxima library (within ECL) by name instead of by
++    dnl absolute path.
++    SAGE_MAXIMA_FAS='${prefix}'/lib/ecl/maxima.fas
++  ])
++  AC_SUBST(SAGE_MAXIMA_FAS, "${SAGE_MAXIMA_FAS}")
++])
++
+diff --git a/pkgs/sage-conf/sage_conf.py.in b/pkgs/sage-conf/sage_conf.py.in
+index b40cda6..8cda3eb 100644
+--- a/pkgs/sage-conf/sage_conf.py.in
++++ b/pkgs/sage-conf/sage_conf.py.in
+@@ -9,7 +9,8 @@ VERSION = "@PACKAGE_VERSION@"
+ SAGE_LOCAL = "@prefix@"
+ SAGE_ROOT = "@SAGE_ROOT@"
+ 
+-# Delete this line if your ECL can load maxima without further prodding.
++# Set this to the empty string if your ECL can load maxima without
++# further prodding.
+ MAXIMA_FAS = "@SAGE_MAXIMA_FAS@".replace('${prefix}', SAGE_LOCAL)
+ 
+ # Delete this line if your ECL can load Kenzo without further prodding.
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index a1f08000669a..7764899e557f 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -50,7 +50,7 @@ post_extract() {
 	# sage wants to be built in place so let $wrksrc be a symlink
 	rm -rf $_SAGE_ROOT
 	mv -T $wrksrc $_SAGE_ROOT
-	ln -sfT $_SAGE_ROOT $wrksrc
+	ln -srfT $_SAGE_ROOT $wrksrc
 }
 
 do_clean() {
@@ -112,8 +112,8 @@ makedepends+=" cmake curl git ninja pandoc patch pkg-config python3 tox"
 makedepends+="
  CoinMP-devel R arb-devel boost-devel bzip2-devel ecl eclib-devel
  ecm-devel flintlib-devel freetype-devel gc-devel gd-devel giac-devel
- glpk-devel gmp-devel gmpxx-devel gp2c graphviz-devel gsl-devel isl-devel
- libatomic_ops-devel libcurl-devel libffi-devel libmpc-devel
+ glpk-devel gmp-devel gmpxx-devel gp2c graphviz graphviz-devel gsl-devel
+ isl-devel libatomic_ops-devel libcurl-devel libffi-devel libmpc-devel
  libpng-devel libxml2-devel mpfr-devel ncurses-devel openblas-devel
  pari-devel pari-elldata-small pari-galdata pari-galpol-small
  pari-seadata pcre-devel perl-File-Slurp perl-JSON perl-Term-ReadKey
@@ -127,7 +127,7 @@ makedepends+="
  gengetopt texinfo
  brial-devel cliquer-devel gfan libbraiding-devel libhomfly-devel
  lrcalc-devel nauty-devel palp tachyon
- maxima-ecl
+ maxima-ecl primesieve-devel primecount-devel
 "
 
 # TODO: optional

From 1684a2f508021db3f9bae4d6a5d1dc65d6d1a7e9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 19 Dec 2021 13:48:48 -0300
Subject: [PATCH 15/39] sagemath: use system python 3.10

---
 ...3996062c71a9326aafddaf465f6a56b40fe0.patch |  886 ++++++++++++
 ...f82f52b6f05f512cb359ec7c100f93cf8841.patch |  128 ++
 ...77cfadd7b3872ad6f7001fe84fb7568c947c.patch |   84 ++
 ...a54526829b79d5d236a40f83ddc6ce7b2696.patch | 1196 +++++++++++++++++
 srcpkgs/sagemath/template                     |   78 ++
 5 files changed, 2372 insertions(+)
 create mode 100644 srcpkgs/sagemath/patches/trac-30766-system_python_3.10-b5c73996062c71a9326aafddaf465f6a56b40fe0.patch
 create mode 100644 srcpkgs/sagemath/patches/trac-32968-update_sphinx_to_4.3.1-fc84f82f52b6f05f512cb359ec7c100f93cf8841.patch
 create mode 100644 srcpkgs/sagemath/patches/trac-33020-update_ipykernel_to_6.6.0-715277cfadd7b3872ad6f7001fe84fb7568c947c.patch
 create mode 100644 srcpkgs/sagemath/patches/trac-33040-update_matplotlib_to_3.5-d865a54526829b79d5d236a40f83ddc6ce7b2696.patch

diff --git a/srcpkgs/sagemath/patches/trac-30766-system_python_3.10-b5c73996062c71a9326aafddaf465f6a56b40fe0.patch b/srcpkgs/sagemath/patches/trac-30766-system_python_3.10-b5c73996062c71a9326aafddaf465f6a56b40fe0.patch
new file mode 100644
index 000000000000..eb9b0c3f6672
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-30766-system_python_3.10-b5c73996062c71a9326aafddaf465f6a56b40fe0.patch
@@ -0,0 +1,886 @@
+From fe947f3c9a6109b92dd4c19dda795ceb01c6f9a7 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Wed, 24 Nov 2021 18:23:16 -0800
+Subject: build/pkgs/ipython: Update to 7.29.0
+
+---
+ build/pkgs/ipython/checksums.ini       | 6 +++---
+ build/pkgs/ipython/package-version.txt | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/build/pkgs/ipython/checksums.ini b/build/pkgs/ipython/checksums.ini
+index aa743ea..03da012 100644
+--- a/build/pkgs/ipython/checksums.ini
++++ b/build/pkgs/ipython/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=ipython-VERSION.tar.gz
+-sha1=a64001602601a4a7917a32b496543153f82dd65a
+-md5=e28a91669dc8b86569a99abed2c67f08
+-cksum=4064786540
++sha1=05165e7fdcebde908aa6b65892ef230795a01e6b
++md5=159340b8ba158386f938a8b882749fed
++cksum=1960065579
+ upstream_url=https://pypi.io/packages/source/i/ipython/ipython-VERSION.tar.gz
+diff --git a/build/pkgs/ipython/package-version.txt b/build/pkgs/ipython/package-version.txt
+index f6b1800..d88eca0 100644
+--- a/build/pkgs/ipython/package-version.txt
++++ b/build/pkgs/ipython/package-version.txt
+@@ -1 +1 @@
+-7.27.0
++7.29.0
+-- 
+cgit v1.0-1-gd88e
+
+
+From 7939a79de125c7f20e981b31c0124e1d80ec9e42 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Wed, 24 Nov 2021 18:28:14 -0800
+Subject: build/pkgs/ipykernel: Update to 6.5.1
+
+---
+ build/pkgs/ipykernel/checksums.ini       | 6 +++---
+ build/pkgs/ipykernel/package-version.txt | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/build/pkgs/ipykernel/checksums.ini b/build/pkgs/ipykernel/checksums.ini
+index 51eb667..ca1302e 100644
+--- a/build/pkgs/ipykernel/checksums.ini
++++ b/build/pkgs/ipykernel/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=ipykernel-VERSION.tar.gz
+-sha1=19b16c61057bb7f5ad97f7e91bb54cdfec260257
+-md5=329c172babb38dff1be130ddf3a609af
+-cksum=2936157099
++sha1=2c2aa0e929bfd0e694da6b45d2de846a0a5d2812
++md5=78797cb2389d8f131c75280f808aac15
++cksum=1454395629
+ upstream_url=https://pypi.io/packages/source/i/ipykernel/ipykernel-VERSION.tar.gz
+diff --git a/build/pkgs/ipykernel/package-version.txt b/build/pkgs/ipykernel/package-version.txt
+index dc0208a..a194c18 100644
+--- a/build/pkgs/ipykernel/package-version.txt
++++ b/build/pkgs/ipykernel/package-version.txt
+@@ -1 +1 @@
+-6.3.1
++6.5.1
+-- 
+cgit v1.0-1-gd88e
+
+
+From 73df3fc22ba3455befb05758f813caa3dd0a010b Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Wed, 24 Nov 2021 18:28:44 -0800
+Subject: build/pkgs/ipywidgets: Update to 7.6.5
+
+---
+ build/pkgs/ipywidgets/checksums.ini       | 6 +++---
+ build/pkgs/ipywidgets/package-version.txt | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/build/pkgs/ipywidgets/checksums.ini b/build/pkgs/ipywidgets/checksums.ini
+index efb9fe9..af4a04d 100644
+--- a/build/pkgs/ipywidgets/checksums.ini
++++ b/build/pkgs/ipywidgets/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=ipywidgets-VERSION.tar.gz
+-sha1=8ea8c8e15a4779897dc9f12cc20e29cfe5fb689f
+-md5=771fd3999f93af336c6e40ae1f5c37a2
+-cksum=980834502
++sha1=ad63e99f44fd759c34ab70161e9ac8f4276294f8
++md5=420aabfddee27fc215ad9a9c14c9c529
++cksum=259379988
+ upstream_url=https://pypi.io/packages/source/i/ipywidgets/ipywidgets-VERSION.tar.gz
+diff --git a/build/pkgs/ipywidgets/package-version.txt b/build/pkgs/ipywidgets/package-version.txt
+index b7ade06..bf43f75 100644
+--- a/build/pkgs/ipywidgets/package-version.txt
++++ b/build/pkgs/ipywidgets/package-version.txt
+@@ -1 +1 @@
+-7.6.4.p0
++7.6.5
+-- 
+cgit v1.0-1-gd88e
+
+
+From 5e144e95b13005cfb2cd7e3a3b7abd70d0a902c7 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Wed, 24 Nov 2021 18:30:04 -0800
+Subject: build/pkgs/jedi: Update to 0.18.1
+
+---
+ build/pkgs/jedi/checksums.ini       | 6 +++---
+ build/pkgs/jedi/package-version.txt | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/build/pkgs/jedi/checksums.ini b/build/pkgs/jedi/checksums.ini
+index f5be931..2db629c 100644
+--- a/build/pkgs/jedi/checksums.ini
++++ b/build/pkgs/jedi/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=jedi-VERSION.tar.gz
+-sha1=f9acd323b88563fafb5bb4dff592794a2713a15c
+-md5=72707c00e8d6d0b190a5e5664be1cac5
+-cksum=620165561
++sha1=e94444bd83b55247fd1f3d27d47cc0b148560134
++md5=d8dba4a98a35530f7f5b461c20aff180
++cksum=4093067035
+ upstream_url=https://pypi.io/packages/source/j/jedi/jedi-VERSION.tar.gz
+diff --git a/build/pkgs/jedi/package-version.txt b/build/pkgs/jedi/package-version.txt
+index 6633391..249afd5 100644
+--- a/build/pkgs/jedi/package-version.txt
++++ b/build/pkgs/jedi/package-version.txt
+@@ -1 +1 @@
+-0.18.0
++0.18.1
+-- 
+cgit v1.0-1-gd88e
+
+
+From 6347f984a697b3aecfe0ed6d2f7363c9dc3b5b65 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Wed, 24 Nov 2021 18:30:58 -0800
+Subject: build/pkgs/prompt_toolkit: Update to 3.0.22
+
+---
+ build/pkgs/prompt_toolkit/checksums.ini       | 6 +++---
+ build/pkgs/prompt_toolkit/package-version.txt | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/build/pkgs/prompt_toolkit/checksums.ini b/build/pkgs/prompt_toolkit/checksums.ini
+index 7868d1a..0e3fe14 100644
+--- a/build/pkgs/prompt_toolkit/checksums.ini
++++ b/build/pkgs/prompt_toolkit/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=prompt_toolkit-VERSION.tar.gz
+-sha1=20fe2a6126ee2b992d9f77cd20e4b80626b036d7
+-md5=ba9e63c3e7e5a4f4ce4e4770a4daba96
+-cksum=3647925903
++sha1=5efb27677b89b2c81241645c6658e60771af3b7b
++md5=bbaeba1142a64ecf2264eaf4f85201b1
++cksum=1605705668
+ upstream_url=https://pypi.io/packages/source/p/prompt_toolkit/prompt_toolkit-VERSION.tar.gz
+diff --git a/build/pkgs/prompt_toolkit/package-version.txt b/build/pkgs/prompt_toolkit/package-version.txt
+index 3e4a61b..6795d4d 100644
+--- a/build/pkgs/prompt_toolkit/package-version.txt
++++ b/build/pkgs/prompt_toolkit/package-version.txt
+@@ -1 +1 @@
+-3.0.20
++3.0.22
+-- 
+cgit v1.0-1-gd88e
+
+
+From 28e535d3a1dd6b67e740b1900c4fad36cccd1121 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Wed, 24 Nov 2021 18:32:02 -0800
+Subject: build/pkgs/widgetsnbextension: Update to 3.5.2
+
+---
+ build/pkgs/widgetsnbextension/checksums.ini       | 6 +++---
+ build/pkgs/widgetsnbextension/package-version.txt | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/build/pkgs/widgetsnbextension/checksums.ini b/build/pkgs/widgetsnbextension/checksums.ini
+index 2f7e946..81205c5 100644
+--- a/build/pkgs/widgetsnbextension/checksums.ini
++++ b/build/pkgs/widgetsnbextension/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=widgetsnbextension-VERSION.tar.gz
+-sha1=f92ee894f3b08cfb6cfac0856d77521bbbf45e92
+-md5=3dc5f96919c032a885950e3819bdee7b
+-cksum=4195536255
++sha1=010f70ab9a6d6e0a4f9607cce0da182ee6c1280a
++md5=c126a06559afe658e285bcd483790710
++cksum=160710350
+ upstream_url=https://pypi.io/packages/source/w/widgetsnbextension/widgetsnbextension-VERSION.tar.gz
+diff --git a/build/pkgs/widgetsnbextension/package-version.txt b/build/pkgs/widgetsnbextension/package-version.txt
+index ffe3090..87ce492 100644
+--- a/build/pkgs/widgetsnbextension/package-version.txt
++++ b/build/pkgs/widgetsnbextension/package-version.txt
+@@ -1 +1 @@
+-3.5.1.p0
++3.5.2
+-- 
+cgit v1.0-1-gd88e
+
+
+From 63078ac3e486d986d43e78f76a2037455147b8da Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Wed, 24 Nov 2021 18:33:12 -0800
+Subject: build/pkgs/terminado: Update to 0.12.1
+
+---
+ build/pkgs/terminado/checksums.ini       | 6 +++---
+ build/pkgs/terminado/package-version.txt | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/build/pkgs/terminado/checksums.ini b/build/pkgs/terminado/checksums.ini
+index ba1b392..f33efd4 100644
+--- a/build/pkgs/terminado/checksums.ini
++++ b/build/pkgs/terminado/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=terminado-VERSION.tar.gz
+-sha1=9a4f75d9f1bad0e7eadf33da774ab4e09d75a47b
+-md5=8150154423841a90b1d8ca60943ad84c
+-cksum=2702442904
++sha1=65f40480c1d8077b78dcffb7e0c909eae86998bf
++md5=4871263f6aaed18e09603fa6785b4340
++cksum=2070178009
+ upstream_url=https://pypi.io/packages/source/t/terminado/terminado-VERSION.tar.gz
+diff --git a/build/pkgs/terminado/package-version.txt b/build/pkgs/terminado/package-version.txt
+index af88ba8..34a8361 100644
+--- a/build/pkgs/terminado/package-version.txt
++++ b/build/pkgs/terminado/package-version.txt
+@@ -1 +1 @@
+-0.11.1
++0.12.1
+-- 
+cgit v1.0-1-gd88e
+
+
+From 22de5dc202d63cbcef3a752a6c68e7d99332d705 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Wed, 24 Nov 2021 18:34:42 -0800
+Subject: build/pkgs/notebook: Update to 6.4.6
+
+---
+ build/pkgs/notebook/checksums.ini       | 6 +++---
+ build/pkgs/notebook/package-version.txt | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/build/pkgs/notebook/checksums.ini b/build/pkgs/notebook/checksums.ini
+index 1355f59..29c39e9 100644
+--- a/build/pkgs/notebook/checksums.ini
++++ b/build/pkgs/notebook/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=notebook-VERSION.tar.gz
+-sha1=0a6d27e401d04d516c3851862491824007272dc0
+-md5=718f7f0267e0111b4ef9ff3238e9f7e8
+-cksum=2383141171
++sha1=93736a3a9c5b025f71a25a301b676a40aca3124b
++md5=ecb9319cf82a9a83b1c4c8e1cc4efbee
++cksum=1697144622
+ upstream_url=https://pypi.io/packages/source/n/notebook/notebook-VERSION.tar.gz
+diff --git a/build/pkgs/notebook/package-version.txt b/build/pkgs/notebook/package-version.txt
+index 133cad2..3d05e8c 100644
+--- a/build/pkgs/notebook/package-version.txt
++++ b/build/pkgs/notebook/package-version.txt
+@@ -1 +1 @@
+-6.4.3
++6.4.6
+-- 
+cgit v1.0-1-gd88e
+
+
+From a0fe18ba460d87e0bd46ada9f4246baa49c7c251 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Wed, 24 Nov 2021 18:35:36 -0800
+Subject: build/pkgs/nbclient: Update to 0.5.4
+
+---
+ build/pkgs/nbclient/checksums.ini       | 6 +++---
+ build/pkgs/nbclient/package-version.txt | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/build/pkgs/nbclient/checksums.ini b/build/pkgs/nbclient/checksums.ini
+index 914ee93..b1f9790 100644
+--- a/build/pkgs/nbclient/checksums.ini
++++ b/build/pkgs/nbclient/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=nbclient-VERSION.tar.gz
+-sha1=9c1059878ae04da987ae00025908ae802cbfc066
+-md5=593579773bd8128f845ea01a46ccbedb
+-cksum=2389564342
++sha1=a5efba590429270c901f4f5a16c8b46a7e6b8e4a
++md5=a3cf8c1c121b0718a6ccf384c5683424
++cksum=2650264415
+ upstream_url=https://pypi.io/packages/source/n/nbclient/nbclient-VERSION.tar.gz
+diff --git a/build/pkgs/nbclient/package-version.txt b/build/pkgs/nbclient/package-version.txt
+index 7d85683..416bfb0 100644
+--- a/build/pkgs/nbclient/package-version.txt
++++ b/build/pkgs/nbclient/package-version.txt
+@@ -1 +1 @@
+-0.5.4
++0.5.9
+-- 
+cgit v1.0-1-gd88e
+
+
+From ef3fc7f3a0877ee92dd1bf6e8d6e8c84db9f6050 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Wed, 24 Nov 2021 18:38:02 -0800
+Subject: build/pkgs/jupyter_client: Update to 7.1.0
+
+---
+ build/pkgs/jupyter_client/checksums.ini       | 6 +++---
+ build/pkgs/jupyter_client/package-version.txt | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/build/pkgs/jupyter_client/checksums.ini b/build/pkgs/jupyter_client/checksums.ini
+index ab486e6..cbe7b83 100644
+--- a/build/pkgs/jupyter_client/checksums.ini
++++ b/build/pkgs/jupyter_client/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=jupyter_client-VERSION.tar.gz
+-sha1=d03249e98f821ac8f43408e71b5390cef336d859
+-md5=7c6ef694cde43fd365046869842a1cde
+-cksum=236454943
++sha1=aad5dd5337e20e53de66e094092333e04d9c4e1d
++md5=33fb5eab82f3e89c68f2082b52a8e966
++cksum=481041414
+ upstream_url=https://pypi.io/packages/source/j/jupyter_client/jupyter_client-VERSION.tar.gz
+diff --git a/build/pkgs/jupyter_client/package-version.txt b/build/pkgs/jupyter_client/package-version.txt
+index a8907c0..a3fcc71 100644
+--- a/build/pkgs/jupyter_client/package-version.txt
++++ b/build/pkgs/jupyter_client/package-version.txt
+@@ -1 +1 @@
+-7.0.2
++7.1.0
+-- 
+cgit v1.0-1-gd88e
+
+
+From a593bc993aa860f847b803a3d41fe7c2d5d99780 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Wed, 24 Nov 2021 18:40:11 -0800
+Subject: build/pkgs/jupyter_core: Update to 4.9.1
+
+---
+ build/pkgs/jupyter_core/checksums.ini       | 6 +++---
+ build/pkgs/jupyter_core/package-version.txt | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/build/pkgs/jupyter_core/checksums.ini b/build/pkgs/jupyter_core/checksums.ini
+index 8310cf0..f3a3068 100644
+--- a/build/pkgs/jupyter_core/checksums.ini
++++ b/build/pkgs/jupyter_core/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=jupyter_core-VERSION.tar.gz
+-sha1=01e57900f8e4475fb90ae533cf7ebd6f4c323867
+-md5=adc204a306a7122a61aa742ccc4c252a
+-cksum=1333962761
++sha1=afa48d85b3611beb42236be3c130767a6524ccfd
++md5=77a1e7642abfb834a6046e14b94f5c88
++cksum=1811078933
+ upstream_url=https://pypi.io/packages/source/j/jupyter_core/jupyter_core-VERSION.tar.gz
+diff --git a/build/pkgs/jupyter_core/package-version.txt b/build/pkgs/jupyter_core/package-version.txt
+index 7c66fca..5b341fd 100644
+--- a/build/pkgs/jupyter_core/package-version.txt
++++ b/build/pkgs/jupyter_core/package-version.txt
+@@ -1 +1 @@
+-4.7.1
++4.9.1
+-- 
+cgit v1.0-1-gd88e
+
+
+From 66c16b14f9081c6d62f5d105cfe76b470074c187 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Wed, 24 Nov 2021 18:41:20 -0800
+Subject: build/pkgs/importlib_metadata: Update to 4.8.2
+
+---
+ build/pkgs/importlib_metadata/checksums.ini       | 6 +++---
+ build/pkgs/importlib_metadata/package-version.txt | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/build/pkgs/importlib_metadata/checksums.ini b/build/pkgs/importlib_metadata/checksums.ini
+index 4006b51..d5a9b1a 100644
+--- a/build/pkgs/importlib_metadata/checksums.ini
++++ b/build/pkgs/importlib_metadata/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=importlib_metadata-VERSION.tar.gz
+-sha1=1572500dd099439cbd86bb70bfe1d206fbc844f6
+-md5=5b944bce3fccaf848f0cba7a07f850a1
+-cksum=416853070
++sha1=7d15d8e06299a8f24e076600899aceee75ce8b0b
++md5=a605ba6ec315bc1324fd6b7210fe7c12
++cksum=448954927
+ upstream_url=https://pypi.io/packages/source/i/importlib_metadata/importlib_metadata-VERSION.tar.gz
+diff --git a/build/pkgs/importlib_metadata/package-version.txt b/build/pkgs/importlib_metadata/package-version.txt
+index 697e993..326ec63 100644
+--- a/build/pkgs/importlib_metadata/package-version.txt
++++ b/build/pkgs/importlib_metadata/package-version.txt
+@@ -1 +1 @@
+-4.8.1
++4.8.2
+-- 
+cgit v1.0-1-gd88e
+
+
+From 27fbff02000609d9bf9c5f429b887e321148c6b6 Mon Sep 17 00:00:00 2001
+From: Antonio Rojas <arojas@archlinux.org>
+Date: Sun, 12 Dec 2021 09:57:10 +0100
+Subject: Assign module property to test class
+
+Otherwise, Python 3.10 will report a "source code not available" error, see https://github.com/python/cpython/commit/48a62559dfaf775e4f1cc56b19379c799e8e2587
+---
+ src/sage/misc/sageinspect.py | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/sage/misc/sageinspect.py b/src/sage/misc/sageinspect.py
+index fb2073f..bd89233 100644
+--- a/src/sage/misc/sageinspect.py
++++ b/src/sage/misc/sageinspect.py
+@@ -1585,6 +1585,8 @@ def sage_getargspec(obj):
+         ....:     'class Foo:\n'
+         ....:     '    def __call__(self):\n'
+         ....:     '        return None\n'
++        ....:     '    def __module__(self):\n'
++        ....:     '        return "sage.misc.sageinspect"\n'
+         ....:     '    def _sage_src_(self):\n'
+         ....:     '        return "the source code string"')
+         sage: shell.run_cell('f = Foo()')
+-- 
+cgit v1.0-1-gd88e
+
+
+From 26c9b33878aef88a0b1e88d6664823d9d4591a5f Mon Sep 17 00:00:00 2001
+From: Antonio Rojas <arojas@archlinux.org>
+Date: Sun, 12 Dec 2021 09:59:07 +0100
+Subject: Add abs tol to some tests to make them pass with Python 3.10
+
+---
+ src/sage/plot/colors.py | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/sage/plot/colors.py b/src/sage/plot/colors.py
+index 6fdba0f..f46b736 100644
+--- a/src/sage/plot/colors.py
++++ b/src/sage/plot/colors.py
+@@ -918,12 +918,12 @@ class Color(object):
+ 
+             sage: Color(0.3, 0.5, 0.7, space='hls').hls()
+             (0.30000000000000004, 0.5, 0.7)
+-            sage: Color(0.3, 0.5, 0.7, space='hsl').hls()
++            sage: Color(0.3, 0.5, 0.7, space='hsl').hls() # abs tol 1e-15
+             (0.30000000000000004, 0.7, 0.5000000000000001)
+-            sage: Color('#aabbcc').hls()
++            sage: Color('#aabbcc').hls() # abs tol 1e-15
+             (0.5833333333333334, 0.7333333333333334, 0.25000000000000017)
+             sage: from sage.plot.colors import orchid
+-            sage: orchid.hls()
++            sage: orchid.hls() # abs tol 1e-15
+             (0.8396226415094339, 0.6470588235294117, 0.5888888888888889)
+         """
+         return tuple(map(float, rgb_to_hls(*self._rgb)))
+@@ -942,9 +942,9 @@ class Color(object):
+             sage: Color(1,0,0).hsl()
+             (0.0, 1.0, 0.5)
+             sage: from sage.plot.colors import orchid
+-            sage: orchid.hsl()
++            sage: orchid.hsl() # abs tol 1e-15
+             (0.8396226415094339, 0.5888888888888889, 0.6470588235294117)
+-            sage: Color('#aabbcc').hsl()
++            sage: Color('#aabbcc').hsl() # abs tol 1e-15
+             (0.5833333333333334, 0.25000000000000017, 0.7333333333333334)
+         """
+         h, l, s = tuple(map(float, rgb_to_hls(*self._rgb)))
+-- 
+cgit v1.0-1-gd88e
+
+
+From 079ceca95e5d3ad9fb81d3234df3e984ddde09d4 Mon Sep 17 00:00:00 2001
+From: Antonio Rojas <arojas@archlinux.org>
+Date: Sun, 12 Dec 2021 09:59:43 +0100
+Subject: Add missing space
+
+Surprisingly, this didn't throw an error before Python 3.10
+---
+ src/sage/schemes/riemann_surfaces/riemann_surface.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/sage/schemes/riemann_surfaces/riemann_surface.py b/src/sage/schemes/riemann_surfaces/riemann_surface.py
+index 3c3d387..f9d1e2b 100644
+--- a/src/sage/schemes/riemann_surfaces/riemann_surface.py
++++ b/src/sage/schemes/riemann_surfaces/riemann_surface.py
+@@ -1390,7 +1390,7 @@ class RiemannSurface(object):
+             sage: S = RiemannSurface(f)
+             sage: _ = S.homology_basis()
+             sage: g,d = S.make_zw_interpolator([(0,0),(1,0)]);
+-            sage: all(f(*g(i*0.1)).abs() < 1e-13for i in range(10))
++            sage: all(f(*g(i*0.1)).abs() < 1e-13 for i in range(10))
+             True
+             sage: abs((g(1)[0]-g(0)[0]) - d) < 1e-13
+             True
+-- 
+cgit v1.0-1-gd88e
+
+
+From 6603e290fff0e49a6394e40382c4ebdc8975049d Mon Sep 17 00:00:00 2001
+From: Antonio Rojas <arojas@archlinux.org>
+Date: Sun, 12 Dec 2021 10:00:49 +0100
+Subject: Update some error messages to match Python 3.10 format
+
+---
+ src/sage/structure/unique_representation.py |  2 +-
+ src/sage/symbolic/callable.py               | 10 +++++-----
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/sage/structure/unique_representation.py b/src/sage/structure/unique_representation.py
+index 9ead7a4..5d8d4ad 100644
+--- a/src/sage/structure/unique_representation.py
++++ b/src/sage/structure/unique_representation.py
+@@ -1221,7 +1221,7 @@ class UniqueRepresentation(CachedRepresentation, WithEqualityById):
+         sage: isinstance(GF(7), GF)
+         Traceback (most recent call last):
+         ...
+-        TypeError: isinstance() arg 2 must be a type or tuple of types
++        TypeError: isinstance() arg 2 must be a type...
+ 
+         sage: isinstance(GF, sage.structure.factory.UniqueFactory)
+         True
+diff --git a/src/sage/symbolic/callable.py b/src/sage/symbolic/callable.py
+index 5f3a7be..4b8efda 100644
+--- a/src/sage/symbolic/callable.py
++++ b/src/sage/symbolic/callable.py
+@@ -38,27 +38,27 @@ The arguments in the definition must be symbolic variables (:trac:`10747`)::
+     sage: f(1)=2
+     Traceback (most recent call last):
+     ...
+-    SyntaxError: can...t assign to function call
++    SyntaxError: can...t assign to function call...
+ 
+     sage: f(x,1)=2
+     Traceback (most recent call last):
+     ...
+-    SyntaxError: can...t assign to function call
++    SyntaxError: can...t assign to function call...
+ 
+     sage: f(1,2)=3
+     Traceback (most recent call last):
+     ...
+-    SyntaxError: can...t assign to function call
++    SyntaxError: can...t assign to function call...
+ 
+     sage: f(1,2)=x
+     Traceback (most recent call last):
+     ...
+-    SyntaxError: can...t assign to function call
++    SyntaxError: can...t assign to function call...
+ 
+     sage: f(x,2)=x
+     Traceback (most recent call last):
+     ...
+-    SyntaxError: can...t assign to function call
++    SyntaxError: can...t assign to function call...
+ """
+ 
+ import sage.rings.abc
+-- 
+cgit v1.0-1-gd88e
+
+
+From f345263b8c46d72d12fb1d2482fbfbbd6f23a570 Mon Sep 17 00:00:00 2001
+From: Antonio Rojas <arojas@archlinux.org>
+Date: Sun, 12 Dec 2021 10:01:18 +0100
+Subject: Make sure the timeout passed to select.select is a float
+
+Python 3.10 does a type check
+---
+ src/sage/tests/cmdline.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/sage/tests/cmdline.py b/src/sage/tests/cmdline.py
+index 4f16b0e..ba5aa14 100644
+--- a/src/sage/tests/cmdline.py
++++ b/src/sage/tests/cmdline.py
+@@ -766,6 +766,7 @@ def test_executable(args, input="", timeout=100.0, pydebug_ignore_warnings=False
+             rfd.append(fderr)
+         if len(rfd) == 0:
+             break
++        timeout = float(timeout)
+         rlist = select.select(rfd, [], [], timeout)[0]
+ 
+         if len(rlist) == 0:
+-- 
+cgit v1.0-1-gd88e
+
+
+From 2f13b8666aef7001b7464f7cf68d145a5752c067 Mon Sep 17 00:00:00 2001
+From: Antonio Rojas <arojas@archlinux.org>
+Date: Sun, 12 Dec 2021 18:30:05 +0100
+Subject: Update another error message for Python 3.10
+
+---
+ src/sage/rings/asymptotic/growth_group.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/sage/rings/asymptotic/growth_group.py b/src/sage/rings/asymptotic/growth_group.py
+index ba7e684..a91ec31 100644
+--- a/src/sage/rings/asymptotic/growth_group.py
++++ b/src/sage/rings/asymptotic/growth_group.py
+@@ -5434,7 +5434,7 @@ class GrowthGroupFactory(UniqueFactory):
+             describing a growth group.
+             > *previous* ValueError: Cannot create a parent out of 'as'.
+             >> *previous* ValueError: unknown specification as
+-            >> *and* SyntaxError: unexpected EOF while parsing (<string>, line 1)
++            >> *and* SyntaxError: ... (<string>, line 1)
+             > *and* ValueError: Cannot create a parent out of 'df'.
+             >> *previous* ValueError: unknown specification df
+             >> *and* NameError: name 'df' is not defined
+-- 
+cgit v1.0-1-gd88e
+
+
+From e65ae6ca71fbe284affeb4ed88e63acc97a3fe0a Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Mon, 24 May 2021 17:06:47 -0700
+Subject: build/pkgs/python3/spkg-configure.m4: Accept system python 3.10.x
+
+---
+ build/pkgs/python3/spkg-configure.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build/pkgs/python3/spkg-configure.m4 b/build/pkgs/python3/spkg-configure.m4
+index df74019..3cbb994 100644
+--- a/build/pkgs/python3/spkg-configure.m4
++++ b/build/pkgs/python3/spkg-configure.m4
+@@ -1,7 +1,7 @@
+ SAGE_SPKG_CONFIGURE([python3], [
+    m4_pushdef([MIN_VERSION],               [3.7.0])
+    m4_pushdef([MIN_NONDEPRECATED_VERSION], [3.7.0])
+-   m4_pushdef([LT_VERSION],                [3.10.0])
++   m4_pushdef([LT_VERSION],                [3.11.0])
+    AC_ARG_WITH([python],
+                [AS_HELP_STRING([--with-python=PYTHON3],
+                                [Python 3 executable to use for the Sage venv; default: python3])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 59173d01b4ed85077a847d2643c80bb3499c926a Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Wed, 15 Sep 2021 17:49:12 -0700
+Subject: pkgs/sage-setup/setup.cfg: Allow Python 3.10
+
+---
+ pkgs/sage-setup/setup.cfg | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pkgs/sage-setup/setup.cfg b/pkgs/sage-setup/setup.cfg
+index a1710d4..197fc67 100644
+--- a/pkgs/sage-setup/setup.cfg
++++ b/pkgs/sage-setup/setup.cfg
+@@ -31,7 +31,7 @@ packages =
+     sage_setup.autogen.interpreters.specs
+     sage_setup.command
+ 
+-python_requires = >=3.7, <3.10
++python_requires = >=3.7, <3.11
+ 
+ install_requires =
+     pkgconfig
+-- 
+cgit v1.0-1-gd88e
+
+
+From c902b7bc44c1b2116416962ec1194b8e59f11f06 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Fri, 17 Dec 2021 09:15:25 -0800
+Subject: src/setup.cfg.m4: Allow Python 3.10
+
+---
+ src/setup.cfg.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/setup.cfg.m4 b/src/setup.cfg.m4
+index 16f88f2..b8bd0c0 100644
+--- a/src/setup.cfg.m4
++++ b/src/setup.cfg.m4
+@@ -26,7 +26,7 @@ classifiers =
+     Topic :: Scientific/Engineering :: Mathematics
+ 
+ [options]
+-python_requires = >=3.7, <3.10
++python_requires = >=3.7, <3.11
+ install_requires =
+     sage_conf
+     esyscmd(`sage-get-system-packages install-requires \
+-- 
+cgit v1.0-1-gd88e
+
+
+From cb305525af1f872d00bb63387f7c68b88fb70a38 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Fri, 17 Dec 2021 09:38:43 -0800
+Subject: build/pkgs/python3/spkg-configure.m4: Warn on system python 3.10.x
+
+---
+ build/pkgs/python3/spkg-configure.m4 | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/build/pkgs/python3/spkg-configure.m4 b/build/pkgs/python3/spkg-configure.m4
+index 3cbb994..5e3481a 100644
+--- a/build/pkgs/python3/spkg-configure.m4
++++ b/build/pkgs/python3/spkg-configure.m4
+@@ -1,6 +1,7 @@
+ SAGE_SPKG_CONFIGURE([python3], [
+    m4_pushdef([MIN_VERSION],               [3.7.0])
+    m4_pushdef([MIN_NONDEPRECATED_VERSION], [3.7.0])
++   m4_pushdef([LT_STABLE_VERSION],         [3.10.0])
+    m4_pushdef([LT_VERSION],                [3.11.0])
+    AC_ARG_WITH([python],
+                [AS_HELP_STRING([--with-python=PYTHON3],
+@@ -116,6 +117,10 @@ and will be removed in the next development cycle.  Consider using a newer versi
+ that may be available on your system or can be installed using the system package manager.
+ To build Sage with a different system python, use ./configure --with-python=/path/to/python])
+         ])
++        AX_COMPARE_VERSION([$python3_version], [ge], LT_STABLE_VERSION, [
++            AC_MSG_WARN([Support for system python >= LT_STABLE_VERSION is experimental.
++To build Sage with a different system python, use ./configure --with-python=/path/to/python])
++        ])
+     ])
+     AC_SUBST([PYTHON_FOR_VENV])
+ 
+-- 
+cgit v1.0-1-gd88e
+
+
+From 249357dd30c54162e4b9204d6113c70b310a5087 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Sat, 18 Dec 2021 13:35:21 -0800
+Subject: sage.cpython.atexit: fix for python 3.10 (#30766)
+
+---
+ src/sage/cpython/atexit.pyx | 75 +++++++++++++++++++++++++++++----------------
+ 1 file changed, 48 insertions(+), 27 deletions(-)
+
+diff --git a/src/sage/cpython/atexit.pyx b/src/sage/cpython/atexit.pyx
+index 5b0c6d1..3ba391b 100644
+--- a/src/sage/cpython/atexit.pyx
++++ b/src/sage/cpython/atexit.pyx
+@@ -144,43 +144,63 @@ cdef class restore_atexit:
+ 
+ from cpython.ref cimport PyObject
+ 
+-# Internal structures defined in the CPython source in
+-# Modules/atexitmodule.c and subject to (but unlikely to) change.  Watch
+-# https://bugs.python.org/issue32082 for a request to (eventually)
+-# re-expose more of the atexit module's internals to Python
+-ctypedef struct atexit_callback:
+-    PyObject* func
+-    PyObject* args
+-    PyObject* kwargs
+-
+-
+-ctypedef struct atexitmodule_state:
+-    atexit_callback** atexit_callbacks
+-    int ncallbacks
+-    int callback_len
+-
+-
+-cdef extern from "Python.h":
+-    void* PyModule_GetState(object module)
+-
++# Implement "_atexit_callbacks()" for each supported python version
++cdef extern from *:
++    """
++    #if PY_VERSION_HEX >= 0x030a0000
++    /********** Python 3.10 **********/
++    #define Py_BUILD_CORE
++    #undef _PyGC_FINALIZED
++    #include "internal/pycore_interp.h"
++    #include "internal/pycore_pystate.h"
++    static atexit_callback ** _atexit_callbacks(PyObject *self) {
++        PyInterpreterState *interp = _PyInterpreterState_GET();
++        struct atexit_state state = interp->atexit;
++        return state.callbacks;
++    }
++    #else
++    /********** Python < 3.10 **********/
++    /* Internal structures defined in the CPython source in
++     * Modules/atexitmodule.c and subject to (but unlikely to) change.  Watch
++     * https://bugs.python.org/issue32082 for a request to (eventually)
++     * re-expose more of the atexit module's internals to Python
++     * typedef struct
++     */
++    typedef struct {
++        PyObject *func;
++        PyObject *args;
++        PyObject *kwargs;
++    } atexit_callback;
++    typedef struct {
++        atexit_callback **atexit_callbacks;
++        int ncallbacks;
++        int callback_len;
++    } atexitmodule_state;
++    static atexit_callback ** _atexit_callbacks(PyObject *self) {
++        atexitmodule_state *state = PyModule_GetState(self);
++        return state->atexit_callbacks;
++    }
++    #endif
++    """
++    ctypedef struct atexit_callback:
++        PyObject* func
++        PyObject* args
++        PyObject* kwargs
++    atexit_callback** _atexit_callbacks(object module)
+ 
+ def _get_exithandlers():
+     """Return list of exit handlers registered with the atexit module."""
+-    cdef atexitmodule_state* state
++    cdef atexit_callback ** callbacks
+     cdef atexit_callback callback
+     cdef list exithandlers
+     cdef int idx
+     cdef object kwargs
+ 
+-    state = <atexitmodule_state*>PyModule_GetState(atexit)
+-
+-    if not state:
+-        raise RuntimeError("atexit module state missing or corrupt")
+-
+     exithandlers = []
++    callbacks = _atexit_callbacks(atexit)
+ 
+-    for idx in range(state.ncallbacks):
+-        callback = state.atexit_callbacks[idx][0]
++    for idx in range(atexit._ncallbacks()):
++        callback = callbacks[idx][0]
+         if callback.kwargs:
+             kwargs = <object>callback.kwargs
+         else:
+@@ -207,4 +227,5 @@ def _set_exithandlers(exithandlers):
+ 
+ def _clear_exithandlers():
+     """Clear the atexit module of all registered exit handlers."""
++
+     atexit._clear()
+-- 
+cgit v1.0-1-gd88e
+
+
+From df9f1d4ced4264f65ab704f725f6f5879b012796 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Sun, 19 Dec 2021 22:36:44 -0300
+Subject: Pass float(0.5) to time.sleep
+
+Since python 3.10, passing RealNumber breaks.
+---
+ src/sage_docbuild/utils.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/sage_docbuild/utils.py b/src/sage_docbuild/utils.py
+index 956d703f..3e4793e 100644
+--- a/src/sage_docbuild/utils.py
++++ b/src/sage_docbuild/utils.py
+@@ -79,7 +79,7 @@ def build_many(target, args, processes=None):
+         ....:         # Task 4 is a poison pill
+         ....:         1 / 0
+         ....:     else:
+-        ....:         time.sleep(0.5)
++        ....:         time.sleep(float(0.5))
+         ....:         print('Processed task %s' % N)
+         ....:
+ 
+@@ -104,7 +104,7 @@ def build_many(target, args, processes=None):
+         ....:         # Task 4 is a poison pill
+         ....:         os.kill(os.getpid(), signal.SIGKILL)
+         ....:     else:
+-        ....:         time.sleep(0.5)
++        ....:         time.sleep(float(0.5))
+         ....:         print('Processed task %s' % N)
+         ....:
+         sage: build_many(target, range(8), processes=8)
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/patches/trac-32968-update_sphinx_to_4.3.1-fc84f82f52b6f05f512cb359ec7c100f93cf8841.patch b/srcpkgs/sagemath/patches/trac-32968-update_sphinx_to_4.3.1-fc84f82f52b6f05f512cb359ec7c100f93cf8841.patch
new file mode 100644
index 000000000000..8bce2b2a63e1
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-32968-update_sphinx_to_4.3.1-fc84f82f52b6f05f512cb359ec7c100f93cf8841.patch
@@ -0,0 +1,128 @@
+From e2adfb1efbc76a439ddc7c028288e3f011244878 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fran=C3=A7ois=20Bissey?= <frp.bissey@gmail.com>
+Date: Mon, 13 Dec 2021 11:18:44 +1300
+Subject: Update sphinx to 4.3.1
+
+---
+ build/pkgs/sphinx/checksums.ini        | 6 +++---
+ build/pkgs/sphinx/install-requires.txt | 2 +-
+ build/pkgs/sphinx/package-version.txt  | 2 +-
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/build/pkgs/sphinx/checksums.ini b/build/pkgs/sphinx/checksums.ini
+index f7ba552..02fcbde 100644
+--- a/build/pkgs/sphinx/checksums.ini
++++ b/build/pkgs/sphinx/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=Sphinx-VERSION.tar.gz
+-sha1=b7d3ad1e91059d62044a3296112fa6662a38f089
+-md5=6af34550e36dd6d58a496e47ec67280f
+-cksum=1867791932
++sha1=f1c33352c018a5a3df39d5f01c3e38c8c063d6c9
++md5=08f6589fa8ab57fd36f0f80d1079b233
++cksum=2796062391
+ upstream_url=https://pypi.io/packages/source/s/sphinx/Sphinx-VERSION.tar.gz
+diff --git a/build/pkgs/sphinx/install-requires.txt b/build/pkgs/sphinx/install-requires.txt
+index 0c661b6..0a751b2 100644
+--- a/build/pkgs/sphinx/install-requires.txt
++++ b/build/pkgs/sphinx/install-requires.txt
+@@ -1 +1 @@
+-sphinx >=4, <4.3
++sphinx >=4.3, <4.4
+diff --git a/build/pkgs/sphinx/package-version.txt b/build/pkgs/sphinx/package-version.txt
+index 6aba2b2..f77856a 100644
+--- a/build/pkgs/sphinx/package-version.txt
++++ b/build/pkgs/sphinx/package-version.txt
+@@ -1 +1 @@
+-4.2.0
++4.3.1
+-- 
+cgit v1.0-1-gd88e
+
+
+From efb00a873b766b6e2be4be9818f2e9bedb6a9238 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fran=C3=A7ois=20Bissey?= <frp.bissey@gmail.com>
+Date: Mon, 13 Dec 2021 11:19:13 +1300
+Subject: update sphinx dependency list and special installation instructions
+
+---
+ build/pkgs/sphinx/SPKG.rst | 12 +-----------
+ 1 file changed, 1 insertion(+), 11 deletions(-)
+
+diff --git a/build/pkgs/sphinx/SPKG.rst b/build/pkgs/sphinx/SPKG.rst
+index 62a8ff0..2a34c9d 100644
+--- a/build/pkgs/sphinx/SPKG.rst
++++ b/build/pkgs/sphinx/SPKG.rst
+@@ -27,21 +27,11 @@ Upstream Contact
+ Dependencies
+ ------------
+ 
+--  six >= 1.4
+ -  Jinja2 >= 2.3
+ -  Pygments >= 2.0
+--  docutils >= 0.11
++-  docutils < 0.18
+ -  snowballstemmer >= 1.1
+ -  babel >= 1.3
+ -  setuptools / distribute
+ -  Python
+ -  GNU patch (shipped with Sage)
+-
+-
+-Special Update/Build Instructions
+----------------------------------
+-
+--  The script create_grammar_pickle.py creates the file
+-   Grammar2.7.pickle in site-packages/Sphinx-.../sphinx/pycode/. This
+-   helps to avoid race conditions when building the documentation in
+-   parallel.
+-- 
+cgit v1.0-1-gd88e
+
+
+From 25cba02d3e5094b78ffbc66c38687e25caca2681 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fran=C3=A7ois=20Bissey?= <frp.bissey@gmail.com>
+Date: Mon, 13 Dec 2021 11:20:17 +1300
+Subject: add gentoo distros file
+
+---
+ build/pkgs/sphinx/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/sphinx/distros/gentoo.txt
+
+diff --git a/build/pkgs/sphinx/distros/gentoo.txt b/build/pkgs/sphinx/distros/gentoo.txt
+new file mode 100644
+index 00000000..059e3ae
+--- /dev/null
++++ b/build/pkgs/sphinx/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/sphinx
+-- 
+cgit v1.0-1-gd88e
+
+
+From fc84f82f52b6f05f512cb359ec7c100f93cf8841 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fran=C3=A7ois=20Bissey?= <frp.bissey@gmail.com>
+Date: Mon, 13 Dec 2021 11:23:48 +1300
+Subject: Add required new option for sphinx 4.3+ as per Tobias Hansen's
+ original patch
+
+---
+ src/sage/docs/conf.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/sage/docs/conf.py b/src/sage/docs/conf.py
+index f2efb65..0caac35 100644
+--- a/src/sage/docs/conf.py
++++ b/src/sage/docs/conf.py
+@@ -911,6 +911,7 @@ def setup(app):
+     if app.srcdir.startswith(SAGE_DOC_SRC):
+         app.add_config_value('intersphinx_mapping', {}, False)
+         app.add_config_value('intersphinx_cache_limit', 5, False)
++        app.add_config_value('intersphinx_disabled_reftypes', [], False)
+         app.connect('config-inited', set_intersphinx_mappings)
+         app.connect('builder-inited', intersphinx.load_mappings)
+         # We do *not* fully initialize intersphinx since we call it by hand
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/patches/trac-33020-update_ipykernel_to_6.6.0-715277cfadd7b3872ad6f7001fe84fb7568c947c.patch b/srcpkgs/sagemath/patches/trac-33020-update_ipykernel_to_6.6.0-715277cfadd7b3872ad6f7001fe84fb7568c947c.patch
new file mode 100644
index 000000000000..9cb11b381ea2
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-33020-update_ipykernel_to_6.6.0-715277cfadd7b3872ad6f7001fe84fb7568c947c.patch
@@ -0,0 +1,84 @@
+From 715277cfadd7b3872ad6f7001fe84fb7568c947c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Mon, 13 Dec 2021 18:04:04 -0300
+Subject: update ipykernel and make debugpy optional
+
+ - update ipykernel to 6.6.0, for which debugpy is optional
+ - patch out debugpy from pyproject.toml and setup.py
+ - make debugpy optional for sagemath
+---
+ build/pkgs/debugpy/type                             |  2 +-
+ build/pkgs/ipykernel/checksums.ini                  |  6 +++---
+ build/pkgs/ipykernel/dependencies                   |  2 +-
+ build/pkgs/ipykernel/package-version.txt            |  2 +-
+ .../ipykernel/patches/debugpy-make-optional.patch   | 21 +++++++++++++++++++++
+ 5 files changed, 27 insertions(+), 6 deletions(-)
+ create mode 100644 build/pkgs/ipykernel/patches/debugpy-make-optional.patch
+
+diff --git a/build/pkgs/debugpy/type b/build/pkgs/debugpy/type
+index a6a7b9c..134d9bc 100644
+--- a/build/pkgs/debugpy/type
++++ b/build/pkgs/debugpy/type
+@@ -1 +1 @@
+-standard
++optional
+diff --git a/build/pkgs/ipykernel/checksums.ini b/build/pkgs/ipykernel/checksums.ini
+index ca1302e..724eec8 100644
+--- a/build/pkgs/ipykernel/checksums.ini
++++ b/build/pkgs/ipykernel/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=ipykernel-VERSION.tar.gz
+-sha1=2c2aa0e929bfd0e694da6b45d2de846a0a5d2812
+-md5=78797cb2389d8f131c75280f808aac15
+-cksum=1454395629
++sha1=5a5cf7f8c0c02d0c0cc5fe3e0fe7481a86de6552
++md5=f940975eb00de793695c386ad3a8800c
++cksum=597841676
+ upstream_url=https://pypi.io/packages/source/i/ipykernel/ipykernel-VERSION.tar.gz
+diff --git a/build/pkgs/ipykernel/dependencies b/build/pkgs/ipykernel/dependencies
+index eec7126..5b3708a 100644
+--- a/build/pkgs/ipykernel/dependencies
++++ b/build/pkgs/ipykernel/dependencies
+@@ -1,4 +1,4 @@
+-$(PYTHON) ipython_genutils importlib_metadata argcomplete debugpy matplotlib_inline ipython jupyter_client tornado appnope traitlets | $(PYTHON_TOOLCHAIN)
++$(PYTHON) ipython_genutils importlib_metadata argcomplete matplotlib_inline ipython jupyter_client tornado appnope traitlets | $(PYTHON_TOOLCHAIN)
+ 
+ ----------
+ All lines of this file are ignored except the first.
+diff --git a/build/pkgs/ipykernel/package-version.txt b/build/pkgs/ipykernel/package-version.txt
+index a194c18..826f5ce 100644
+--- a/build/pkgs/ipykernel/package-version.txt
++++ b/build/pkgs/ipykernel/package-version.txt
+@@ -1 +1 @@
+-6.5.1
++6.6.0
+diff --git a/build/pkgs/ipykernel/patches/debugpy-make-optional.patch b/build/pkgs/ipykernel/patches/debugpy-make-optional.patch
+new file mode 100644
+index 00000000..308e4dd
+--- /dev/null
++++ b/build/pkgs/ipykernel/patches/debugpy-make-optional.patch
+@@ -0,0 +1,21 @@
++--- a/pyproject.toml	2021-12-01 10:23:30.000000000 -0300
+++++ b/pyproject.toml	2021-12-13 18:01:36.239921204 -0300
++@@ -3,7 +3,6 @@
++ requires=[
++   "setuptools",
++   "wheel",
++-  "debugpy",
++   "ipython>=5",
++   "jupyter_core>=4.2",
++   "jupyter_client",
++diff -ruN a/setup.py b/setup.py
++--- a/setup.py	2021-12-01 10:23:09.000000000 -0300
+++++ b/setup.py	2021-12-13 18:01:40.112873823 -0300
++@@ -63,7 +63,6 @@
++     install_requires=[
++         'importlib-metadata<5;python_version<"3.8.0"',
++         'argcomplete>=1.12.3;python_version<"3.8.0"',
++-        'debugpy>=1.0.0,<2.0',
++         'ipython>=7.23.1',
++         'traitlets>=5.1.0,<6.0',
++         'jupyter_client<8.0',
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/patches/trac-33040-update_matplotlib_to_3.5-d865a54526829b79d5d236a40f83ddc6ce7b2696.patch b/srcpkgs/sagemath/patches/trac-33040-update_matplotlib_to_3.5-d865a54526829b79d5d236a40f83ddc6ce7b2696.patch
new file mode 100644
index 000000000000..3ae6fe01822d
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-33040-update_matplotlib_to_3.5-d865a54526829b79d5d236a40f83ddc6ce7b2696.patch
@@ -0,0 +1,1196 @@
+From 6cd3723646a516b27864fbb6669d2a9a25fd11e0 Mon Sep 17 00:00:00 2001
+From: Antonio Rojas <arojas@archlinux.org>
+Date: Tue, 30 Mar 2021 20:05:47 +0200
+Subject: Update matplotlib to 3.4.0
+
+---
+ build/pkgs/matplotlib/checksums.ini       | 6 +++---
+ build/pkgs/matplotlib/package-version.txt | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/build/pkgs/matplotlib/checksums.ini b/build/pkgs/matplotlib/checksums.ini
+index 75fbea5..96f2344 100644
+--- a/build/pkgs/matplotlib/checksums.ini
++++ b/build/pkgs/matplotlib/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=matplotlib-VERSION.tar.gz
+-sha1=a26c32c19f39d88ad6ae67e774b677c075a36eac
+-md5=0b48f34ec623e765a1bda15924ce0b56
+-cksum=3626490879
++sha1=e29cc841d52b3df2c080b05b4019a9fe7d092c13
++md5=556395cc4ef4306025ce5138b9b68dd3
++cksum=3473305609
+ upstream_url=https://pypi.io/packages/source/m/matplotlib/matplotlib-VERSION.tar.gz
+diff --git a/build/pkgs/matplotlib/package-version.txt b/build/pkgs/matplotlib/package-version.txt
+index a0891f5..1809198 100644
+--- a/build/pkgs/matplotlib/package-version.txt
++++ b/build/pkgs/matplotlib/package-version.txt
+@@ -1 +1 @@
+-3.3.4
++3.4.0
+-- 
+cgit v1.0-1-gd88e
+
+
+From 4d742f220a3b0479afab1675d4bea5a39b944f7a Mon Sep 17 00:00:00 2001
+From: Antonio Rojas <arojas@archlinux.org>
+Date: Wed, 12 May 2021 08:23:25 +0200
+Subject: Update matplotlib to 3.4.2
+
+---
+ build/pkgs/matplotlib/checksums.ini       | 6 +++---
+ build/pkgs/matplotlib/package-version.txt | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/build/pkgs/matplotlib/checksums.ini b/build/pkgs/matplotlib/checksums.ini
+index 96f2344..9a32546 100644
+--- a/build/pkgs/matplotlib/checksums.ini
++++ b/build/pkgs/matplotlib/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=matplotlib-VERSION.tar.gz
+-sha1=e29cc841d52b3df2c080b05b4019a9fe7d092c13
+-md5=556395cc4ef4306025ce5138b9b68dd3
+-cksum=3473305609
++sha1=1a8a2b31fe5eaf70ea6d687dc05be3bd5cc595e5
++md5=e34749a5f0661b8af74a1dc327fb74f6
++cksum=1488332141
+ upstream_url=https://pypi.io/packages/source/m/matplotlib/matplotlib-VERSION.tar.gz
+diff --git a/build/pkgs/matplotlib/package-version.txt b/build/pkgs/matplotlib/package-version.txt
+index 1809198..4d9d11c 100644
+--- a/build/pkgs/matplotlib/package-version.txt
++++ b/build/pkgs/matplotlib/package-version.txt
+@@ -1 +1 @@
+-3.4.0
++3.4.2
+-- 
+cgit v1.0-1-gd88e
+
+
+From e406102e240c8931f24caf5f354266f76f4a91d6 Mon Sep 17 00:00:00 2001
+From: Dima Pasechnik <dima@pasechnik.info>
+Date: Sat, 17 Jul 2021 11:34:20 +0100
+Subject: qhull is a dependency
+
+---
+ build/pkgs/matplotlib/dependencies | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build/pkgs/matplotlib/dependencies b/build/pkgs/matplotlib/dependencies
+index 542dab4..e32a563 100644
+--- a/build/pkgs/matplotlib/dependencies
++++ b/build/pkgs/matplotlib/dependencies
+@@ -1,4 +1,4 @@
+-$(PYTHON) numpy freetype pillow dateutil pyparsing tornado six cycler | $(PYTHON_TOOLCHAIN) pytz kiwisolver certifi
++$(PYTHON) numpy freetype pillow dateutil pyparsing tornado six cycler qhull | $(PYTHON_TOOLCHAIN) pytz kiwisolver certifi
+ 
+ ----------
+ All lines of this file are ignored except the first.
+-- 
+cgit v1.0-1-gd88e
+
+
+From 51ba6f3cd21f83b1f70faaf17a97490ab12d97a9 Mon Sep 17 00:00:00 2001
+From: Dima Pasechnik <dima@pasechnik.info>
+Date: Sat, 17 Jul 2021 11:49:33 +0100
+Subject: qhull standard, as a dep of matplotlib
+
+matplotlib has qhull as a dependency now
+---
+ build/pkgs/qhull/type | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build/pkgs/qhull/type b/build/pkgs/qhull/type
+index 134d9bc..a6a7b9c 100644
+--- a/build/pkgs/qhull/type
++++ b/build/pkgs/qhull/type
+@@ -1 +1 @@
+-optional
++standard
+-- 
+cgit v1.0-1-gd88e
+
+
+From 86698214e0d42b3a7a1b935da6f7723122503785 Mon Sep 17 00:00:00 2001
+From: Dima Pasechnik <dima@pasechnik.info>
+Date: Mon, 19 Jul 2021 12:42:13 +0100
+Subject: do not vendor ghull, unconditionally
+
+---
+ build/pkgs/matplotlib/make-setup-config.py | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/build/pkgs/matplotlib/make-setup-config.py b/build/pkgs/matplotlib/make-setup-config.py
+index b4d5d05..2a53eab 100644
+--- a/build/pkgs/matplotlib/make-setup-config.py
++++ b/build/pkgs/matplotlib/make-setup-config.py
+@@ -9,8 +9,7 @@ config.set('directories', 'basedirlist', os.environ['SAGE_LOCAL'])
+ 
+ config.add_section('libs')
+ config.set('libs', 'system_freetype', 'True')
+-if pkgconfig.installed('qhull', '>= 7.2.0'):
+-    config.set('libs', 'system_qhull', 'True')
++config.set('libs', 'system_qhull', 'True')
+ # lto is problematic if we mix libraries from the OS with our own libraries,
+ # which are not necessarily compiled with the same gcc version
+ # https://trac.sagemath.org/ticket/27754
+-- 
+cgit v1.0-1-gd88e
+
+
+From f999e9b913e4e6a69398318b0651a82ceb9e0e06 Mon Sep 17 00:00:00 2001
+From: Dima Pasechnik <dima@pasechnik.info>
+Date: Wed, 28 Jul 2021 11:31:30 +0100
+Subject: upstream patch to recitfy docbuild problem
+
+see https://github.com/matplotlib/matplotlib/pull/20748
+and trac #32262
+---
+ build/pkgs/matplotlib/package-version.txt                 |  2 +-
+ build/pkgs/matplotlib/patches/create_staticifneeded.patch | 10 ++++++++++
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+ create mode 100644 build/pkgs/matplotlib/patches/create_staticifneeded.patch
+
+diff --git a/build/pkgs/matplotlib/package-version.txt b/build/pkgs/matplotlib/package-version.txt
+index 4d9d11c..09d7341 100644
+--- a/build/pkgs/matplotlib/package-version.txt
++++ b/build/pkgs/matplotlib/package-version.txt
+@@ -1 +1 @@
+-3.4.2
++3.4.2.p1
+diff --git a/build/pkgs/matplotlib/patches/create_staticifneeded.patch b/build/pkgs/matplotlib/patches/create_staticifneeded.patch
+new file mode 100644
+index 00000000..7e6ed2f
+--- /dev/null
++++ b/build/pkgs/matplotlib/patches/create_staticifneeded.patch
+@@ -0,0 +1,10 @@
++diff --git a/lib/matplotlib/sphinxext/plot_directive.py b/lib/matplotlib/sphinxext/plot_directive.py
++index d59d9bdd71bf..d40e0c58b4a5 100644
++--- a/lib/matplotlib/sphinxext/plot_directive.py
+++++ b/lib/matplotlib/sphinxext/plot_directive.py
++@@ -266,6 +266,7 @@ def _copy_css_file(app, exc):
++     if exc is None and app.builder.format == 'html':
++         src = cbook._get_data_path('plot_directive/plot_directive.css')
++         dst = app.outdir / Path('_static')
+++        dst.mkdir(exist_ok=True)
++         shutil.copy(src, dst)
+-- 
+cgit v1.0-1-gd88e
+
+
+From af761fa8ac78452b92fa9ff0a1dbaf9bfe787ac7 Mon Sep 17 00:00:00 2001
+From: Dima Pasechnik <dima@pasechnik.info>
+Date: Wed, 8 Sep 2021 13:33:51 +0100
+Subject: update to 3.4.3
+
+---
+ build/pkgs/matplotlib/checksums.ini       | 6 +++---
+ build/pkgs/matplotlib/package-version.txt | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/build/pkgs/matplotlib/checksums.ini b/build/pkgs/matplotlib/checksums.ini
+index 9a32546..2783080 100644
+--- a/build/pkgs/matplotlib/checksums.ini
++++ b/build/pkgs/matplotlib/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=matplotlib-VERSION.tar.gz
+-sha1=1a8a2b31fe5eaf70ea6d687dc05be3bd5cc595e5
+-md5=e34749a5f0661b8af74a1dc327fb74f6
+-cksum=1488332141
++sha1=764fb3c673f45bedb472bc81c63b9c36f7973c46
++md5=6858958370a26cccfa81abc7b6dd3622
++cksum=2317464343
+ upstream_url=https://pypi.io/packages/source/m/matplotlib/matplotlib-VERSION.tar.gz
+diff --git a/build/pkgs/matplotlib/package-version.txt b/build/pkgs/matplotlib/package-version.txt
+index 09d7341..6cb9d3d 100644
+--- a/build/pkgs/matplotlib/package-version.txt
++++ b/build/pkgs/matplotlib/package-version.txt
+@@ -1 +1 @@
+-3.4.2.p1
++3.4.3
+-- 
+cgit v1.0-1-gd88e
+
+
+From 24b7a9a9c19bcfc32e1975012b2fad55736dc0ec Mon Sep 17 00:00:00 2001
+From: Dima Pasechnik <dima@pasechnik.info>
+Date: Wed, 8 Sep 2021 14:04:48 +0100
+Subject: Revert "upstream patch to recitfy docbuild problem"
+
+This reverts commit 13912acb0e04c6548e6914f8bd40f42fc2d5863c.
+---
+ build/pkgs/matplotlib/patches/create_staticifneeded.patch | 10 ----------
+ 1 file changed, 10 deletions(-)
+ delete mode 100644 build/pkgs/matplotlib/patches/create_staticifneeded.patch
+
+diff --git a/build/pkgs/matplotlib/patches/create_staticifneeded.patch b/build/pkgs/matplotlib/patches/create_staticifneeded.patch
+deleted file mode 100644
+index 7e6ed2f..00000000
+--- a/build/pkgs/matplotlib/patches/create_staticifneeded.patch
++++ /dev/null
+@@ -1,10 +0,0 @@
+-diff --git a/lib/matplotlib/sphinxext/plot_directive.py b/lib/matplotlib/sphinxext/plot_directive.py
+-index d59d9bdd71bf..d40e0c58b4a5 100644
+---- a/lib/matplotlib/sphinxext/plot_directive.py
+-+++ b/lib/matplotlib/sphinxext/plot_directive.py
+-@@ -266,6 +266,7 @@ def _copy_css_file(app, exc):
+-     if exc is None and app.builder.format == 'html':
+-         src = cbook._get_data_path('plot_directive/plot_directive.css')
+-         dst = app.outdir / Path('_static')
+-+        dst.mkdir(exist_ok=True)
+-         shutil.copy(src, dst)
+-- 
+cgit v1.0-1-gd88e
+
+
+From 42435f4aee9cd901dba119255a02247055b7dc80 Mon Sep 17 00:00:00 2001
+From: Dima Pasechnik <dima@pasechnik.info>
+Date: Sun, 19 Sep 2021 15:51:34 +0100
+Subject: add gfortran to _prereq/distros/*
+
+---
+ build/pkgs/_prereq/distros/arch.txt      | 1 +
+ build/pkgs/_prereq/distros/conda.txt     | 1 +
+ build/pkgs/_prereq/distros/cygwin.txt    | 1 +
+ build/pkgs/_prereq/distros/debian.txt    | 1 +
+ build/pkgs/_prereq/distros/fedora.txt    | 1 +
+ build/pkgs/_prereq/distros/freebsd.txt   | 1 +
+ build/pkgs/_prereq/distros/homebrew.txt  | 3 +--
+ build/pkgs/_prereq/distros/macports.txt  | 1 +
+ build/pkgs/_prereq/distros/opensuse.txt  | 1 +
+ build/pkgs/_prereq/distros/slackware.txt | 1 +
+ build/pkgs/_prereq/distros/void.txt      | 1 +
+ 11 files changed, 11 insertions(+), 2 deletions(-)
+ create mode 100644 build/pkgs/_prereq/distros/macports.txt
+
+diff --git a/build/pkgs/_prereq/distros/arch.txt b/build/pkgs/_prereq/distros/arch.txt
+index 9b9bf09..f43cab4 100644
+--- a/build/pkgs/_prereq/distros/arch.txt
++++ b/build/pkgs/_prereq/distros/arch.txt
+@@ -6,5 +6,6 @@ python # system python for bootstrapping the build
+ tar
+ bc
+ gcc
++gcc-fortran
+ # Needed for 4ti2:
+ which
+diff --git a/build/pkgs/_prereq/distros/conda.txt b/build/pkgs/_prereq/distros/conda.txt
+index a02a39e..0e66d82 100644
+--- a/build/pkgs/_prereq/distros/conda.txt
++++ b/build/pkgs/_prereq/distros/conda.txt
+@@ -1,4 +1,5 @@
+ compilers
++fortran-compiler
+ make
+ m4
+ perl
+diff --git a/build/pkgs/_prereq/distros/cygwin.txt b/build/pkgs/_prereq/distros/cygwin.txt
+index 635afe8..fc0304d 100644
+--- a/build/pkgs/_prereq/distros/cygwin.txt
++++ b/build/pkgs/_prereq/distros/cygwin.txt
+@@ -19,6 +19,7 @@ perl-ExtUtils-MakeMaker
+ tar
+ gcc-core
+ gcc-g++
++gcc-fortran
+ # Needed according to embray at https://trac.sagemath.org/ticket/26964:
+ # The need for which comes [...] from MPIR's configure script
+ findutils
+diff --git a/build/pkgs/_prereq/distros/debian.txt b/build/pkgs/_prereq/distros/debian.txt
+index 50be6ac..c348ee3 100644
+--- a/build/pkgs/_prereq/distros/debian.txt
++++ b/build/pkgs/_prereq/distros/debian.txt
+@@ -26,5 +26,6 @@ gcc
+ # configure: error: in `/sage':
+ # configure: error: C++ preprocessor "/lib/cpp" fails sanity check
+ g++
++gfortran
+ # Needed if we download some packages from a https upstream URL
+ ca-certificates
+diff --git a/build/pkgs/_prereq/distros/fedora.txt b/build/pkgs/_prereq/distros/fedora.txt
+index a82e29a..d5a5ae7 100644
+--- a/build/pkgs/_prereq/distros/fedora.txt
++++ b/build/pkgs/_prereq/distros/fedora.txt
+@@ -26,6 +26,7 @@ gcc
+ # configure: error: in `/sage':
+ # configure: error: C++ preprocessor "/lib/cpp" fails sanity check
+ gcc-c++
++gcc-gfortran
+ # Needed according to embray at https://trac.sagemath.org/ticket/26964:
+ # The need for which comes [...] from MPIR's configure script
+ findutils
+diff --git a/build/pkgs/_prereq/distros/freebsd.txt b/build/pkgs/_prereq/distros/freebsd.txt
+index cc708cc..ec26136 100644
+--- a/build/pkgs/_prereq/distros/freebsd.txt
++++ b/build/pkgs/_prereq/distros/freebsd.txt
+@@ -17,3 +17,4 @@ automake
+ bash
+ dash
+ python # python metaport for bootstrapping the build
++lang/gcc9 # gfortran
+diff --git a/build/pkgs/_prereq/distros/homebrew.txt b/build/pkgs/_prereq/distros/homebrew.txt
+index 863c22a..f537c17 100644
+--- a/build/pkgs/_prereq/distros/homebrew.txt
++++ b/build/pkgs/_prereq/distros/homebrew.txt
+@@ -8,5 +8,4 @@
+ # for use in "sage -info SPKG".
+ #
+ # Everything on a line after a # character is ignored.
+-
+-# No packages needed
++gcc
+diff --git a/build/pkgs/_prereq/distros/macports.txt b/build/pkgs/_prereq/distros/macports.txt
+new file mode 100644
+index 00000000..c2878ad
+--- /dev/null
++++ b/build/pkgs/_prereq/distros/macports.txt
+@@ -0,0 +1 @@
++gcc10 +gfortran
+diff --git a/build/pkgs/_prereq/distros/opensuse.txt b/build/pkgs/_prereq/distros/opensuse.txt
+index 070f456..959ab26 100644
+--- a/build/pkgs/_prereq/distros/opensuse.txt
++++ b/build/pkgs/_prereq/distros/opensuse.txt
+@@ -19,6 +19,7 @@ which
+ glibc-locale-base
+ gcc
+ gcc-c++
++gcc-fortran
+ # Needed if we download some packages from a https upstream URL
+ ca-certificates
+ # gunzip needed for ppl spkg
+diff --git a/build/pkgs/_prereq/distros/slackware.txt b/build/pkgs/_prereq/distros/slackware.txt
+index a976efe..11ec3b9 100644
+--- a/build/pkgs/_prereq/distros/slackware.txt
++++ b/build/pkgs/_prereq/distros/slackware.txt
+@@ -3,6 +3,7 @@ make
+ guile gc libffi  # dependencies of make
+ "gcc-[0-9]"      # So that slackpkg pattern matching does not pull in all gcc-* packages
+ gcc-g++
++gcc-gfortran
+ libmpc glibc kernel-headers # dependencies of gcc
+ perl
+ m4
+diff --git a/build/pkgs/_prereq/distros/void.txt b/build/pkgs/_prereq/distros/void.txt
+index a2e7644..2769f4d 100644
+--- a/build/pkgs/_prereq/distros/void.txt
++++ b/build/pkgs/_prereq/distros/void.txt
+@@ -7,4 +7,5 @@ python3
+ tar
+ bc
+ gcc
++gcc-fortran
+ which
+-- 
+cgit v1.0-1-gd88e
+
+
+From 8af511c414982483de66a93d84865475b262efc1 Mon Sep 17 00:00:00 2001
+From: Dima Pasechnik <dima@pasechnik.info>
+Date: Tue, 16 Nov 2021 15:47:08 +0000
+Subject: rebase, update deps
+
+---
+ build/pkgs/cycler/checksums.ini           | 1 +
+ build/pkgs/cycler/package-version.txt     | 2 +-
+ build/pkgs/kiwisolver/checksums.ini       | 7 ++++---
+ build/pkgs/kiwisolver/package-version.txt | 2 +-
+ build/pkgs/pytz/SPKG.rst                  | 1 +
+ build/pkgs/pytz/package-version.txt       | 2 +-
+ 6 files changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/build/pkgs/cycler/checksums.ini b/build/pkgs/cycler/checksums.ini
+index 6c1ffe0..f6d988d 100644
+--- a/build/pkgs/cycler/checksums.ini
++++ b/build/pkgs/cycler/checksums.ini
+@@ -2,3 +2,4 @@ tarball=cycler-VERSION.tar.gz
+ sha1=1bcf4a985a5f414333603f3f70a7deebbaf30439
+ md5=4cb42917ac5007d1cdff6cccfe2d016b
+ cksum=4189438538
++upstream_url=https://github.com/matplotlib/cycler/archive/refs/tags/vVERSION.tar.gz
+diff --git a/build/pkgs/cycler/package-version.txt b/build/pkgs/cycler/package-version.txt
+index db2d863..d9df1bb 100644
+--- a/build/pkgs/cycler/package-version.txt
++++ b/build/pkgs/cycler/package-version.txt
+@@ -1 +1 @@
+-0.10.0.p0
++0.11.0
+diff --git a/build/pkgs/kiwisolver/checksums.ini b/build/pkgs/kiwisolver/checksums.ini
+index 1ca0ba3..fc15fad 100644
+--- a/build/pkgs/kiwisolver/checksums.ini
++++ b/build/pkgs/kiwisolver/checksums.ini
+@@ -1,4 +1,5 @@
+ tarball=kiwisolver-VERSION.tar.gz
+-sha1=093c2348a53fe18d42983ddbd823911b21781928
+-md5=e2a1718b837e2cd001f7c06934616fcd
+-cksum=4236707026
++sha1=61811685031328a8a2a77f45593d8238432ce35e
++md5=98d746f558685c6b6658cefc39be14df
++cksum=1915059157
++upstream_url=https://files.pythonhosted.org/packages/source/k/kiwisolver/kiwisolver-VERSION.tar.gz
+diff --git a/build/pkgs/kiwisolver/package-version.txt b/build/pkgs/kiwisolver/package-version.txt
+index 7dea76e..1892b92 100644
+--- a/build/pkgs/kiwisolver/package-version.txt
++++ b/build/pkgs/kiwisolver/package-version.txt
+@@ -1 +1 @@
+-1.0.1
++1.3.2
+diff --git a/build/pkgs/pytz/SPKG.rst b/build/pkgs/pytz/SPKG.rst
+index 75827d0..199f8df 100644
+--- a/build/pkgs/pytz/SPKG.rst
++++ b/build/pkgs/pytz/SPKG.rst
+@@ -5,6 +5,7 @@ Description
+ -----------
+ 
+ World Timezone Definitions for Python
++See https://pypi.org/project/pytz/
+ 
+ 
+ Special Update/Build Instructions
+diff --git a/build/pkgs/pytz/package-version.txt b/build/pkgs/pytz/package-version.txt
+index d673154..c9c8e05 100644
+--- a/build/pkgs/pytz/package-version.txt
++++ b/build/pkgs/pytz/package-version.txt
+@@ -1 +1 @@
+-2021.1
++2021.3
+-- 
+cgit v1.0-1-gd88e
+
+
+From 5c972e4f1e27382191f268880c5222dc9d687d11 Mon Sep 17 00:00:00 2001
+From: Dima Pasechnik <dima@pasechnik.info>
+Date: Tue, 16 Nov 2021 15:52:31 +0000
+Subject: correct checksum
+
+---
+ build/pkgs/pytz/checksums.ini | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/build/pkgs/pytz/checksums.ini b/build/pkgs/pytz/checksums.ini
+index ede348f..0faabac 100644
+--- a/build/pkgs/pytz/checksums.ini
++++ b/build/pkgs/pytz/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=pytz-VERSION.tar.gz
+-sha1=738cff9addf39084e5655558482f865dca2c66dd
+-md5=8c849bdf95414fe708a84473e42d4406
+-cksum=1633513953
++sha1=fa6729d40cfa607daee0f40cdab165976ab0e0a3
++md5=d7b7060bbac4970afa2050c139c9fcb6
++cksum=3161093227
+ upstream_url=https://pypi.io/packages/source/p/pytz/pytz-VERSION.tar.gz
+-- 
+cgit v1.0-1-gd88e
+
+
+From 00b677bcc532b75faec7ee8980e25d8ddeb395ae Mon Sep 17 00:00:00 2001
+From: Dima Pasechnik <dima@pasechnik.info>
+Date: Tue, 16 Nov 2021 16:52:32 +0000
+Subject: new dep of kiwisolver, cppy
+
+---
+ build/pkgs/cppy/checksums.ini       | 5 +++++
+ build/pkgs/cppy/package-version.txt | 1 +
+ build/pkgs/cppy/spkg-install.in     | 1 +
+ build/pkgs/cppy/type                | 1 +
+ 4 files changed, 8 insertions(+)
+ create mode 100644 build/pkgs/cppy/checksums.ini
+ create mode 100644 build/pkgs/cppy/package-version.txt
+ create mode 100644 build/pkgs/cppy/spkg-install.in
+ create mode 100644 build/pkgs/cppy/type
+
+diff --git a/build/pkgs/cppy/checksums.ini b/build/pkgs/cppy/checksums.ini
+new file mode 100644
+index 00000000..85eb695
+--- /dev/null
++++ b/build/pkgs/cppy/checksums.ini
+@@ -0,0 +1,5 @@
++tarball=cppy-VERSION.tar.gz
++sha1=61811685031328a8a2a77f45593d8238432ce35e
++md5=98d746f558685c6b6658cefc39be14df
++cksum=1915059157
++upstream_url=https://files.pythonhosted.org/packages/source/c/cppy/cppy-VERSION.tar.gz
+diff --git a/build/pkgs/cppy/package-version.txt b/build/pkgs/cppy/package-version.txt
+new file mode 100644
+index 00000000..9084fa2
+--- /dev/null
++++ b/build/pkgs/cppy/package-version.txt
+@@ -0,0 +1 @@
++1.1.0
+diff --git a/build/pkgs/cppy/spkg-install.in b/build/pkgs/cppy/spkg-install.in
+new file mode 100644
+index 00000000..deba1bb
+--- /dev/null
++++ b/build/pkgs/cppy/spkg-install.in
+@@ -0,0 +1 @@
++cd src && sdh_pip_install .
+diff --git a/build/pkgs/cppy/type b/build/pkgs/cppy/type
+new file mode 100644
+index 00000000..a6a7b9c
+--- /dev/null
++++ b/build/pkgs/cppy/type
+@@ -0,0 +1 @@
++standard
+-- 
+cgit v1.0-1-gd88e
+
+
+From 48b7ec3849754abb1a526887a85f6fdd4e6a4d30 Mon Sep 17 00:00:00 2001
+From: Dima Pasechnik <dima@pasechnik.info>
+Date: Tue, 16 Nov 2021 16:56:36 +0000
+Subject: update matplotlib deps
+
+---
+ build/pkgs/certifi/checksums.ini         | 6 +++---
+ build/pkgs/certifi/package-version.txt   | 2 +-
+ build/pkgs/cppy/checksums.ini            | 6 +++---
+ build/pkgs/cppy/dependencies             | 5 +++++
+ build/pkgs/cycler/checksums.ini          | 6 +++---
+ build/pkgs/dateutil/checksums.ini        | 7 ++++---
+ build/pkgs/dateutil/package-version.txt  | 2 +-
+ build/pkgs/kiwisolver/dependencies       | 2 +-
+ build/pkgs/pillow/checksums.ini          | 6 +++---
+ build/pkgs/pillow/package-version.txt    | 2 +-
+ build/pkgs/pyparsing/checksums.ini       | 7 ++++---
+ build/pkgs/pyparsing/package-version.txt | 2 +-
+ 12 files changed, 30 insertions(+), 23 deletions(-)
+ create mode 100644 build/pkgs/cppy/dependencies
+
+diff --git a/build/pkgs/certifi/checksums.ini b/build/pkgs/certifi/checksums.ini
+index bc548e0..87d8378 100644
+--- a/build/pkgs/certifi/checksums.ini
++++ b/build/pkgs/certifi/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=certifi-VERSION.tar.gz
+-sha1=93145f31550b5e11dc323085d75a227856b93fd4
+-md5=4b38238b7305fcb3ffbc4368be4e8845
+-cksum=3424910066
++sha1=b13e22d55867e2ca5f92e5289cfdc21ba6e343aa
++md5=880ed9e5d04aff8f46f5ff82a3a3e395
++cksum=613361382
+ upstream_url=https://pypi.io/packages/source/c/certifi/certifi-VERSION.tar.gz
+diff --git a/build/pkgs/certifi/package-version.txt b/build/pkgs/certifi/package-version.txt
+index 6b59105..6b1fb39 100644
+--- a/build/pkgs/certifi/package-version.txt
++++ b/build/pkgs/certifi/package-version.txt
+@@ -1 +1 @@
+-2021.5.30
++2021.10.8
+diff --git a/build/pkgs/cppy/checksums.ini b/build/pkgs/cppy/checksums.ini
+index 85eb695..5c78167 100644
+--- a/build/pkgs/cppy/checksums.ini
++++ b/build/pkgs/cppy/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=cppy-VERSION.tar.gz
+-sha1=61811685031328a8a2a77f45593d8238432ce35e
+-md5=98d746f558685c6b6658cefc39be14df
+-cksum=1915059157
++sha1=3af4f5f14ef1f9b49d7457e2fa5c241c721db29c
++md5=2110891d75aa12551deebba1603428c6
++cksum=793876648
+ upstream_url=https://files.pythonhosted.org/packages/source/c/cppy/cppy-VERSION.tar.gz
+diff --git a/build/pkgs/cppy/dependencies b/build/pkgs/cppy/dependencies
+new file mode 100644
+index 00000000..15df0c4
+--- /dev/null
++++ b/build/pkgs/cppy/dependencies
+@@ -0,0 +1,5 @@
++$(PYTHON) | $(PYTHON_TOOLCHAIN)
++
++----------
++All lines of this file are ignored except the first.
++It is copied by SAGE_ROOT/build/make/install into SAGE_ROOT/build/make/Makefile.
+diff --git a/build/pkgs/cycler/checksums.ini b/build/pkgs/cycler/checksums.ini
+index f6d988d..8883ddd 100644
+--- a/build/pkgs/cycler/checksums.ini
++++ b/build/pkgs/cycler/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=cycler-VERSION.tar.gz
+-sha1=1bcf4a985a5f414333603f3f70a7deebbaf30439
+-md5=4cb42917ac5007d1cdff6cccfe2d016b
+-cksum=4189438538
++sha1=ea144185cf1d54d7415e3c66d705d9a232e57da5
++md5=cf3b4846fded12fa4d2a7a291a5d6e13
++cksum=3626319704
+ upstream_url=https://github.com/matplotlib/cycler/archive/refs/tags/vVERSION.tar.gz
+diff --git a/build/pkgs/dateutil/checksums.ini b/build/pkgs/dateutil/checksums.ini
+index e08ee45..20fbeb6 100644
+--- a/build/pkgs/dateutil/checksums.ini
++++ b/build/pkgs/dateutil/checksums.ini
+@@ -1,4 +1,5 @@
+ tarball=python-dateutil-VERSION.tar.gz
+-sha1=bd26127e57f83a10f656b62c46524c15aeb844dd
+-md5=f2a1d4b680b297b367a974664ca3a4f6
+-cksum=675236266
++sha1=c2ba10c775b7a52a4b57cac4d4110a0c0f812a82
++md5=5970010bb72452344df3d76a10281b65
++cksum=3093929984
++upstream_url=https://files.pythonhosted.org/packages/source/p/python-dateutil/python-dateutil-VERSION.tar.gz
+diff --git a/build/pkgs/dateutil/package-version.txt b/build/pkgs/dateutil/package-version.txt
+index dbe5900..1817afe 100644
+--- a/build/pkgs/dateutil/package-version.txt
++++ b/build/pkgs/dateutil/package-version.txt
+@@ -1 +1 @@
+-2.8.1
++2.8.2
+diff --git a/build/pkgs/kiwisolver/dependencies b/build/pkgs/kiwisolver/dependencies
+index 15df0c4..80b9352 100644
+--- a/build/pkgs/kiwisolver/dependencies
++++ b/build/pkgs/kiwisolver/dependencies
+@@ -1,4 +1,4 @@
+-$(PYTHON) | $(PYTHON_TOOLCHAIN)
++$(PYTHON) cppy | $(PYTHON_TOOLCHAIN)
+ 
+ ----------
+ All lines of this file are ignored except the first.
+diff --git a/build/pkgs/pillow/checksums.ini b/build/pkgs/pillow/checksums.ini
+index 7adfee1..71d2e39 100644
+--- a/build/pkgs/pillow/checksums.ini
++++ b/build/pkgs/pillow/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=Pillow-VERSION.tar.gz
+-sha1=2c972f30581da0c58edb1e2bed420c2b8f6fd216
+-md5=14ce2c5d19369e335c331c8f529ecf87
+-cksum=976804255
++sha1=ca8d057aec64ccd0804044bc71c17921afbe2e4e
++md5=7a1eb5a250c7ccbd549a89e16404f09f
++cksum=555919456
+ upstream_url=https://pypi.io/packages/source/p/pillow/Pillow-VERSION.tar.gz
+diff --git a/build/pkgs/pillow/package-version.txt b/build/pkgs/pillow/package-version.txt
+index 6b409d9..a2f28f4 100644
+--- a/build/pkgs/pillow/package-version.txt
++++ b/build/pkgs/pillow/package-version.txt
+@@ -1 +1 @@
+-8.1.2
++8.4.0
+diff --git a/build/pkgs/pyparsing/checksums.ini b/build/pkgs/pyparsing/checksums.ini
+index 30aa3fa..d3c3d9b 100644
+--- a/build/pkgs/pyparsing/checksums.ini
++++ b/build/pkgs/pyparsing/checksums.ini
+@@ -1,4 +1,5 @@
+ tarball=pyparsing-VERSION.tar.gz
+-sha1=ca8d892c93fe2d54ea5e6f31c5798e40c58e8667
+-md5=f0953e47a0112f7a65aec2305ffdf7b4
+-cksum=2411150047
++sha1=9c25e076bcf191734a44b85d1eb5d8c3324894c6
++md5=2f5fad6c8e99ac2562ab08ad9e45b195
++cksum=421409881
++upstream_url=https://files.pythonhosted.org/packages/source/p/pyparsing/pyparsing-VERSION.tar.gz
+diff --git a/build/pkgs/pyparsing/package-version.txt b/build/pkgs/pyparsing/package-version.txt
+index e30309f..818bd47 100644
+--- a/build/pkgs/pyparsing/package-version.txt
++++ b/build/pkgs/pyparsing/package-version.txt
+@@ -1 +1 @@
+-2.4.7
++3.0.6
+-- 
+cgit v1.0-1-gd88e
+
+
+From 26910e65f5357fc2f6505440fccc718a52908872 Mon Sep 17 00:00:00 2001
+From: Dima Pasechnik <dima@pasechnik.info>
+Date: Tue, 16 Nov 2021 17:48:55 +0000
+Subject: fix SPKG.rst's for cppy and kiwisolver
+
+---
+ build/pkgs/cppy/SPKG.rst       | 22 ++++++++++++++++++++++
+ build/pkgs/kiwisolver/SPKG.rst |  6 ------
+ 2 files changed, 22 insertions(+), 6 deletions(-)
+ create mode 100644 build/pkgs/cppy/SPKG.rst
+
+diff --git a/build/pkgs/cppy/SPKG.rst b/build/pkgs/cppy/SPKG.rst
+new file mode 100644
+index 00000000..a10d0e1
+--- /dev/null
++++ b/build/pkgs/cppy/SPKG.rst
+@@ -0,0 +1,22 @@
++cppy: C++ headers for C extension development
++===========================================================================
++
++Description
++-----------
++
++From: https://pypi.org/project/cppy/
++
++A small C++ header library which makes it easier to write Python extension
++modules. The primary feature is a PyObject smart pointer which automatically
++handles reference counting and provides convenience methods for performing
++common object operations.
++
++License
++-------
++
++Modified BSD 3-Clause-License
++
++Upstream Contact
++----------------
++
++https://github.com/nucleic/cppy
+diff --git a/build/pkgs/kiwisolver/SPKG.rst b/build/pkgs/kiwisolver/SPKG.rst
+index afaccda..f461bf0 100644
+--- a/build/pkgs/kiwisolver/SPKG.rst
++++ b/build/pkgs/kiwisolver/SPKG.rst
+@@ -29,9 +29,3 @@ Upstream Contact
+ ----------------
+ 
+ https://github.com/nucleic/kiwi
+-
+-Dependencies
+-------------
+-
+--  python
+--  setuptools
+-- 
+cgit v1.0-1-gd88e
+
+
+From aedaf93a51ee4bd69cf61b7c999940d6990b911c Mon Sep 17 00:00:00 2001
+From: Dima Pasechnik <dima@pasechnik.info>
+Date: Tue, 16 Nov 2021 17:58:07 +0000
+Subject: Revert "add gfortran to _prereq/distros/*"
+
+This reverts commit 42435f4aee9cd901dba119255a02247055b7dc80.
+---
+ build/pkgs/_prereq/distros/arch.txt      | 1 -
+ build/pkgs/_prereq/distros/conda.txt     | 1 -
+ build/pkgs/_prereq/distros/cygwin.txt    | 1 -
+ build/pkgs/_prereq/distros/debian.txt    | 1 -
+ build/pkgs/_prereq/distros/fedora.txt    | 1 -
+ build/pkgs/_prereq/distros/freebsd.txt   | 1 -
+ build/pkgs/_prereq/distros/homebrew.txt  | 3 ++-
+ build/pkgs/_prereq/distros/macports.txt  | 1 -
+ build/pkgs/_prereq/distros/opensuse.txt  | 1 -
+ build/pkgs/_prereq/distros/slackware.txt | 1 -
+ build/pkgs/_prereq/distros/void.txt      | 1 -
+ 11 files changed, 2 insertions(+), 11 deletions(-)
+ delete mode 100644 build/pkgs/_prereq/distros/macports.txt
+
+diff --git a/build/pkgs/_prereq/distros/arch.txt b/build/pkgs/_prereq/distros/arch.txt
+index f43cab4..9b9bf09 100644
+--- a/build/pkgs/_prereq/distros/arch.txt
++++ b/build/pkgs/_prereq/distros/arch.txt
+@@ -6,6 +6,5 @@ python # system python for bootstrapping the build
+ tar
+ bc
+ gcc
+-gcc-fortran
+ # Needed for 4ti2:
+ which
+diff --git a/build/pkgs/_prereq/distros/conda.txt b/build/pkgs/_prereq/distros/conda.txt
+index 0e66d82..a02a39e 100644
+--- a/build/pkgs/_prereq/distros/conda.txt
++++ b/build/pkgs/_prereq/distros/conda.txt
+@@ -1,5 +1,4 @@
+ compilers
+-fortran-compiler
+ make
+ m4
+ perl
+diff --git a/build/pkgs/_prereq/distros/cygwin.txt b/build/pkgs/_prereq/distros/cygwin.txt
+index fc0304d..635afe8 100644
+--- a/build/pkgs/_prereq/distros/cygwin.txt
++++ b/build/pkgs/_prereq/distros/cygwin.txt
+@@ -19,7 +19,6 @@ perl-ExtUtils-MakeMaker
+ tar
+ gcc-core
+ gcc-g++
+-gcc-fortran
+ # Needed according to embray at https://trac.sagemath.org/ticket/26964:
+ # The need for which comes [...] from MPIR's configure script
+ findutils
+diff --git a/build/pkgs/_prereq/distros/debian.txt b/build/pkgs/_prereq/distros/debian.txt
+index c348ee3..50be6ac 100644
+--- a/build/pkgs/_prereq/distros/debian.txt
++++ b/build/pkgs/_prereq/distros/debian.txt
+@@ -26,6 +26,5 @@ gcc
+ # configure: error: in `/sage':
+ # configure: error: C++ preprocessor "/lib/cpp" fails sanity check
+ g++
+-gfortran
+ # Needed if we download some packages from a https upstream URL
+ ca-certificates
+diff --git a/build/pkgs/_prereq/distros/fedora.txt b/build/pkgs/_prereq/distros/fedora.txt
+index d5a5ae7..a82e29a 100644
+--- a/build/pkgs/_prereq/distros/fedora.txt
++++ b/build/pkgs/_prereq/distros/fedora.txt
+@@ -26,7 +26,6 @@ gcc
+ # configure: error: in `/sage':
+ # configure: error: C++ preprocessor "/lib/cpp" fails sanity check
+ gcc-c++
+-gcc-gfortran
+ # Needed according to embray at https://trac.sagemath.org/ticket/26964:
+ # The need for which comes [...] from MPIR's configure script
+ findutils
+diff --git a/build/pkgs/_prereq/distros/freebsd.txt b/build/pkgs/_prereq/distros/freebsd.txt
+index ec26136..cc708cc 100644
+--- a/build/pkgs/_prereq/distros/freebsd.txt
++++ b/build/pkgs/_prereq/distros/freebsd.txt
+@@ -17,4 +17,3 @@ automake
+ bash
+ dash
+ python # python metaport for bootstrapping the build
+-lang/gcc9 # gfortran
+diff --git a/build/pkgs/_prereq/distros/homebrew.txt b/build/pkgs/_prereq/distros/homebrew.txt
+index f537c17..863c22a 100644
+--- a/build/pkgs/_prereq/distros/homebrew.txt
++++ b/build/pkgs/_prereq/distros/homebrew.txt
+@@ -8,4 +8,5 @@
+ # for use in "sage -info SPKG".
+ #
+ # Everything on a line after a # character is ignored.
+-gcc
++
++# No packages needed
+diff --git a/build/pkgs/_prereq/distros/macports.txt b/build/pkgs/_prereq/distros/macports.txt
+deleted file mode 100644
+index c2878ad..00000000
+--- a/build/pkgs/_prereq/distros/macports.txt
++++ /dev/null
+@@ -1 +0,0 @@
+-gcc10 +gfortran
+diff --git a/build/pkgs/_prereq/distros/opensuse.txt b/build/pkgs/_prereq/distros/opensuse.txt
+index 959ab26..070f456 100644
+--- a/build/pkgs/_prereq/distros/opensuse.txt
++++ b/build/pkgs/_prereq/distros/opensuse.txt
+@@ -19,7 +19,6 @@ which
+ glibc-locale-base
+ gcc
+ gcc-c++
+-gcc-fortran
+ # Needed if we download some packages from a https upstream URL
+ ca-certificates
+ # gunzip needed for ppl spkg
+diff --git a/build/pkgs/_prereq/distros/slackware.txt b/build/pkgs/_prereq/distros/slackware.txt
+index 11ec3b9..a976efe 100644
+--- a/build/pkgs/_prereq/distros/slackware.txt
++++ b/build/pkgs/_prereq/distros/slackware.txt
+@@ -3,7 +3,6 @@ make
+ guile gc libffi  # dependencies of make
+ "gcc-[0-9]"      # So that slackpkg pattern matching does not pull in all gcc-* packages
+ gcc-g++
+-gcc-gfortran
+ libmpc glibc kernel-headers # dependencies of gcc
+ perl
+ m4
+diff --git a/build/pkgs/_prereq/distros/void.txt b/build/pkgs/_prereq/distros/void.txt
+index 2769f4d..a2e7644 100644
+--- a/build/pkgs/_prereq/distros/void.txt
++++ b/build/pkgs/_prereq/distros/void.txt
+@@ -7,5 +7,4 @@ python3
+ tar
+ bc
+ gcc
+-gcc-fortran
+ which
+-- 
+cgit v1.0-1-gd88e
+
+
+From 62792d4b191d2116774562147a5d089b88d5c1cd Mon Sep 17 00:00:00 2001
+From: Dima Pasechnik <dima@pasechnik.info>
+Date: Tue, 16 Nov 2021 18:42:30 +0000
+Subject: use pypi host for cycler url
+
+---
+ build/pkgs/cycler/checksums.ini | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/build/pkgs/cycler/checksums.ini b/build/pkgs/cycler/checksums.ini
+index 8883ddd..b9f7e51 100644
+--- a/build/pkgs/cycler/checksums.ini
++++ b/build/pkgs/cycler/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=cycler-VERSION.tar.gz
+-sha1=ea144185cf1d54d7415e3c66d705d9a232e57da5
+-md5=cf3b4846fded12fa4d2a7a291a5d6e13
+-cksum=3626319704
+-upstream_url=https://github.com/matplotlib/cycler/archive/refs/tags/vVERSION.tar.gz
++sha1=576c8605d33a8f70eccabf321ecc9e2fbdb9fb72
++md5=4d0c25f418956e91c47163179682e0ef
++cksum=2916957464
++upstream_url=https://files.pythonhosted.org/packages/source/c/cycler/cycler-VERSION.tar.gz
+-- 
+cgit v1.0-1-gd88e
+
+
+From 6d203eb9812b244096f597f6998655110468c6ee Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Fri, 17 Dec 2021 18:34:30 -0800
+Subject: build/pkgs/matplotlib: Update to 3.5.1
+
+---
+ build/pkgs/matplotlib/checksums.ini       | 6 +++---
+ build/pkgs/matplotlib/package-version.txt | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/build/pkgs/matplotlib/checksums.ini b/build/pkgs/matplotlib/checksums.ini
+index 2783080..b2b3d3c 100644
+--- a/build/pkgs/matplotlib/checksums.ini
++++ b/build/pkgs/matplotlib/checksums.ini
+@@ -1,5 +1,5 @@
+ tarball=matplotlib-VERSION.tar.gz
+-sha1=764fb3c673f45bedb472bc81c63b9c36f7973c46
+-md5=6858958370a26cccfa81abc7b6dd3622
+-cksum=2317464343
++sha1=a9bb3b92594d991908a0052384c6abed81227a6f
++md5=63adf3126167a54b1d5a506a71ecef46
++cksum=1898324331
+ upstream_url=https://pypi.io/packages/source/m/matplotlib/matplotlib-VERSION.tar.gz
+diff --git a/build/pkgs/matplotlib/package-version.txt b/build/pkgs/matplotlib/package-version.txt
+index 6cb9d3d..d5c0c99 100644
+--- a/build/pkgs/matplotlib/package-version.txt
++++ b/build/pkgs/matplotlib/package-version.txt
+@@ -1 +1 @@
+-3.4.3
++3.5.1
+-- 
+cgit v1.0-1-gd88e
+
+
+From 5a68988cfb3f32884e9d2d68f484745c34c70ee1 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Fri, 17 Dec 2021 18:46:25 -0800
+Subject: build/pkgs/matplotlib/make-setup-config.py: Write mplsetup.cfg, not
+ setup.cfg
+
+---
+ build/pkgs/matplotlib/make-setup-config.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build/pkgs/matplotlib/make-setup-config.py b/build/pkgs/matplotlib/make-setup-config.py
+index 2a53eab..98450de 100644
+--- a/build/pkgs/matplotlib/make-setup-config.py
++++ b/build/pkgs/matplotlib/make-setup-config.py
+@@ -37,5 +37,5 @@ config.add_section('gui_support')
+ for backend in ('gtk', 'gtkagg', 'tkagg', 'wxagg', 'macosx', 'windowing'):
+     config.set('gui_support', backend,  graphical_backend)
+ 
+-with open('src/setup.cfg', 'w') as configfile:
++with open('src/mplsetup.cfg', 'w') as configfile:
+     config.write(configfile)
+-- 
+cgit v1.0-1-gd88e
+
+
+From 767092b9dc04a4744b9e10ab4dabc0684756e038 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Fri, 17 Dec 2021 18:46:42 -0800
+Subject: build/pkgs/matplotlib/dependencies: Update dependencies
+
+---
+ build/pkgs/matplotlib/dependencies | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build/pkgs/matplotlib/dependencies b/build/pkgs/matplotlib/dependencies
+index e32a563..0b3e62b 100644
+--- a/build/pkgs/matplotlib/dependencies
++++ b/build/pkgs/matplotlib/dependencies
+@@ -1,4 +1,4 @@
+-$(PYTHON) numpy freetype pillow dateutil pyparsing tornado six cycler qhull | $(PYTHON_TOOLCHAIN) pytz kiwisolver certifi
++$(PYTHON) numpy freetype pillow dateutil pyparsing tornado six cycler qhull fonttools | $(PYTHON_TOOLCHAIN) pytz kiwisolver certifi setuptools_scm_git_archive
+ 
+ ----------
+ All lines of this file are ignored except the first.
+-- 
+cgit v1.0-1-gd88e
+
+
+From 9b5a66335b9cf7b46c27c35b75ed12511660f858 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Fri, 17 Dec 2021 18:47:08 -0800
+Subject: build/pkgs/setuptools_scm_git_archive: New, matplotlib dependency
+
+---
+ build/pkgs/setuptools_scm_git_archive/SPKG.rst         | 18 ++++++++++++++++++
+ build/pkgs/setuptools_scm_git_archive/checksums.ini    |  5 +++++
+ build/pkgs/setuptools_scm_git_archive/dependencies     |  4 ++++
+ .../setuptools_scm_git_archive/install-requires.txt    |  1 +
+ .../setuptools_scm_git_archive/package-version.txt     |  1 +
+ build/pkgs/setuptools_scm_git_archive/spkg-install.in  |  2 ++
+ build/pkgs/setuptools_scm_git_archive/type             |  1 +
+ 7 files changed, 32 insertions(+)
+ create mode 100644 build/pkgs/setuptools_scm_git_archive/SPKG.rst
+ create mode 100644 build/pkgs/setuptools_scm_git_archive/checksums.ini
+ create mode 100644 build/pkgs/setuptools_scm_git_archive/dependencies
+ create mode 100644 build/pkgs/setuptools_scm_git_archive/install-requires.txt
+ create mode 100644 build/pkgs/setuptools_scm_git_archive/package-version.txt
+ create mode 100644 build/pkgs/setuptools_scm_git_archive/spkg-install.in
+ create mode 100644 build/pkgs/setuptools_scm_git_archive/type
+
+diff --git a/build/pkgs/setuptools_scm_git_archive/SPKG.rst b/build/pkgs/setuptools_scm_git_archive/SPKG.rst
+new file mode 100644
+index 00000000..540e0c2
+--- /dev/null
++++ b/build/pkgs/setuptools_scm_git_archive/SPKG.rst
+@@ -0,0 +1,18 @@
++setuptools_scm_git_archive: setuptools_scm plugin for git archives
++==================================================================
++
++Description
++-----------
++
++setuptools_scm plugin for git archives
++
++License
++-------
++
++MIT
++
++Upstream Contact
++----------------
++
++https://pypi.org/project/setuptools-scm-git-archive/
++
+diff --git a/build/pkgs/setuptools_scm_git_archive/checksums.ini b/build/pkgs/setuptools_scm_git_archive/checksums.ini
+new file mode 100644
+index 00000000..9a773ee
+--- /dev/null
++++ b/build/pkgs/setuptools_scm_git_archive/checksums.ini
+@@ -0,0 +1,5 @@
++tarball=setuptools_scm_git_archive-VERSION.tar.gz
++sha1=eda18924f3917e94cc54227660e3437d47f53bb9
++md5=1c9351fa5cebd12e76488737a7c78f2e
++cksum=188023730
++upstream_url=https://pypi.io/packages/source/s/setuptools_scm_git_archive/setuptools_scm_git_archive-VERSION.tar.gz
+diff --git a/build/pkgs/setuptools_scm_git_archive/dependencies b/build/pkgs/setuptools_scm_git_archive/dependencies
+new file mode 100644
+index 00000000..0738c2d
+--- /dev/null
++++ b/build/pkgs/setuptools_scm_git_archive/dependencies
+@@ -0,0 +1,4 @@
++$(PYTHON) | $(PYTHON_TOOLCHAIN)
++
++----------
++All lines of this file are ignored except the first.
+diff --git a/build/pkgs/setuptools_scm_git_archive/install-requires.txt b/build/pkgs/setuptools_scm_git_archive/install-requires.txt
+new file mode 100644
+index 00000000..538474f
+--- /dev/null
++++ b/build/pkgs/setuptools_scm_git_archive/install-requires.txt
+@@ -0,0 +1 @@
++setuptools-scm-git-archive
+diff --git a/build/pkgs/setuptools_scm_git_archive/package-version.txt b/build/pkgs/setuptools_scm_git_archive/package-version.txt
+new file mode 100644
+index 00000000..9459d4b
+--- /dev/null
++++ b/build/pkgs/setuptools_scm_git_archive/package-version.txt
+@@ -0,0 +1 @@
++1.1
+diff --git a/build/pkgs/setuptools_scm_git_archive/spkg-install.in b/build/pkgs/setuptools_scm_git_archive/spkg-install.in
+new file mode 100644
+index 00000000..37ac1a5
+--- /dev/null
++++ b/build/pkgs/setuptools_scm_git_archive/spkg-install.in
+@@ -0,0 +1,2 @@
++cd src
++sdh_pip_install .
+diff --git a/build/pkgs/setuptools_scm_git_archive/type b/build/pkgs/setuptools_scm_git_archive/type
+new file mode 100644
+index 00000000..a6a7b9c
+--- /dev/null
++++ b/build/pkgs/setuptools_scm_git_archive/type
+@@ -0,0 +1 @@
++standard
+-- 
+cgit v1.0-1-gd88e
+
+
+From d865a54526829b79d5d236a40f83ddc6ce7b2696 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Sat, 18 Dec 2021 12:33:27 -0800
+Subject: build/pkgs/fonttools: New
+
+---
+ build/pkgs/fonttools/SPKG.rst             | 18 ++++++++++++++++++
+ build/pkgs/fonttools/checksums.ini        |  5 +++++
+ build/pkgs/fonttools/dependencies         |  4 ++++
+ build/pkgs/fonttools/install-requires.txt |  1 +
+ build/pkgs/fonttools/package-version.txt  |  1 +
+ build/pkgs/fonttools/spkg-install.in      |  3 +++
+ build/pkgs/fonttools/type                 |  1 +
+ 7 files changed, 33 insertions(+)
+ create mode 100644 build/pkgs/fonttools/SPKG.rst
+ create mode 100644 build/pkgs/fonttools/checksums.ini
+ create mode 100644 build/pkgs/fonttools/dependencies
+ create mode 100644 build/pkgs/fonttools/install-requires.txt
+ create mode 100644 build/pkgs/fonttools/package-version.txt
+ create mode 100644 build/pkgs/fonttools/spkg-install.in
+ create mode 100644 build/pkgs/fonttools/type
+
+diff --git a/build/pkgs/fonttools/SPKG.rst b/build/pkgs/fonttools/SPKG.rst
+new file mode 100644
+index 00000000..7882c8b
+--- /dev/null
++++ b/build/pkgs/fonttools/SPKG.rst
+@@ -0,0 +1,18 @@
++fonttools: Tools to manipulate font files
++=========================================
++
++Description
++-----------
++
++Tools to manipulate font files
++
++License
++-------
++
++MIT
++
++Upstream Contact
++----------------
++
++https://pypi.org/project/fonttools/
++
+diff --git a/build/pkgs/fonttools/checksums.ini b/build/pkgs/fonttools/checksums.ini
+new file mode 100644
+index 00000000..1a0ba14
+--- /dev/null
++++ b/build/pkgs/fonttools/checksums.ini
+@@ -0,0 +1,5 @@
++tarball=fonttools-VERSION.zip
++sha1=8d6f8120ad4b3d00dd92cfea3a2e0b4ae1d72bc7
++md5=c1605575dcc45ef35455ae1d606868b3
++cksum=3346598630
++upstream_url=https://pypi.io/packages/source/f/fonttools/fonttools-VERSION.zip
+diff --git a/build/pkgs/fonttools/dependencies b/build/pkgs/fonttools/dependencies
+new file mode 100644
+index 00000000..9c73666
+--- /dev/null
++++ b/build/pkgs/fonttools/dependencies
+@@ -0,0 +1,4 @@
++$(PYTHON) | $(PYTHON_TOOLCHAIN) cython
++
++----------
++All lines of this file are ignored except the first.
+diff --git a/build/pkgs/fonttools/install-requires.txt b/build/pkgs/fonttools/install-requires.txt
+new file mode 100644
+index 00000000..d32bfca
+--- /dev/null
++++ b/build/pkgs/fonttools/install-requires.txt
+@@ -0,0 +1 @@
++fonttools
+diff --git a/build/pkgs/fonttools/package-version.txt b/build/pkgs/fonttools/package-version.txt
+new file mode 100644
+index 00000000..1f30b28
+--- /dev/null
++++ b/build/pkgs/fonttools/package-version.txt
+@@ -0,0 +1 @@
++4.28.4
+diff --git a/build/pkgs/fonttools/spkg-install.in b/build/pkgs/fonttools/spkg-install.in
+new file mode 100644
+index 00000000..8855291
+--- /dev/null
++++ b/build/pkgs/fonttools/spkg-install.in
+@@ -0,0 +1,3 @@
++cd src
++export FONTTOOLS_WITH_CYTHON=1
++sdh_pip_install .
+diff --git a/build/pkgs/fonttools/type b/build/pkgs/fonttools/type
+new file mode 100644
+index 00000000..a6a7b9c
+--- /dev/null
++++ b/build/pkgs/fonttools/type
+@@ -0,0 +1 @@
++standard
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 7764899e557f..1d11705eecb7 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -22,6 +22,11 @@ distfiles="https://mirrors.mit.edu/sage/src/sage-$version.tar.gz"
 checksum=124f3d23ce6442ecc84ed98e3c035e0d00c8261c3125712e4742c32e731d13de
 python_version=3
 
+build_options="system_python3"
+desc_option_system_python="Build using system python 3"
+build_options_default="system_python3"
+configure_args+=" $(vopt_with system_python3)"
+
 # path where sage will be installed
 _SAGE_ROOT=/usr/lib/sage-${version}
 
@@ -30,6 +35,74 @@ case ${version} in
 	*.beta*|*.rc*) distfiles=${distfiles/sage\/src/sage\/devel} ;;
 esac
 
+# extra upstream packages (trac-30766 / trac-32968 / trac-33020 / trac-33040)
+_upstream="
+ https://pypi.io/packages/source/i/ipython/ipython-7.29.0.tar.gz
+ https://pypi.io/packages/source/i/ipykernel/ipykernel-6.5.1.tar.gz
+ https://pypi.io/packages/source/i/ipywidgets/ipywidgets-7.6.5.tar.gz
+ https://pypi.io/packages/source/j/jedi/jedi-0.18.1.tar.gz
+ https://pypi.io/packages/source/p/prompt_toolkit/prompt_toolkit-3.0.22.tar.gz
+ https://pypi.io/packages/source/w/widgetsnbextension/widgetsnbextension-3.5.2.tar.gz
+ https://pypi.io/packages/source/t/terminado/terminado-0.12.1.tar.gz
+ https://pypi.io/packages/source/n/notebook/notebook-6.4.6.tar.gz
+ https://pypi.io/packages/source/n/nbclient/nbclient-0.5.9.tar.gz
+ https://pypi.io/packages/source/j/jupyter_client/jupyter_client-7.1.0.tar.gz
+ https://pypi.io/packages/source/j/jupyter_core/jupyter_core-4.9.1.tar.gz
+ https://pypi.io/packages/source/i/importlib_metadata/importlib_metadata-4.8.2.tar.gz
+
+ https://pypi.io/packages/source/s/sphinx/Sphinx-4.3.1.tar.gz
+
+ https://pypi.io/packages/source/i/ipykernel/ipykernel-6.6.0.tar.gz
+
+ https://files.pythonhosted.org/packages/source/c/cycler/cycler-0.11.0.tar.gz
+ https://files.pythonhosted.org/packages/source/k/kiwisolver/kiwisolver-1.3.2.tar.gz
+ https://pypi.io/packages/source/p/pytz/pytz-2021.3.tar.gz
+ https://files.pythonhosted.org/packages/source/c/cppy/cppy-1.1.0.tar.gz
+ https://pypi.io/packages/source/c/certifi/certifi-2021.10.8.tar.gz
+ https://files.pythonhosted.org/packages/source/p/python-dateutil/python-dateutil-2.8.2.tar.gz
+ https://pypi.io/packages/source/p/pillow/Pillow-8.4.0.tar.gz
+ https://files.pythonhosted.org/packages/source/p/pyparsing/pyparsing-3.0.6.tar.gz
+ https://pypi.io/packages/source/m/matplotlib/matplotlib-3.5.1.tar.gz
+ https://pypi.io/packages/source/s/setuptools_scm_git_archive/setuptools_scm_git_archive-1.1.tar.gz
+ https://pypi.io/packages/source/f/fonttools/fonttools-4.28.4.zip
+"
+
+checksum+="
+ 4f69d7423a5a1972f6347ff233e38bbf4df6a150ef20fbb00c635442ac3060aa
+ dd27172bccbbcfef952991e49372e4c6fd1c14eed0df05ebd5b4335cb27a81a2
+ 00974f7cb4d5f8d494c19810fedb9fa9b64bffd3cda7c2be23c133a1ad3c99c5
+ 74137626a64a99c8eb6ae5832d99b3bdd7d29a3850fe2aa80a4126b2a7d949ab
+ 449f333dd120bd01f5d296a8ce1452114ba3a71fae7288d2f0ae2c918764fa72
+ e0731a60ba540cd19bbbefe771a9076dcd2dde90713a8f87f27f53f2d1db7727
+ b20fd93cc57c1678c799799d117874367cc07a3d2d55be95205b1a88fa08393f
+ 7bcdf79bd1cda534735bd9830d2cbedab4ee34d8fe1df6e7b946b3aab0902ba3
+ 99e46ddafacd0b861293bf246fed8540a184adfa3aa7d641f89031ec070701e0
+ a5f995a73cffb314ed262713ae6dfce53c6b8216cea9f332071b8ff44a6e1654
+ dce8a7499da5a53ae3afd5a9f4b02e5df1d57250cf48f3ad79da23b4778cd6fa
+ 75bdec14c397f528724c1bfd9709d660b33a4d2e77387a3358f20b848bb5e5fb
+
+ 32a5b3e9a1b176cc25ed048557d4d3d01af635e6b76c5bc7a43b0a34447fbd45
+
+ 3a227788216b43982d9ac28195949467627b0d16e6b8af9741d95dcaa8c41a89
+
+ 9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f
+ fc4453705b81d03568d5b808ad8f09c77c47534f6ac2e72e733f9ca4714aa75c
+ acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326
+ 4eda6f1952054a270f32dc11df7c5e24b259a09fddf7bfaa5f33df9fb4a29642
+ 78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872
+ 0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86
+ b8e2f83c56e141920c39464b852de3719dfbfb6e3c99a2d8da0edf4fb33176ed
+ d9bdec0013ef1eb5a84ab39a3b3868911598afa494f5faa038647101504e2b81
+ b2e9810e09c3a47b73ce9cab5a72243a1258f61e7900969097a817232246ce1c
+ 6026f61089b73fa1b5ee737e95314f41cb512609b393530385ed281d0b46c062
+ 581a682a7102a41421e7e484303572c565c1b8e52b1cc9fecd3c159dbe9a02f4
+"
+
+for u in ${_upstream}; do
+	distfiles+=" $u"
+	skip_extraction+=" ${u##*[/>]}"
+done
+
 # for now, skip check in ci, since we still have a few tests failing
 #make_check=ci-skip
 
@@ -51,6 +124,10 @@ post_extract() {
 	rm -rf $_SAGE_ROOT
 	mv -T $wrksrc $_SAGE_ROOT
 	ln -srfT $_SAGE_ROOT $wrksrc
+
+	for u in ${_upstream}; do
+		cp "$XBPS_SRCDISTDIR/${pkgname}-${version}/${u##*[/>]}" $wrksrc/upstream
+	done
 }
 
 do_clean() {
@@ -92,6 +169,7 @@ do_check() {
 	OPT="--optional sage,optional,build"
 	# since make check will build the docs, run test like this instead
 	./sage -tp ${XBPS_MAKEJOBS} ${OPT} ${TEST}
+	#./sage -t ${OPT} ${TEST}
 }
 
 ### copied from sage-deps, to be kept in sync

From 6eec62191faa744185e6e904acc51963f7f99d14 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 21 Dec 2021 17:12:18 -0300
Subject: [PATCH 16/39] sagemath: more changes

 - setup trigger to compile python code on install
 - more cleanup
 - add some empty dirs needed to pass doctests after installation, since
   the tree is readonly; maybe a different fix is patch those doctests
   with the tag "# optional - dochtml" so they only run when we install
   the documentation.
 - temporarily keep pkgs/*/build which is needed by a doctest, but this
   is a lot of useless stuff on a readonly tree so I'll fix it in a
   different way later (patch the doctest so it works both when this
   directory is present and when it's not)
 - a patch to pass doctest on readonly tree (https://trac.sagemath.org/33064)
 - more patches to remove deprecation warnings
 - patch to avoid a warning when byte-compiling sagetexparse.py
 - patch to remove a slow doctest
 - rename patches to match trac tickets
---
 ...rning-when-byte-compiling-sagetexpar.patch |  35 ++++
 ...840b4f066a206cca26c54a8206740a8f6c66.patch | 151 ++++++++++++++++++
 ...c4322416b2ef96590a5b42d3916342f48059.patch |  28 ++++
 ...ec8d447be5bbd3a4260e7a5e0e4653e0c34.patch} |   6 +-
 ...e8168a9ffb4fbf07dd03c0846b4933a6dbe.patch} |   8 +-
 ...26e3db5ea06b962fac386fa3c7223f9a14fb.patch |  51 ++++++
 ...cf1eadfd8ab540a31c5c5ef09d56df09b90e.patch |  32 ++++
 srcpkgs/sagemath/template                     |  20 ++-
 8 files changed, 322 insertions(+), 9 deletions(-)
 create mode 100644 srcpkgs/sagemath/patches/0001-sagetex-Fix-a-warning-when-byte-compiling-sagetexpar.patch
 create mode 100644 srcpkgs/sagemath/patches/trac-32964-speed_up_doctest_orthogonal_polys-2aef840b4f066a206cca26c54a8206740a8f6c66.patch
 create mode 100644 srcpkgs/sagemath/patches/trac-33041-suppress_pythran_deprecation_warnings-ee51c4322416b2ef96590a5b42d3916342f48059.patch
 rename srcpkgs/sagemath/patches/{0001-build-pkgs-gap-spkg-install-make-symlinks-relative.patch => trac-33046-gap_make_symlinks_relative-521a9ec8d447be5bbd3a4260e7a5e0e4653e0c34.patch} (89%)
 rename srcpkgs/sagemath/patches/{0001-Add-a-patch-that-fixes-ctypes.util.find_library-c.patch => trac-33047-musl_fix_find_library-dc1a0e8168a9ffb4fbf07dd03c0846b4933a6dbe.patch} (92%)
 create mode 100644 srcpkgs/sagemath/patches/trac-33063-notebook_fix_deprecation_warning-966926e3db5ea06b962fac386fa3c7223f9a14fb.patch
 create mode 100644 srcpkgs/sagemath/patches/trac-33064-sage_docbuild_ignore_cache_save_permission_error-f767cf1eadfd8ab540a31c5c5ef09d56df09b90e.patch

diff --git a/srcpkgs/sagemath/patches/0001-sagetex-Fix-a-warning-when-byte-compiling-sagetexpar.patch b/srcpkgs/sagemath/patches/0001-sagetex-Fix-a-warning-when-byte-compiling-sagetexpar.patch
new file mode 100644
index 000000000000..bab6d8441d42
--- /dev/null
+++ b/srcpkgs/sagemath/patches/0001-sagetex-Fix-a-warning-when-byte-compiling-sagetexpar.patch
@@ -0,0 +1,35 @@
+From 57e3eba28c9b4ee6bd3407d0715b8bd00aaf04a7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Wed, 22 Dec 2021 19:02:08 -0300
+Subject: [PATCH] sagetex: Fix a warning when byte-compiling sagetexparse.py
+
+---
+ .../sagetex/patches/sagetex-fix-warning.patch    | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+ create mode 100644 build/pkgs/sagetex/patches/sagetex-fix-warning.patch
+
+diff --git a/build/pkgs/sagetex/patches/sagetex-fix-warning.patch b/build/pkgs/sagetex/patches/sagetex-fix-warning.patch
+new file mode 100644
+index 0000000000..d82ab675dd
+--- /dev/null
++++ b/build/pkgs/sagetex/patches/sagetex-fix-warning.patch
+@@ -0,0 +1,16 @@
++Fix a warning when byte-compiling sagetexparse.py
++
++.../venv/share/texmf/tex/latex/sagetex/sagetexparse.py:135: SyntaxWarning: "is not" with a literal. Did you mean "!="?
++  if t.format is not '':
++
++--- a/sagetexparse.py	2020-08-12 05:35:31.000000000 -0300
+++++ b/sagetexparse.py	2021-12-22 18:57:46.619024835 -0300
++@@ -132,7 +132,7 @@
++ 
++   def plotout(self, s, l, t):
++     self.result += '# \\sageplot{} from line %s:\n' % lineno(l, s)
++-    if t.format is not '':
+++    if t.format != '':
++       self.result += '# format: %s' % t.format[0][1:-1] + '\n'
++     self.result += t.code[1:-1] + '\n\n'
++ 
+-- 
+2.34.1
+
diff --git a/srcpkgs/sagemath/patches/trac-32964-speed_up_doctest_orthogonal_polys-2aef840b4f066a206cca26c54a8206740a8f6c66.patch b/srcpkgs/sagemath/patches/trac-32964-speed_up_doctest_orthogonal_polys-2aef840b4f066a206cca26c54a8206740a8f6c66.patch
new file mode 100644
index 000000000000..97bba8fba0f5
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-32964-speed_up_doctest_orthogonal_polys-2aef840b4f066a206cca26c54a8206740a8f6c66.patch
@@ -0,0 +1,151 @@
+From e713a4f9601a066a42174db4a55cb62aee603840 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 3 Dec 2021 21:20:34 -0500
+Subject: Trac #32964: speed up a very slow doctest in
+ functions.orthogonal_polys.
+
+I've got 99 problems, and they're slow. One doctest in this module is
+repeating a random test 100 times, taking over four minutes on my
+machine. More tests are better, but in this case, coverage will
+eventually accrue from the number of testers even if we only repeat
+the test once within the file.
+
+Since this particular test is an EXAMPLE, I've also made it a bit more
+user-friendly while eliminating the additional runs.
+
+message for your changes. Lines starting # with '#' will be ignored,
+and an empty message aborts the commit.  # # On branch
+u/mjo/ticket/32964 # Changes to be committed: # modified:
+src/sage/functions/orthogonal_polys.py #
+---
+ src/sage/functions/orthogonal_polys.py | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/src/sage/functions/orthogonal_polys.py b/src/sage/functions/orthogonal_polys.py
+index de8a18b..522933e 100644
+--- a/src/sage/functions/orthogonal_polys.py
++++ b/src/sage/functions/orthogonal_polys.py
+@@ -2081,10 +2081,13 @@ class Func_ultraspherical(GinacFunction):
+         sage: gegenbauer(3,2,t)
+         32*t^3 - 12*t
+         sage: _ = var('x')
+-        sage: for N in range(100):
+-        ....:     n = ZZ.random_element(5, 5001)
+-        ....:     a = QQ.random_element().abs() + 5
+-        ....:     assert ((n+1)*ultraspherical(n+1,a,x) - 2*x*(n+a)*ultraspherical(n,a,x) + (n+2*a-1)*ultraspherical(n-1,a,x)).expand().is_zero()
++        sage: n = ZZ.random_element(5, 5001)
++        sage: a = QQ.random_element().abs() + 5
++        sage: s = (  (n+1)*ultraspherical(n+1,a,x)
++        ....:      - 2*x*(n+a)*ultraspherical(n,a,x)
++        ....:      + (n+2*a-1)*ultraspherical(n-1,a,x) )
++        sage: s.expand().is_zero()
++        True
+         sage: ultraspherical(5,9/10,3.1416)
+         6949.55439044240
+         sage: ultraspherical(5,9/10,RealField(100)(pi))
+-- 
+cgit v1.0-1-gd88e
+
+
+From a2343424267d7357c1ab6bec706e3447d6280687 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 3 Dec 2021 21:30:57 -0500
+Subject: Trac #32964: replace some uses of var() with SR.var().
+
+This is unrelated to the main purpose of ticket 32964, but while I was
+editing this file, I noticed that several examples use var() to inject
+symbolic expressions into the current scope. This commit changes them
+to use the preferred form `x = SR.var('x')` whose side-effects are
+much easier to predict.
+---
+ src/sage/functions/orthogonal_polys.py | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/sage/functions/orthogonal_polys.py b/src/sage/functions/orthogonal_polys.py
+index 522933e..cd845a5 100644
+--- a/src/sage/functions/orthogonal_polys.py
++++ b/src/sage/functions/orthogonal_polys.py
+@@ -1911,7 +1911,7 @@ class Func_hermite(GinacFunction):
+         ...
+         RuntimeError: hermite_eval: The index n must be a nonnegative integer
+ 
+-        sage: _ = var('m x')
++        sage: m,x = SR.var('m,x')
+         sage: hermite(m, x).diff(m)
+         Traceback (most recent call last):
+         ...
+@@ -1962,7 +1962,7 @@ class Func_jacobi_P(OrthogonalFunction):
+ 
+         EXAMPLES::
+ 
+-            sage: _ = var('n a b x')
++            sage: n,a,b,x = SR.var('n,a,b,x')
+             sage: loads(dumps(jacobi_P))
+             jacobi_P
+             sage: jacobi_P(n, a, b, x, hold=True)._sympy_()
+@@ -1976,7 +1976,7 @@ class Func_jacobi_P(OrthogonalFunction):
+         """
+         EXAMPLES::
+ 
+-            sage: _ = var('n a b x')
++            sage: n,a,b,x = SR.var('n,a,b,x')
+             sage: jacobi_P(1,n,n,n)
+             (n + 1)*n
+             sage: jacobi_P(2,n,n,n)
+@@ -2080,7 +2080,7 @@ class Func_ultraspherical(GinacFunction):
+         sage: t = PolynomialRing(RationalField(),"t").gen()
+         sage: gegenbauer(3,2,t)
+         32*t^3 - 12*t
+-        sage: _ = var('x')
++        sage: x = SR.var('x')
+         sage: n = ZZ.random_element(5, 5001)
+         sage: a = QQ.random_element().abs() + 5
+         sage: s = (  (n+1)*ultraspherical(n+1,a,x)
+@@ -2093,7 +2093,7 @@ class Func_ultraspherical(GinacFunction):
+         sage: ultraspherical(5,9/10,RealField(100)(pi))
+         6949.4695419382702451843080687
+ 
+-        sage: _ = var('a n')
++        sage: a,n = SR.var('a,n')
+         sage: gegenbauer(2,a,x)
+         2*(a + 1)*a*x^2 - a
+         sage: gegenbauer(3,a,x)
+-- 
+cgit v1.0-1-gd88e
+
+
+From 9b2f042147b4d25c5d7e1776bfb4b5c76db9d97b Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 3 Dec 2021 21:39:43 -0500
+Subject: Trac #32964: fix failing doctest in functions.orthogonal_polys.
+
+One of the examples in this module is expecting a doctest warning, but
+that warning is only emitted the first time it happens. When testing
+with
+
+  sage -t --file-iterations=2
+
+the warning does not appear in the second pass, and the test (that is
+expecting it) fails. This commit adds some more "..." to support both
+possible outcomes.
+---
+ src/sage/functions/orthogonal_polys.py | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/sage/functions/orthogonal_polys.py b/src/sage/functions/orthogonal_polys.py
+index cd845a5..beb4f2d 100644
+--- a/src/sage/functions/orthogonal_polys.py
++++ b/src/sage/functions/orthogonal_polys.py
+@@ -495,8 +495,7 @@ class ChebyshevFunction(OrthogonalFunction):
+             sage: chebyshev_T(5,Qp(3)(2))
+             2 + 3^2 + 3^3 + 3^4 + 3^5 + O(3^20)
+             sage: chebyshev_T(100001/2, 2)
+-            doctest:...: RuntimeWarning: mpmath failed, keeping expression unevaluated
+-            chebyshev_T(100001/2, 2)
++            ...chebyshev_T(100001/2, 2)
+             sage: chebyshev_U._eval_(1.5, Mod(8,9)) is None
+             True
+         """
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/patches/trac-33041-suppress_pythran_deprecation_warnings-ee51c4322416b2ef96590a5b42d3916342f48059.patch b/srcpkgs/sagemath/patches/trac-33041-suppress_pythran_deprecation_warnings-ee51c4322416b2ef96590a5b42d3916342f48059.patch
new file mode 100644
index 000000000000..5263dc2d9d08
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-33041-suppress_pythran_deprecation_warnings-ee51c4322416b2ef96590a5b42d3916342f48059.patch
@@ -0,0 +1,28 @@
+From ee51c4322416b2ef96590a5b42d3916342f48059 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Sat, 18 Dec 2021 14:23:57 -0800
+Subject: src/sage/all.py: Suppress numpy deprecation warnings triggered by
+ pythran
+
+---
+ src/sage/all.py | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/sage/all.py b/src/sage/all.py
+index 27cbfe7..3b50ef0 100644
+--- a/src/sage/all.py
++++ b/src/sage/all.py
+@@ -91,6 +91,10 @@ warnings.filterwarnings('ignore', category=DeprecationWarning,
+ warnings.filterwarnings('ignore', category=DeprecationWarning,
+     module='(.*[.]_vendor[.])?packaging')
+ 
++# Ignore numpy warnings triggered by pythran
++warnings.filterwarnings('ignore', category=DeprecationWarning,
++                        module='pythran')
++
+ ################ end setup warnings ###############################
+ 
+ 
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/patches/0001-build-pkgs-gap-spkg-install-make-symlinks-relative.patch b/srcpkgs/sagemath/patches/trac-33046-gap_make_symlinks_relative-521a9ec8d447be5bbd3a4260e7a5e0e4653e0c34.patch
similarity index 89%
rename from srcpkgs/sagemath/patches/0001-build-pkgs-gap-spkg-install-make-symlinks-relative.patch
rename to srcpkgs/sagemath/patches/trac-33046-gap_make_symlinks_relative-521a9ec8d447be5bbd3a4260e7a5e0e4653e0c34.patch
index c9feb870f2be..485fb0176f45 100644
--- a/srcpkgs/sagemath/patches/0001-build-pkgs-gap-spkg-install-make-symlinks-relative.patch
+++ b/srcpkgs/sagemath/patches/trac-33046-gap_make_symlinks_relative-521a9ec8d447be5bbd3a4260e7a5e0e4653e0c34.patch
@@ -1,14 +1,14 @@
 From 521a9ec8d447be5bbd3a4260e7a5e0e4653e0c34 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
 Date: Sun, 28 Nov 2021 18:57:34 -0300
-Subject: [PATCH] build/pkgs/gap/spkg-install: make symlinks relative
+Subject: build/pkgs/gap/spkg-install: make symlinks relative
 
 ---
  build/pkgs/gap/spkg-install.in | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/build/pkgs/gap/spkg-install.in b/build/pkgs/gap/spkg-install.in
-index 32d1fb982c..2ceadf99db 100644
+index 32d1fb9..2ceadf9 100644
 --- a/build/pkgs/gap/spkg-install.in
 +++ b/build/pkgs/gap/spkg-install.in
 @@ -80,8 +80,8 @@ chmod +x "$SAGE_DESTDIR$SAGE_BIN/gap"
@@ -23,5 +23,5 @@ index 32d1fb982c..2ceadf99db 100644
  # Fix the $GAP_ROOT/bin/<arch>/src symlink to be relative (otherwise it links
  # to the actual path of the sources GAP was compiled from)
 -- 
-2.34.1
+cgit v1.0-1-gd88e
 
diff --git a/srcpkgs/sagemath/patches/0001-Add-a-patch-that-fixes-ctypes.util.find_library-c.patch b/srcpkgs/sagemath/patches/trac-33047-musl_fix_find_library-dc1a0e8168a9ffb4fbf07dd03c0846b4933a6dbe.patch
similarity index 92%
rename from srcpkgs/sagemath/patches/0001-Add-a-patch-that-fixes-ctypes.util.find_library-c.patch
rename to srcpkgs/sagemath/patches/trac-33047-musl_fix_find_library-dc1a0e8168a9ffb4fbf07dd03c0846b4933a6dbe.patch
index 4f89c2bd8fbc..3d4f4e14bb7b 100644
--- a/srcpkgs/sagemath/patches/0001-Add-a-patch-that-fixes-ctypes.util.find_library-c.patch
+++ b/srcpkgs/sagemath/patches/trac-33047-musl_fix_find_library-dc1a0e8168a9ffb4fbf07dd03c0846b4933a6dbe.patch
@@ -1,17 +1,17 @@
 From dc1a0e8168a9ffb4fbf07dd03c0846b4933a6dbe Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
 Date: Mon, 22 Nov 2021 23:57:37 -0300
-Subject: [PATCH] Add a patch that fixes ctypes.util.find_library('c')
+Subject: Add a patch that fixes ctypes.util.find_library('c')
 
 The issue causes a failure doctesting src/sage/misc/gperftools.py
 ---
- .../python3/patches/musl-find_library.patch   | 44 +++++++++++++++++++
+ build/pkgs/python3/patches/musl-find_library.patch | 44 ++++++++++++++++++++++
  1 file changed, 44 insertions(+)
  create mode 100644 build/pkgs/python3/patches/musl-find_library.patch
 
 diff --git a/build/pkgs/python3/patches/musl-find_library.patch b/build/pkgs/python3/patches/musl-find_library.patch
 new file mode 100644
-index 0000000000..82f436b407
+index 00000000..82f436b
 --- /dev/null
 +++ b/build/pkgs/python3/patches/musl-find_library.patch
 @@ -0,0 +1,44 @@
@@ -60,5 +60,5 @@ index 0000000000..82f436b407
 + 
 +         def _findSoname_ldconfig(name):
 -- 
-2.34.0
+cgit v1.0-1-gd88e
 
diff --git a/srcpkgs/sagemath/patches/trac-33063-notebook_fix_deprecation_warning-966926e3db5ea06b962fac386fa3c7223f9a14fb.patch b/srcpkgs/sagemath/patches/trac-33063-notebook_fix_deprecation_warning-966926e3db5ea06b962fac386fa3c7223f9a14fb.patch
new file mode 100644
index 000000000000..921a1669fd2a
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-33063-notebook_fix_deprecation_warning-966926e3db5ea06b962fac386fa3c7223f9a14fb.patch
@@ -0,0 +1,51 @@
+From 966926e3db5ea06b962fac386fa3c7223f9a14fb Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Tue, 21 Dec 2021 14:57:20 -0300
+Subject: notebook: fix deprecation warning
+
+While doctesting `src/sage/repl/ipython_kernel/install.py`:
+
+> DeprecationWarning: invalid escape sequence '\s'
+
+The solution is to make the regex a raw string.
+---
+ .../f99beefdf45dd2891bb7ebdd93f7a67e44623aee.patch | 27 ++++++++++++++++++++++
+ 1 file changed, 27 insertions(+)
+ create mode 100644 build/pkgs/notebook/patches/f99beefdf45dd2891bb7ebdd93f7a67e44623aee.patch
+
+diff --git a/build/pkgs/notebook/patches/f99beefdf45dd2891bb7ebdd93f7a67e44623aee.patch b/build/pkgs/notebook/patches/f99beefdf45dd2891bb7ebdd93f7a67e44623aee.patch
+new file mode 100644
+index 00000000..29875b0
+--- /dev/null
++++ b/build/pkgs/notebook/patches/f99beefdf45dd2891bb7ebdd93f7a67e44623aee.patch
+@@ -0,0 +1,27 @@
++From f99beefdf45dd2891bb7ebdd93f7a67e44623aee Mon Sep 17 00:00:00 2001
++From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
++Date: Tue, 21 Dec 2021 14:54:24 -0300
++Subject: [PATCH] Fix deprecation warning
++
++In sagemath, while doctesting `src/sage/repl/ipython_kernel/install.py`:
++
++> DeprecationWarning: invalid escape sequence '\s'
++
++The solution is to make the regex a raw string.
++---
++ notebook/auth/login.py | 2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++diff --git a/notebook/auth/login.py b/notebook/auth/login.py
++index 1ac434dc5e..16c4e7a356 100644
++--- a/notebook/auth/login.py
+++++ b/notebook/auth/login.py
++@@ -112,7 +112,7 @@ def set_login_cookie(cls, handler, user_id=None):
++         handler.set_secure_cookie(handler.cookie_name, user_id, **cookie_options)
++         return user_id
++ 
++-    auth_header_pat = re.compile('token\s+(.+)', re.IGNORECASE)
+++    auth_header_pat = re.compile(r'token\s+(.+)', re.IGNORECASE)
++ 
++     @classmethod
++     def get_token(cls, handler):
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/patches/trac-33064-sage_docbuild_ignore_cache_save_permission_error-f767cf1eadfd8ab540a31c5c5ef09d56df09b90e.patch b/srcpkgs/sagemath/patches/trac-33064-sage_docbuild_ignore_cache_save_permission_error-f767cf1eadfd8ab540a31c5c5ef09d56df09b90e.patch
new file mode 100644
index 000000000000..20fa12e570eb
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-33064-sage_docbuild_ignore_cache_save_permission_error-f767cf1eadfd8ab540a31c5c5ef09d56df09b90e.patch
@@ -0,0 +1,32 @@
+From f767cf1eadfd8ab540a31c5c5ef09d56df09b90e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Tue, 21 Dec 2021 13:08:44 -0300
+Subject: sage_docbuild: do not fail when cache cannot be saved
+
+---
+ src/sage_docbuild/__init__.py | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/src/sage_docbuild/__init__.py b/src/sage_docbuild/__init__.py
+index 8a5c1a1..e188c9b 100644
+--- a/src/sage_docbuild/__init__.py
++++ b/src/sage_docbuild/__init__.py
+@@ -856,9 +856,12 @@ class ReferenceSubBuilder(DocBuilder):
+         Pickle the current reference cache for later retrieval.
+         """
+         cache = self.get_cache()
+-        with open(self.cache_filename(), 'wb') as file:
+-            pickle.dump(cache, file)
+-        logger.debug("Saved the reference cache: %s", self.cache_filename())
++        try:
++            with open(self.cache_filename(), 'wb') as file:
++                pickle.dump(cache, file)
++            logger.debug("Saved the reference cache: %s", self.cache_filename())
++        except PermissionError:
++            logger.debug("Permission denied for the reference cache: %s", self.cache_filename())
+ 
+     def get_sphinx_environment(self):
+         """
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 1d11705eecb7..09ce541a6a23 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -119,6 +119,9 @@ noshlibprovides=yes
 # don't rewrite python shebang as sage uses its own python (for now)
 _no_python_shebang=yes
 
+# compile python code in sage venv
+pycompile_dirs="$_SAGE_ROOT/venv"
+
 post_extract() {
 	# sage wants to be built in place so let $wrksrc be a symlink
 	rm -rf $_SAGE_ROOT
@@ -150,9 +153,22 @@ pre_configure() {
 
 do_install() {
 	vcopy $_SAGE_ROOT usr/lib/
-	# cleanup: upstream sources and build artifacts
+	# cleanup: upstream packages and build artifacts
 	rm -rf ${DESTDIR}/$_SAGE_ROOT/upstream
-	rm -rf ${DESTDIR}/$_SAGE_ROOT/pkgs/*/build
+	#rm -rf ${DESTDIR}/$_SAGE_ROOT/pkgs/*/build
+	# more cleanup
+	for d in .ci .circleci .git .github autom4te.cache config docker m4
+	do
+		rm -rf ${DESTDIR}/$_SAGE_ROOT/$d
+	done
+	# keep required empty dirs
+	for d in local/share/doc/sage/html/en/{docname,tutorial,reference} \
+	         local/share/doc/sage/doctrees/en/{docname,tutorial}
+	do
+		mkdir -p ${DESTDIR}/$_SAGE_ROOT/$d
+		touch ${DESTDIR}/$_SAGE_ROOT/$d/.empty
+	done
+
 	# symlink main binary
 	vmkdir usr/bin
 	# for now use sage-${version}_${revision} so it doesn't override

From e1ba2ceab0bdceb90546b11898e54c377ac1beab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 26 Dec 2021 18:38:28 -0300
Subject: [PATCH 17/39] sagemath: more changes

 - add debug build option
 - fix pycompile_dirs
 - set MAKE with -j option before configure
 - improve handling of comments in ${XBPS_DISTDIR}/sagemath-check
---
 srcpkgs/sagemath/template | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 09ce541a6a23..c2ba123ca0ac 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -22,7 +22,8 @@ distfiles="https://mirrors.mit.edu/sage/src/sage-$version.tar.gz"
 checksum=124f3d23ce6442ecc84ed98e3c035e0d00c8261c3125712e4742c32e731d13de
 python_version=3
 
-build_options="system_python3"
+build_options="debug system_python3"
+desc_option_debug="Build with debug symbols"
 desc_option_system_python="Build using system python 3"
 build_options_default="system_python3"
 configure_args+=" $(vopt_with system_python3)"
@@ -120,7 +121,7 @@ noshlibprovides=yes
 _no_python_shebang=yes
 
 # compile python code in sage venv
-pycompile_dirs="$_SAGE_ROOT/venv"
+pycompile_dirs="$_SAGE_ROOT/venv/"
 
 post_extract() {
 	# sage wants to be built in place so let $wrksrc be a symlink
@@ -139,6 +140,12 @@ do_clean() {
 
 pre_configure() {
 	./bootstrap
+
+	if [ "$build_option_debug" ]; then
+		export SAGE_DEBUG=yes
+	fi
+
+	export MAKE="make -j ${XBPS_MAKEJOBS}"
 }
 
 # DISABLED pytest since it brings more harm than good
@@ -179,7 +186,7 @@ do_install() {
 do_check() {
 	TEST=--all
 	if [ -f ${XBPS_DISTDIR}/sagemath-check ] ; then
-		TEST="$(grep -v "^#" ${XBPS_DISTDIR}/sagemath-check)"
+		TEST="$(sed -e 's/#.*//' ${XBPS_DISTDIR}/sagemath-check)"
 	fi
 	# the default is "sage,dochtml,optional,build", we skip dochtml
 	OPT="--optional sage,optional,build"

From 3da57c6a1f29820436b7e8617591e78f27ac94c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 26 Dec 2021 19:29:39 -0300
Subject: [PATCH 18/39] sagemath: update to 9.5.beta9.

---
 ...3996062c71a9326aafddaf465f6a56b40fe0.patch | 886 ------------------
 ...1d4ced4264f65ab704f725f6f5879b012796.patch | 263 ++++++
 ...08fd9d56d022ed28592f93f07ec8dce530ef.patch |  49 -
 ...b99e0270f80cf03b80418372f45274f46051.patch | 163 ----
 ...840b4f066a206cca26c54a8206740a8f6c66.patch | 151 ---
 ...77cfadd7b3872ad6f7001fe84fb7568c947c.patch |  84 --
 ...c4322416b2ef96590a5b42d3916342f48059.patch |  28 -
 ...508cb136b860d6ef36410811f07a14658492.patch |  51 +
 ...c98f32c0b9e65a0674d13c55b00fbf7b8a1f.patch |  68 ++
 ...4ea702799d8ddee23d306ea6622f2ac412ce.patch | 177 ++++
 srcpkgs/sagemath/template                     |  43 +-
 11 files changed, 562 insertions(+), 1401 deletions(-)
 delete mode 100644 srcpkgs/sagemath/patches/trac-30766-system_python_3.10-b5c73996062c71a9326aafddaf465f6a56b40fe0.patch
 create mode 100644 srcpkgs/sagemath/patches/trac-30766-system_python_3.10-df9f1d4ced4264f65ab704f725f6f5879b012796.patch
 delete mode 100644 srcpkgs/sagemath/patches/trac-32880-17e308fd9d56d022ed28592f93f07ec8dce530ef.patch
 delete mode 100644 srcpkgs/sagemath/patches/trac-32905-2ee7b99e0270f80cf03b80418372f45274f46051.patch
 delete mode 100644 srcpkgs/sagemath/patches/trac-32964-speed_up_doctest_orthogonal_polys-2aef840b4f066a206cca26c54a8206740a8f6c66.patch
 delete mode 100644 srcpkgs/sagemath/patches/trac-33020-update_ipykernel_to_6.6.0-715277cfadd7b3872ad6f7001fe84fb7568c947c.patch
 delete mode 100644 srcpkgs/sagemath/patches/trac-33041-suppress_pythran_deprecation_warnings-ee51c4322416b2ef96590a5b42d3916342f48059.patch
 create mode 100644 srcpkgs/sagemath/patches/trac-33073-fix_segfault_on_polyhedra-179a508cb136b860d6ef36410811f07a14658492.patch
 create mode 100644 srcpkgs/sagemath/patches/trac-33081-fix_segfault_on_musl_1.2-36dc98f32c0b9e65a0674d13c55b00fbf7b8a1f.patch
 create mode 100644 srcpkgs/sagemath/patches/trac-33085-pass_doctests_without_dochtml-4e364ea702799d8ddee23d306ea6622f2ac412ce.patch

diff --git a/srcpkgs/sagemath/patches/trac-30766-system_python_3.10-b5c73996062c71a9326aafddaf465f6a56b40fe0.patch b/srcpkgs/sagemath/patches/trac-30766-system_python_3.10-b5c73996062c71a9326aafddaf465f6a56b40fe0.patch
deleted file mode 100644
index eb9b0c3f6672..000000000000
--- a/srcpkgs/sagemath/patches/trac-30766-system_python_3.10-b5c73996062c71a9326aafddaf465f6a56b40fe0.patch
+++ /dev/null
@@ -1,886 +0,0 @@
-From fe947f3c9a6109b92dd4c19dda795ceb01c6f9a7 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Wed, 24 Nov 2021 18:23:16 -0800
-Subject: build/pkgs/ipython: Update to 7.29.0
-
----
- build/pkgs/ipython/checksums.ini       | 6 +++---
- build/pkgs/ipython/package-version.txt | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/build/pkgs/ipython/checksums.ini b/build/pkgs/ipython/checksums.ini
-index aa743ea..03da012 100644
---- a/build/pkgs/ipython/checksums.ini
-+++ b/build/pkgs/ipython/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=ipython-VERSION.tar.gz
--sha1=a64001602601a4a7917a32b496543153f82dd65a
--md5=e28a91669dc8b86569a99abed2c67f08
--cksum=4064786540
-+sha1=05165e7fdcebde908aa6b65892ef230795a01e6b
-+md5=159340b8ba158386f938a8b882749fed
-+cksum=1960065579
- upstream_url=https://pypi.io/packages/source/i/ipython/ipython-VERSION.tar.gz
-diff --git a/build/pkgs/ipython/package-version.txt b/build/pkgs/ipython/package-version.txt
-index f6b1800..d88eca0 100644
---- a/build/pkgs/ipython/package-version.txt
-+++ b/build/pkgs/ipython/package-version.txt
-@@ -1 +1 @@
--7.27.0
-+7.29.0
--- 
-cgit v1.0-1-gd88e
-
-
-From 7939a79de125c7f20e981b31c0124e1d80ec9e42 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Wed, 24 Nov 2021 18:28:14 -0800
-Subject: build/pkgs/ipykernel: Update to 6.5.1
-
----
- build/pkgs/ipykernel/checksums.ini       | 6 +++---
- build/pkgs/ipykernel/package-version.txt | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/build/pkgs/ipykernel/checksums.ini b/build/pkgs/ipykernel/checksums.ini
-index 51eb667..ca1302e 100644
---- a/build/pkgs/ipykernel/checksums.ini
-+++ b/build/pkgs/ipykernel/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=ipykernel-VERSION.tar.gz
--sha1=19b16c61057bb7f5ad97f7e91bb54cdfec260257
--md5=329c172babb38dff1be130ddf3a609af
--cksum=2936157099
-+sha1=2c2aa0e929bfd0e694da6b45d2de846a0a5d2812
-+md5=78797cb2389d8f131c75280f808aac15
-+cksum=1454395629
- upstream_url=https://pypi.io/packages/source/i/ipykernel/ipykernel-VERSION.tar.gz
-diff --git a/build/pkgs/ipykernel/package-version.txt b/build/pkgs/ipykernel/package-version.txt
-index dc0208a..a194c18 100644
---- a/build/pkgs/ipykernel/package-version.txt
-+++ b/build/pkgs/ipykernel/package-version.txt
-@@ -1 +1 @@
--6.3.1
-+6.5.1
--- 
-cgit v1.0-1-gd88e
-
-
-From 73df3fc22ba3455befb05758f813caa3dd0a010b Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Wed, 24 Nov 2021 18:28:44 -0800
-Subject: build/pkgs/ipywidgets: Update to 7.6.5
-
----
- build/pkgs/ipywidgets/checksums.ini       | 6 +++---
- build/pkgs/ipywidgets/package-version.txt | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/build/pkgs/ipywidgets/checksums.ini b/build/pkgs/ipywidgets/checksums.ini
-index efb9fe9..af4a04d 100644
---- a/build/pkgs/ipywidgets/checksums.ini
-+++ b/build/pkgs/ipywidgets/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=ipywidgets-VERSION.tar.gz
--sha1=8ea8c8e15a4779897dc9f12cc20e29cfe5fb689f
--md5=771fd3999f93af336c6e40ae1f5c37a2
--cksum=980834502
-+sha1=ad63e99f44fd759c34ab70161e9ac8f4276294f8
-+md5=420aabfddee27fc215ad9a9c14c9c529
-+cksum=259379988
- upstream_url=https://pypi.io/packages/source/i/ipywidgets/ipywidgets-VERSION.tar.gz
-diff --git a/build/pkgs/ipywidgets/package-version.txt b/build/pkgs/ipywidgets/package-version.txt
-index b7ade06..bf43f75 100644
---- a/build/pkgs/ipywidgets/package-version.txt
-+++ b/build/pkgs/ipywidgets/package-version.txt
-@@ -1 +1 @@
--7.6.4.p0
-+7.6.5
--- 
-cgit v1.0-1-gd88e
-
-
-From 5e144e95b13005cfb2cd7e3a3b7abd70d0a902c7 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Wed, 24 Nov 2021 18:30:04 -0800
-Subject: build/pkgs/jedi: Update to 0.18.1
-
----
- build/pkgs/jedi/checksums.ini       | 6 +++---
- build/pkgs/jedi/package-version.txt | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/build/pkgs/jedi/checksums.ini b/build/pkgs/jedi/checksums.ini
-index f5be931..2db629c 100644
---- a/build/pkgs/jedi/checksums.ini
-+++ b/build/pkgs/jedi/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=jedi-VERSION.tar.gz
--sha1=f9acd323b88563fafb5bb4dff592794a2713a15c
--md5=72707c00e8d6d0b190a5e5664be1cac5
--cksum=620165561
-+sha1=e94444bd83b55247fd1f3d27d47cc0b148560134
-+md5=d8dba4a98a35530f7f5b461c20aff180
-+cksum=4093067035
- upstream_url=https://pypi.io/packages/source/j/jedi/jedi-VERSION.tar.gz
-diff --git a/build/pkgs/jedi/package-version.txt b/build/pkgs/jedi/package-version.txt
-index 6633391..249afd5 100644
---- a/build/pkgs/jedi/package-version.txt
-+++ b/build/pkgs/jedi/package-version.txt
-@@ -1 +1 @@
--0.18.0
-+0.18.1
--- 
-cgit v1.0-1-gd88e
-
-
-From 6347f984a697b3aecfe0ed6d2f7363c9dc3b5b65 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Wed, 24 Nov 2021 18:30:58 -0800
-Subject: build/pkgs/prompt_toolkit: Update to 3.0.22
-
----
- build/pkgs/prompt_toolkit/checksums.ini       | 6 +++---
- build/pkgs/prompt_toolkit/package-version.txt | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/build/pkgs/prompt_toolkit/checksums.ini b/build/pkgs/prompt_toolkit/checksums.ini
-index 7868d1a..0e3fe14 100644
---- a/build/pkgs/prompt_toolkit/checksums.ini
-+++ b/build/pkgs/prompt_toolkit/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=prompt_toolkit-VERSION.tar.gz
--sha1=20fe2a6126ee2b992d9f77cd20e4b80626b036d7
--md5=ba9e63c3e7e5a4f4ce4e4770a4daba96
--cksum=3647925903
-+sha1=5efb27677b89b2c81241645c6658e60771af3b7b
-+md5=bbaeba1142a64ecf2264eaf4f85201b1
-+cksum=1605705668
- upstream_url=https://pypi.io/packages/source/p/prompt_toolkit/prompt_toolkit-VERSION.tar.gz
-diff --git a/build/pkgs/prompt_toolkit/package-version.txt b/build/pkgs/prompt_toolkit/package-version.txt
-index 3e4a61b..6795d4d 100644
---- a/build/pkgs/prompt_toolkit/package-version.txt
-+++ b/build/pkgs/prompt_toolkit/package-version.txt
-@@ -1 +1 @@
--3.0.20
-+3.0.22
--- 
-cgit v1.0-1-gd88e
-
-
-From 28e535d3a1dd6b67e740b1900c4fad36cccd1121 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Wed, 24 Nov 2021 18:32:02 -0800
-Subject: build/pkgs/widgetsnbextension: Update to 3.5.2
-
----
- build/pkgs/widgetsnbextension/checksums.ini       | 6 +++---
- build/pkgs/widgetsnbextension/package-version.txt | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/build/pkgs/widgetsnbextension/checksums.ini b/build/pkgs/widgetsnbextension/checksums.ini
-index 2f7e946..81205c5 100644
---- a/build/pkgs/widgetsnbextension/checksums.ini
-+++ b/build/pkgs/widgetsnbextension/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=widgetsnbextension-VERSION.tar.gz
--sha1=f92ee894f3b08cfb6cfac0856d77521bbbf45e92
--md5=3dc5f96919c032a885950e3819bdee7b
--cksum=4195536255
-+sha1=010f70ab9a6d6e0a4f9607cce0da182ee6c1280a
-+md5=c126a06559afe658e285bcd483790710
-+cksum=160710350
- upstream_url=https://pypi.io/packages/source/w/widgetsnbextension/widgetsnbextension-VERSION.tar.gz
-diff --git a/build/pkgs/widgetsnbextension/package-version.txt b/build/pkgs/widgetsnbextension/package-version.txt
-index ffe3090..87ce492 100644
---- a/build/pkgs/widgetsnbextension/package-version.txt
-+++ b/build/pkgs/widgetsnbextension/package-version.txt
-@@ -1 +1 @@
--3.5.1.p0
-+3.5.2
--- 
-cgit v1.0-1-gd88e
-
-
-From 63078ac3e486d986d43e78f76a2037455147b8da Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Wed, 24 Nov 2021 18:33:12 -0800
-Subject: build/pkgs/terminado: Update to 0.12.1
-
----
- build/pkgs/terminado/checksums.ini       | 6 +++---
- build/pkgs/terminado/package-version.txt | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/build/pkgs/terminado/checksums.ini b/build/pkgs/terminado/checksums.ini
-index ba1b392..f33efd4 100644
---- a/build/pkgs/terminado/checksums.ini
-+++ b/build/pkgs/terminado/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=terminado-VERSION.tar.gz
--sha1=9a4f75d9f1bad0e7eadf33da774ab4e09d75a47b
--md5=8150154423841a90b1d8ca60943ad84c
--cksum=2702442904
-+sha1=65f40480c1d8077b78dcffb7e0c909eae86998bf
-+md5=4871263f6aaed18e09603fa6785b4340
-+cksum=2070178009
- upstream_url=https://pypi.io/packages/source/t/terminado/terminado-VERSION.tar.gz
-diff --git a/build/pkgs/terminado/package-version.txt b/build/pkgs/terminado/package-version.txt
-index af88ba8..34a8361 100644
---- a/build/pkgs/terminado/package-version.txt
-+++ b/build/pkgs/terminado/package-version.txt
-@@ -1 +1 @@
--0.11.1
-+0.12.1
--- 
-cgit v1.0-1-gd88e
-
-
-From 22de5dc202d63cbcef3a752a6c68e7d99332d705 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Wed, 24 Nov 2021 18:34:42 -0800
-Subject: build/pkgs/notebook: Update to 6.4.6
-
----
- build/pkgs/notebook/checksums.ini       | 6 +++---
- build/pkgs/notebook/package-version.txt | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/build/pkgs/notebook/checksums.ini b/build/pkgs/notebook/checksums.ini
-index 1355f59..29c39e9 100644
---- a/build/pkgs/notebook/checksums.ini
-+++ b/build/pkgs/notebook/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=notebook-VERSION.tar.gz
--sha1=0a6d27e401d04d516c3851862491824007272dc0
--md5=718f7f0267e0111b4ef9ff3238e9f7e8
--cksum=2383141171
-+sha1=93736a3a9c5b025f71a25a301b676a40aca3124b
-+md5=ecb9319cf82a9a83b1c4c8e1cc4efbee
-+cksum=1697144622
- upstream_url=https://pypi.io/packages/source/n/notebook/notebook-VERSION.tar.gz
-diff --git a/build/pkgs/notebook/package-version.txt b/build/pkgs/notebook/package-version.txt
-index 133cad2..3d05e8c 100644
---- a/build/pkgs/notebook/package-version.txt
-+++ b/build/pkgs/notebook/package-version.txt
-@@ -1 +1 @@
--6.4.3
-+6.4.6
--- 
-cgit v1.0-1-gd88e
-
-
-From a0fe18ba460d87e0bd46ada9f4246baa49c7c251 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Wed, 24 Nov 2021 18:35:36 -0800
-Subject: build/pkgs/nbclient: Update to 0.5.4
-
----
- build/pkgs/nbclient/checksums.ini       | 6 +++---
- build/pkgs/nbclient/package-version.txt | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/build/pkgs/nbclient/checksums.ini b/build/pkgs/nbclient/checksums.ini
-index 914ee93..b1f9790 100644
---- a/build/pkgs/nbclient/checksums.ini
-+++ b/build/pkgs/nbclient/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=nbclient-VERSION.tar.gz
--sha1=9c1059878ae04da987ae00025908ae802cbfc066
--md5=593579773bd8128f845ea01a46ccbedb
--cksum=2389564342
-+sha1=a5efba590429270c901f4f5a16c8b46a7e6b8e4a
-+md5=a3cf8c1c121b0718a6ccf384c5683424
-+cksum=2650264415
- upstream_url=https://pypi.io/packages/source/n/nbclient/nbclient-VERSION.tar.gz
-diff --git a/build/pkgs/nbclient/package-version.txt b/build/pkgs/nbclient/package-version.txt
-index 7d85683..416bfb0 100644
---- a/build/pkgs/nbclient/package-version.txt
-+++ b/build/pkgs/nbclient/package-version.txt
-@@ -1 +1 @@
--0.5.4
-+0.5.9
--- 
-cgit v1.0-1-gd88e
-
-
-From ef3fc7f3a0877ee92dd1bf6e8d6e8c84db9f6050 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Wed, 24 Nov 2021 18:38:02 -0800
-Subject: build/pkgs/jupyter_client: Update to 7.1.0
-
----
- build/pkgs/jupyter_client/checksums.ini       | 6 +++---
- build/pkgs/jupyter_client/package-version.txt | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/build/pkgs/jupyter_client/checksums.ini b/build/pkgs/jupyter_client/checksums.ini
-index ab486e6..cbe7b83 100644
---- a/build/pkgs/jupyter_client/checksums.ini
-+++ b/build/pkgs/jupyter_client/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=jupyter_client-VERSION.tar.gz
--sha1=d03249e98f821ac8f43408e71b5390cef336d859
--md5=7c6ef694cde43fd365046869842a1cde
--cksum=236454943
-+sha1=aad5dd5337e20e53de66e094092333e04d9c4e1d
-+md5=33fb5eab82f3e89c68f2082b52a8e966
-+cksum=481041414
- upstream_url=https://pypi.io/packages/source/j/jupyter_client/jupyter_client-VERSION.tar.gz
-diff --git a/build/pkgs/jupyter_client/package-version.txt b/build/pkgs/jupyter_client/package-version.txt
-index a8907c0..a3fcc71 100644
---- a/build/pkgs/jupyter_client/package-version.txt
-+++ b/build/pkgs/jupyter_client/package-version.txt
-@@ -1 +1 @@
--7.0.2
-+7.1.0
--- 
-cgit v1.0-1-gd88e
-
-
-From a593bc993aa860f847b803a3d41fe7c2d5d99780 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Wed, 24 Nov 2021 18:40:11 -0800
-Subject: build/pkgs/jupyter_core: Update to 4.9.1
-
----
- build/pkgs/jupyter_core/checksums.ini       | 6 +++---
- build/pkgs/jupyter_core/package-version.txt | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/build/pkgs/jupyter_core/checksums.ini b/build/pkgs/jupyter_core/checksums.ini
-index 8310cf0..f3a3068 100644
---- a/build/pkgs/jupyter_core/checksums.ini
-+++ b/build/pkgs/jupyter_core/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=jupyter_core-VERSION.tar.gz
--sha1=01e57900f8e4475fb90ae533cf7ebd6f4c323867
--md5=adc204a306a7122a61aa742ccc4c252a
--cksum=1333962761
-+sha1=afa48d85b3611beb42236be3c130767a6524ccfd
-+md5=77a1e7642abfb834a6046e14b94f5c88
-+cksum=1811078933
- upstream_url=https://pypi.io/packages/source/j/jupyter_core/jupyter_core-VERSION.tar.gz
-diff --git a/build/pkgs/jupyter_core/package-version.txt b/build/pkgs/jupyter_core/package-version.txt
-index 7c66fca..5b341fd 100644
---- a/build/pkgs/jupyter_core/package-version.txt
-+++ b/build/pkgs/jupyter_core/package-version.txt
-@@ -1 +1 @@
--4.7.1
-+4.9.1
--- 
-cgit v1.0-1-gd88e
-
-
-From 66c16b14f9081c6d62f5d105cfe76b470074c187 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Wed, 24 Nov 2021 18:41:20 -0800
-Subject: build/pkgs/importlib_metadata: Update to 4.8.2
-
----
- build/pkgs/importlib_metadata/checksums.ini       | 6 +++---
- build/pkgs/importlib_metadata/package-version.txt | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/build/pkgs/importlib_metadata/checksums.ini b/build/pkgs/importlib_metadata/checksums.ini
-index 4006b51..d5a9b1a 100644
---- a/build/pkgs/importlib_metadata/checksums.ini
-+++ b/build/pkgs/importlib_metadata/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=importlib_metadata-VERSION.tar.gz
--sha1=1572500dd099439cbd86bb70bfe1d206fbc844f6
--md5=5b944bce3fccaf848f0cba7a07f850a1
--cksum=416853070
-+sha1=7d15d8e06299a8f24e076600899aceee75ce8b0b
-+md5=a605ba6ec315bc1324fd6b7210fe7c12
-+cksum=448954927
- upstream_url=https://pypi.io/packages/source/i/importlib_metadata/importlib_metadata-VERSION.tar.gz
-diff --git a/build/pkgs/importlib_metadata/package-version.txt b/build/pkgs/importlib_metadata/package-version.txt
-index 697e993..326ec63 100644
---- a/build/pkgs/importlib_metadata/package-version.txt
-+++ b/build/pkgs/importlib_metadata/package-version.txt
-@@ -1 +1 @@
--4.8.1
-+4.8.2
--- 
-cgit v1.0-1-gd88e
-
-
-From 27fbff02000609d9bf9c5f429b887e321148c6b6 Mon Sep 17 00:00:00 2001
-From: Antonio Rojas <arojas@archlinux.org>
-Date: Sun, 12 Dec 2021 09:57:10 +0100
-Subject: Assign module property to test class
-
-Otherwise, Python 3.10 will report a "source code not available" error, see https://github.com/python/cpython/commit/48a62559dfaf775e4f1cc56b19379c799e8e2587
----
- src/sage/misc/sageinspect.py | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/sage/misc/sageinspect.py b/src/sage/misc/sageinspect.py
-index fb2073f..bd89233 100644
---- a/src/sage/misc/sageinspect.py
-+++ b/src/sage/misc/sageinspect.py
-@@ -1585,6 +1585,8 @@ def sage_getargspec(obj):
-         ....:     'class Foo:\n'
-         ....:     '    def __call__(self):\n'
-         ....:     '        return None\n'
-+        ....:     '    def __module__(self):\n'
-+        ....:     '        return "sage.misc.sageinspect"\n'
-         ....:     '    def _sage_src_(self):\n'
-         ....:     '        return "the source code string"')
-         sage: shell.run_cell('f = Foo()')
--- 
-cgit v1.0-1-gd88e
-
-
-From 26c9b33878aef88a0b1e88d6664823d9d4591a5f Mon Sep 17 00:00:00 2001
-From: Antonio Rojas <arojas@archlinux.org>
-Date: Sun, 12 Dec 2021 09:59:07 +0100
-Subject: Add abs tol to some tests to make them pass with Python 3.10
-
----
- src/sage/plot/colors.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/sage/plot/colors.py b/src/sage/plot/colors.py
-index 6fdba0f..f46b736 100644
---- a/src/sage/plot/colors.py
-+++ b/src/sage/plot/colors.py
-@@ -918,12 +918,12 @@ class Color(object):
- 
-             sage: Color(0.3, 0.5, 0.7, space='hls').hls()
-             (0.30000000000000004, 0.5, 0.7)
--            sage: Color(0.3, 0.5, 0.7, space='hsl').hls()
-+            sage: Color(0.3, 0.5, 0.7, space='hsl').hls() # abs tol 1e-15
-             (0.30000000000000004, 0.7, 0.5000000000000001)
--            sage: Color('#aabbcc').hls()
-+            sage: Color('#aabbcc').hls() # abs tol 1e-15
-             (0.5833333333333334, 0.7333333333333334, 0.25000000000000017)
-             sage: from sage.plot.colors import orchid
--            sage: orchid.hls()
-+            sage: orchid.hls() # abs tol 1e-15
-             (0.8396226415094339, 0.6470588235294117, 0.5888888888888889)
-         """
-         return tuple(map(float, rgb_to_hls(*self._rgb)))
-@@ -942,9 +942,9 @@ class Color(object):
-             sage: Color(1,0,0).hsl()
-             (0.0, 1.0, 0.5)
-             sage: from sage.plot.colors import orchid
--            sage: orchid.hsl()
-+            sage: orchid.hsl() # abs tol 1e-15
-             (0.8396226415094339, 0.5888888888888889, 0.6470588235294117)
--            sage: Color('#aabbcc').hsl()
-+            sage: Color('#aabbcc').hsl() # abs tol 1e-15
-             (0.5833333333333334, 0.25000000000000017, 0.7333333333333334)
-         """
-         h, l, s = tuple(map(float, rgb_to_hls(*self._rgb)))
--- 
-cgit v1.0-1-gd88e
-
-
-From 079ceca95e5d3ad9fb81d3234df3e984ddde09d4 Mon Sep 17 00:00:00 2001
-From: Antonio Rojas <arojas@archlinux.org>
-Date: Sun, 12 Dec 2021 09:59:43 +0100
-Subject: Add missing space
-
-Surprisingly, this didn't throw an error before Python 3.10
----
- src/sage/schemes/riemann_surfaces/riemann_surface.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/sage/schemes/riemann_surfaces/riemann_surface.py b/src/sage/schemes/riemann_surfaces/riemann_surface.py
-index 3c3d387..f9d1e2b 100644
---- a/src/sage/schemes/riemann_surfaces/riemann_surface.py
-+++ b/src/sage/schemes/riemann_surfaces/riemann_surface.py
-@@ -1390,7 +1390,7 @@ class RiemannSurface(object):
-             sage: S = RiemannSurface(f)
-             sage: _ = S.homology_basis()
-             sage: g,d = S.make_zw_interpolator([(0,0),(1,0)]);
--            sage: all(f(*g(i*0.1)).abs() < 1e-13for i in range(10))
-+            sage: all(f(*g(i*0.1)).abs() < 1e-13 for i in range(10))
-             True
-             sage: abs((g(1)[0]-g(0)[0]) - d) < 1e-13
-             True
--- 
-cgit v1.0-1-gd88e
-
-
-From 6603e290fff0e49a6394e40382c4ebdc8975049d Mon Sep 17 00:00:00 2001
-From: Antonio Rojas <arojas@archlinux.org>
-Date: Sun, 12 Dec 2021 10:00:49 +0100
-Subject: Update some error messages to match Python 3.10 format
-
----
- src/sage/structure/unique_representation.py |  2 +-
- src/sage/symbolic/callable.py               | 10 +++++-----
- 2 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/src/sage/structure/unique_representation.py b/src/sage/structure/unique_representation.py
-index 9ead7a4..5d8d4ad 100644
---- a/src/sage/structure/unique_representation.py
-+++ b/src/sage/structure/unique_representation.py
-@@ -1221,7 +1221,7 @@ class UniqueRepresentation(CachedRepresentation, WithEqualityById):
-         sage: isinstance(GF(7), GF)
-         Traceback (most recent call last):
-         ...
--        TypeError: isinstance() arg 2 must be a type or tuple of types
-+        TypeError: isinstance() arg 2 must be a type...
- 
-         sage: isinstance(GF, sage.structure.factory.UniqueFactory)
-         True
-diff --git a/src/sage/symbolic/callable.py b/src/sage/symbolic/callable.py
-index 5f3a7be..4b8efda 100644
---- a/src/sage/symbolic/callable.py
-+++ b/src/sage/symbolic/callable.py
-@@ -38,27 +38,27 @@ The arguments in the definition must be symbolic variables (:trac:`10747`)::
-     sage: f(1)=2
-     Traceback (most recent call last):
-     ...
--    SyntaxError: can...t assign to function call
-+    SyntaxError: can...t assign to function call...
- 
-     sage: f(x,1)=2
-     Traceback (most recent call last):
-     ...
--    SyntaxError: can...t assign to function call
-+    SyntaxError: can...t assign to function call...
- 
-     sage: f(1,2)=3
-     Traceback (most recent call last):
-     ...
--    SyntaxError: can...t assign to function call
-+    SyntaxError: can...t assign to function call...
- 
-     sage: f(1,2)=x
-     Traceback (most recent call last):
-     ...
--    SyntaxError: can...t assign to function call
-+    SyntaxError: can...t assign to function call...
- 
-     sage: f(x,2)=x
-     Traceback (most recent call last):
-     ...
--    SyntaxError: can...t assign to function call
-+    SyntaxError: can...t assign to function call...
- """
- 
- import sage.rings.abc
--- 
-cgit v1.0-1-gd88e
-
-
-From f345263b8c46d72d12fb1d2482fbfbbd6f23a570 Mon Sep 17 00:00:00 2001
-From: Antonio Rojas <arojas@archlinux.org>
-Date: Sun, 12 Dec 2021 10:01:18 +0100
-Subject: Make sure the timeout passed to select.select is a float
-
-Python 3.10 does a type check
----
- src/sage/tests/cmdline.py | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/sage/tests/cmdline.py b/src/sage/tests/cmdline.py
-index 4f16b0e..ba5aa14 100644
---- a/src/sage/tests/cmdline.py
-+++ b/src/sage/tests/cmdline.py
-@@ -766,6 +766,7 @@ def test_executable(args, input="", timeout=100.0, pydebug_ignore_warnings=False
-             rfd.append(fderr)
-         if len(rfd) == 0:
-             break
-+        timeout = float(timeout)
-         rlist = select.select(rfd, [], [], timeout)[0]
- 
-         if len(rlist) == 0:
--- 
-cgit v1.0-1-gd88e
-
-
-From 2f13b8666aef7001b7464f7cf68d145a5752c067 Mon Sep 17 00:00:00 2001
-From: Antonio Rojas <arojas@archlinux.org>
-Date: Sun, 12 Dec 2021 18:30:05 +0100
-Subject: Update another error message for Python 3.10
-
----
- src/sage/rings/asymptotic/growth_group.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/sage/rings/asymptotic/growth_group.py b/src/sage/rings/asymptotic/growth_group.py
-index ba7e684..a91ec31 100644
---- a/src/sage/rings/asymptotic/growth_group.py
-+++ b/src/sage/rings/asymptotic/growth_group.py
-@@ -5434,7 +5434,7 @@ class GrowthGroupFactory(UniqueFactory):
-             describing a growth group.
-             > *previous* ValueError: Cannot create a parent out of 'as'.
-             >> *previous* ValueError: unknown specification as
--            >> *and* SyntaxError: unexpected EOF while parsing (<string>, line 1)
-+            >> *and* SyntaxError: ... (<string>, line 1)
-             > *and* ValueError: Cannot create a parent out of 'df'.
-             >> *previous* ValueError: unknown specification df
-             >> *and* NameError: name 'df' is not defined
--- 
-cgit v1.0-1-gd88e
-
-
-From e65ae6ca71fbe284affeb4ed88e63acc97a3fe0a Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Mon, 24 May 2021 17:06:47 -0700
-Subject: build/pkgs/python3/spkg-configure.m4: Accept system python 3.10.x
-
----
- build/pkgs/python3/spkg-configure.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/build/pkgs/python3/spkg-configure.m4 b/build/pkgs/python3/spkg-configure.m4
-index df74019..3cbb994 100644
---- a/build/pkgs/python3/spkg-configure.m4
-+++ b/build/pkgs/python3/spkg-configure.m4
-@@ -1,7 +1,7 @@
- SAGE_SPKG_CONFIGURE([python3], [
-    m4_pushdef([MIN_VERSION],               [3.7.0])
-    m4_pushdef([MIN_NONDEPRECATED_VERSION], [3.7.0])
--   m4_pushdef([LT_VERSION],                [3.10.0])
-+   m4_pushdef([LT_VERSION],                [3.11.0])
-    AC_ARG_WITH([python],
-                [AS_HELP_STRING([--with-python=PYTHON3],
-                                [Python 3 executable to use for the Sage venv; default: python3])])
--- 
-cgit v1.0-1-gd88e
-
-
-From 59173d01b4ed85077a847d2643c80bb3499c926a Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Wed, 15 Sep 2021 17:49:12 -0700
-Subject: pkgs/sage-setup/setup.cfg: Allow Python 3.10
-
----
- pkgs/sage-setup/setup.cfg | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pkgs/sage-setup/setup.cfg b/pkgs/sage-setup/setup.cfg
-index a1710d4..197fc67 100644
---- a/pkgs/sage-setup/setup.cfg
-+++ b/pkgs/sage-setup/setup.cfg
-@@ -31,7 +31,7 @@ packages =
-     sage_setup.autogen.interpreters.specs
-     sage_setup.command
- 
--python_requires = >=3.7, <3.10
-+python_requires = >=3.7, <3.11
- 
- install_requires =
-     pkgconfig
--- 
-cgit v1.0-1-gd88e
-
-
-From c902b7bc44c1b2116416962ec1194b8e59f11f06 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Fri, 17 Dec 2021 09:15:25 -0800
-Subject: src/setup.cfg.m4: Allow Python 3.10
-
----
- src/setup.cfg.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/setup.cfg.m4 b/src/setup.cfg.m4
-index 16f88f2..b8bd0c0 100644
---- a/src/setup.cfg.m4
-+++ b/src/setup.cfg.m4
-@@ -26,7 +26,7 @@ classifiers =
-     Topic :: Scientific/Engineering :: Mathematics
- 
- [options]
--python_requires = >=3.7, <3.10
-+python_requires = >=3.7, <3.11
- install_requires =
-     sage_conf
-     esyscmd(`sage-get-system-packages install-requires \
--- 
-cgit v1.0-1-gd88e
-
-
-From cb305525af1f872d00bb63387f7c68b88fb70a38 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Fri, 17 Dec 2021 09:38:43 -0800
-Subject: build/pkgs/python3/spkg-configure.m4: Warn on system python 3.10.x
-
----
- build/pkgs/python3/spkg-configure.m4 | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/build/pkgs/python3/spkg-configure.m4 b/build/pkgs/python3/spkg-configure.m4
-index 3cbb994..5e3481a 100644
---- a/build/pkgs/python3/spkg-configure.m4
-+++ b/build/pkgs/python3/spkg-configure.m4
-@@ -1,6 +1,7 @@
- SAGE_SPKG_CONFIGURE([python3], [
-    m4_pushdef([MIN_VERSION],               [3.7.0])
-    m4_pushdef([MIN_NONDEPRECATED_VERSION], [3.7.0])
-+   m4_pushdef([LT_STABLE_VERSION],         [3.10.0])
-    m4_pushdef([LT_VERSION],                [3.11.0])
-    AC_ARG_WITH([python],
-                [AS_HELP_STRING([--with-python=PYTHON3],
-@@ -116,6 +117,10 @@ and will be removed in the next development cycle.  Consider using a newer versi
- that may be available on your system or can be installed using the system package manager.
- To build Sage with a different system python, use ./configure --with-python=/path/to/python])
-         ])
-+        AX_COMPARE_VERSION([$python3_version], [ge], LT_STABLE_VERSION, [
-+            AC_MSG_WARN([Support for system python >= LT_STABLE_VERSION is experimental.
-+To build Sage with a different system python, use ./configure --with-python=/path/to/python])
-+        ])
-     ])
-     AC_SUBST([PYTHON_FOR_VENV])
- 
--- 
-cgit v1.0-1-gd88e
-
-
-From 249357dd30c54162e4b9204d6113c70b310a5087 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Sat, 18 Dec 2021 13:35:21 -0800
-Subject: sage.cpython.atexit: fix for python 3.10 (#30766)
-
----
- src/sage/cpython/atexit.pyx | 75 +++++++++++++++++++++++++++++----------------
- 1 file changed, 48 insertions(+), 27 deletions(-)
-
-diff --git a/src/sage/cpython/atexit.pyx b/src/sage/cpython/atexit.pyx
-index 5b0c6d1..3ba391b 100644
---- a/src/sage/cpython/atexit.pyx
-+++ b/src/sage/cpython/atexit.pyx
-@@ -144,43 +144,63 @@ cdef class restore_atexit:
- 
- from cpython.ref cimport PyObject
- 
--# Internal structures defined in the CPython source in
--# Modules/atexitmodule.c and subject to (but unlikely to) change.  Watch
--# https://bugs.python.org/issue32082 for a request to (eventually)
--# re-expose more of the atexit module's internals to Python
--ctypedef struct atexit_callback:
--    PyObject* func
--    PyObject* args
--    PyObject* kwargs
--
--
--ctypedef struct atexitmodule_state:
--    atexit_callback** atexit_callbacks
--    int ncallbacks
--    int callback_len
--
--
--cdef extern from "Python.h":
--    void* PyModule_GetState(object module)
--
-+# Implement "_atexit_callbacks()" for each supported python version
-+cdef extern from *:
-+    """
-+    #if PY_VERSION_HEX >= 0x030a0000
-+    /********** Python 3.10 **********/
-+    #define Py_BUILD_CORE
-+    #undef _PyGC_FINALIZED
-+    #include "internal/pycore_interp.h"
-+    #include "internal/pycore_pystate.h"
-+    static atexit_callback ** _atexit_callbacks(PyObject *self) {
-+        PyInterpreterState *interp = _PyInterpreterState_GET();
-+        struct atexit_state state = interp->atexit;
-+        return state.callbacks;
-+    }
-+    #else
-+    /********** Python < 3.10 **********/
-+    /* Internal structures defined in the CPython source in
-+     * Modules/atexitmodule.c and subject to (but unlikely to) change.  Watch
-+     * https://bugs.python.org/issue32082 for a request to (eventually)
-+     * re-expose more of the atexit module's internals to Python
-+     * typedef struct
-+     */
-+    typedef struct {
-+        PyObject *func;
-+        PyObject *args;
-+        PyObject *kwargs;
-+    } atexit_callback;
-+    typedef struct {
-+        atexit_callback **atexit_callbacks;
-+        int ncallbacks;
-+        int callback_len;
-+    } atexitmodule_state;
-+    static atexit_callback ** _atexit_callbacks(PyObject *self) {
-+        atexitmodule_state *state = PyModule_GetState(self);
-+        return state->atexit_callbacks;
-+    }
-+    #endif
-+    """
-+    ctypedef struct atexit_callback:
-+        PyObject* func
-+        PyObject* args
-+        PyObject* kwargs
-+    atexit_callback** _atexit_callbacks(object module)
- 
- def _get_exithandlers():
-     """Return list of exit handlers registered with the atexit module."""
--    cdef atexitmodule_state* state
-+    cdef atexit_callback ** callbacks
-     cdef atexit_callback callback
-     cdef list exithandlers
-     cdef int idx
-     cdef object kwargs
- 
--    state = <atexitmodule_state*>PyModule_GetState(atexit)
--
--    if not state:
--        raise RuntimeError("atexit module state missing or corrupt")
--
-     exithandlers = []
-+    callbacks = _atexit_callbacks(atexit)
- 
--    for idx in range(state.ncallbacks):
--        callback = state.atexit_callbacks[idx][0]
-+    for idx in range(atexit._ncallbacks()):
-+        callback = callbacks[idx][0]
-         if callback.kwargs:
-             kwargs = <object>callback.kwargs
-         else:
-@@ -207,4 +227,5 @@ def _set_exithandlers(exithandlers):
- 
- def _clear_exithandlers():
-     """Clear the atexit module of all registered exit handlers."""
-+
-     atexit._clear()
--- 
-cgit v1.0-1-gd88e
-
-
-From df9f1d4ced4264f65ab704f725f6f5879b012796 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
-Date: Sun, 19 Dec 2021 22:36:44 -0300
-Subject: Pass float(0.5) to time.sleep
-
-Since python 3.10, passing RealNumber breaks.
----
- src/sage_docbuild/utils.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/sage_docbuild/utils.py b/src/sage_docbuild/utils.py
-index 956d703f..3e4793e 100644
---- a/src/sage_docbuild/utils.py
-+++ b/src/sage_docbuild/utils.py
-@@ -79,7 +79,7 @@ def build_many(target, args, processes=None):
-         ....:         # Task 4 is a poison pill
-         ....:         1 / 0
-         ....:     else:
--        ....:         time.sleep(0.5)
-+        ....:         time.sleep(float(0.5))
-         ....:         print('Processed task %s' % N)
-         ....:
- 
-@@ -104,7 +104,7 @@ def build_many(target, args, processes=None):
-         ....:         # Task 4 is a poison pill
-         ....:         os.kill(os.getpid(), signal.SIGKILL)
-         ....:     else:
--        ....:         time.sleep(0.5)
-+        ....:         time.sleep(float(0.5))
-         ....:         print('Processed task %s' % N)
-         ....:
-         sage: build_many(target, range(8), processes=8)
--- 
-cgit v1.0-1-gd88e
-
diff --git a/srcpkgs/sagemath/patches/trac-30766-system_python_3.10-df9f1d4ced4264f65ab704f725f6f5879b012796.patch b/srcpkgs/sagemath/patches/trac-30766-system_python_3.10-df9f1d4ced4264f65ab704f725f6f5879b012796.patch
new file mode 100644
index 000000000000..a1cb4c834482
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-30766-system_python_3.10-df9f1d4ced4264f65ab704f725f6f5879b012796.patch
@@ -0,0 +1,263 @@
+From e65ae6ca71fbe284affeb4ed88e63acc97a3fe0a Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Mon, 24 May 2021 17:06:47 -0700
+Subject: build/pkgs/python3/spkg-configure.m4: Accept system python 3.10.x
+
+---
+ build/pkgs/python3/spkg-configure.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build/pkgs/python3/spkg-configure.m4 b/build/pkgs/python3/spkg-configure.m4
+index df74019..3cbb994 100644
+--- a/build/pkgs/python3/spkg-configure.m4
++++ b/build/pkgs/python3/spkg-configure.m4
+@@ -1,7 +1,7 @@
+ SAGE_SPKG_CONFIGURE([python3], [
+    m4_pushdef([MIN_VERSION],               [3.7.0])
+    m4_pushdef([MIN_NONDEPRECATED_VERSION], [3.7.0])
+-   m4_pushdef([LT_VERSION],                [3.10.0])
++   m4_pushdef([LT_VERSION],                [3.11.0])
+    AC_ARG_WITH([python],
+                [AS_HELP_STRING([--with-python=PYTHON3],
+                                [Python 3 executable to use for the Sage venv; default: python3])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 59173d01b4ed85077a847d2643c80bb3499c926a Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Wed, 15 Sep 2021 17:49:12 -0700
+Subject: pkgs/sage-setup/setup.cfg: Allow Python 3.10
+
+---
+ pkgs/sage-setup/setup.cfg | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pkgs/sage-setup/setup.cfg b/pkgs/sage-setup/setup.cfg
+index a1710d4..197fc67 100644
+--- a/pkgs/sage-setup/setup.cfg
++++ b/pkgs/sage-setup/setup.cfg
+@@ -31,7 +31,7 @@ packages =
+     sage_setup.autogen.interpreters.specs
+     sage_setup.command
+ 
+-python_requires = >=3.7, <3.10
++python_requires = >=3.7, <3.11
+ 
+ install_requires =
+     pkgconfig
+-- 
+cgit v1.0-1-gd88e
+
+
+From c902b7bc44c1b2116416962ec1194b8e59f11f06 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Fri, 17 Dec 2021 09:15:25 -0800
+Subject: src/setup.cfg.m4: Allow Python 3.10
+
+---
+ src/setup.cfg.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/setup.cfg.m4 b/src/setup.cfg.m4
+index 16f88f2..b8bd0c0 100644
+--- a/src/setup.cfg.m4
++++ b/src/setup.cfg.m4
+@@ -26,7 +26,7 @@ classifiers =
+     Topic :: Scientific/Engineering :: Mathematics
+ 
+ [options]
+-python_requires = >=3.7, <3.10
++python_requires = >=3.7, <3.11
+ install_requires =
+     sage_conf
+     esyscmd(`sage-get-system-packages install-requires \
+-- 
+cgit v1.0-1-gd88e
+
+
+From cb305525af1f872d00bb63387f7c68b88fb70a38 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Fri, 17 Dec 2021 09:38:43 -0800
+Subject: build/pkgs/python3/spkg-configure.m4: Warn on system python 3.10.x
+
+---
+ build/pkgs/python3/spkg-configure.m4 | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/build/pkgs/python3/spkg-configure.m4 b/build/pkgs/python3/spkg-configure.m4
+index 3cbb994..5e3481a 100644
+--- a/build/pkgs/python3/spkg-configure.m4
++++ b/build/pkgs/python3/spkg-configure.m4
+@@ -1,6 +1,7 @@
+ SAGE_SPKG_CONFIGURE([python3], [
+    m4_pushdef([MIN_VERSION],               [3.7.0])
+    m4_pushdef([MIN_NONDEPRECATED_VERSION], [3.7.0])
++   m4_pushdef([LT_STABLE_VERSION],         [3.10.0])
+    m4_pushdef([LT_VERSION],                [3.11.0])
+    AC_ARG_WITH([python],
+                [AS_HELP_STRING([--with-python=PYTHON3],
+@@ -116,6 +117,10 @@ and will be removed in the next development cycle.  Consider using a newer versi
+ that may be available on your system or can be installed using the system package manager.
+ To build Sage with a different system python, use ./configure --with-python=/path/to/python])
+         ])
++        AX_COMPARE_VERSION([$python3_version], [ge], LT_STABLE_VERSION, [
++            AC_MSG_WARN([Support for system python >= LT_STABLE_VERSION is experimental.
++To build Sage with a different system python, use ./configure --with-python=/path/to/python])
++        ])
+     ])
+     AC_SUBST([PYTHON_FOR_VENV])
+ 
+-- 
+cgit v1.0-1-gd88e
+
+
+From 249357dd30c54162e4b9204d6113c70b310a5087 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Sat, 18 Dec 2021 13:35:21 -0800
+Subject: sage.cpython.atexit: fix for python 3.10 (#30766)
+
+---
+ src/sage/cpython/atexit.pyx | 75 +++++++++++++++++++++++++++++----------------
+ 1 file changed, 48 insertions(+), 27 deletions(-)
+
+diff --git a/src/sage/cpython/atexit.pyx b/src/sage/cpython/atexit.pyx
+index 5b0c6d1..3ba391b 100644
+--- a/src/sage/cpython/atexit.pyx
++++ b/src/sage/cpython/atexit.pyx
+@@ -144,43 +144,63 @@ cdef class restore_atexit:
+ 
+ from cpython.ref cimport PyObject
+ 
+-# Internal structures defined in the CPython source in
+-# Modules/atexitmodule.c and subject to (but unlikely to) change.  Watch
+-# https://bugs.python.org/issue32082 for a request to (eventually)
+-# re-expose more of the atexit module's internals to Python
+-ctypedef struct atexit_callback:
+-    PyObject* func
+-    PyObject* args
+-    PyObject* kwargs
+-
+-
+-ctypedef struct atexitmodule_state:
+-    atexit_callback** atexit_callbacks
+-    int ncallbacks
+-    int callback_len
+-
+-
+-cdef extern from "Python.h":
+-    void* PyModule_GetState(object module)
+-
++# Implement "_atexit_callbacks()" for each supported python version
++cdef extern from *:
++    """
++    #if PY_VERSION_HEX >= 0x030a0000
++    /********** Python 3.10 **********/
++    #define Py_BUILD_CORE
++    #undef _PyGC_FINALIZED
++    #include "internal/pycore_interp.h"
++    #include "internal/pycore_pystate.h"
++    static atexit_callback ** _atexit_callbacks(PyObject *self) {
++        PyInterpreterState *interp = _PyInterpreterState_GET();
++        struct atexit_state state = interp->atexit;
++        return state.callbacks;
++    }
++    #else
++    /********** Python < 3.10 **********/
++    /* Internal structures defined in the CPython source in
++     * Modules/atexitmodule.c and subject to (but unlikely to) change.  Watch
++     * https://bugs.python.org/issue32082 for a request to (eventually)
++     * re-expose more of the atexit module's internals to Python
++     * typedef struct
++     */
++    typedef struct {
++        PyObject *func;
++        PyObject *args;
++        PyObject *kwargs;
++    } atexit_callback;
++    typedef struct {
++        atexit_callback **atexit_callbacks;
++        int ncallbacks;
++        int callback_len;
++    } atexitmodule_state;
++    static atexit_callback ** _atexit_callbacks(PyObject *self) {
++        atexitmodule_state *state = PyModule_GetState(self);
++        return state->atexit_callbacks;
++    }
++    #endif
++    """
++    ctypedef struct atexit_callback:
++        PyObject* func
++        PyObject* args
++        PyObject* kwargs
++    atexit_callback** _atexit_callbacks(object module)
+ 
+ def _get_exithandlers():
+     """Return list of exit handlers registered with the atexit module."""
+-    cdef atexitmodule_state* state
++    cdef atexit_callback ** callbacks
+     cdef atexit_callback callback
+     cdef list exithandlers
+     cdef int idx
+     cdef object kwargs
+ 
+-    state = <atexitmodule_state*>PyModule_GetState(atexit)
+-
+-    if not state:
+-        raise RuntimeError("atexit module state missing or corrupt")
+-
+     exithandlers = []
++    callbacks = _atexit_callbacks(atexit)
+ 
+-    for idx in range(state.ncallbacks):
+-        callback = state.atexit_callbacks[idx][0]
++    for idx in range(atexit._ncallbacks()):
++        callback = callbacks[idx][0]
+         if callback.kwargs:
+             kwargs = <object>callback.kwargs
+         else:
+@@ -207,4 +227,5 @@ def _set_exithandlers(exithandlers):
+ 
+ def _clear_exithandlers():
+     """Clear the atexit module of all registered exit handlers."""
++
+     atexit._clear()
+-- 
+cgit v1.0-1-gd88e
+
+
+From df9f1d4ced4264f65ab704f725f6f5879b012796 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Sun, 19 Dec 2021 22:36:44 -0300
+Subject: Pass float(0.5) to time.sleep
+
+Since python 3.10, passing RealNumber breaks.
+---
+ src/sage_docbuild/utils.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/sage_docbuild/utils.py b/src/sage_docbuild/utils.py
+index 956d703f..3e4793e 100644
+--- a/src/sage_docbuild/utils.py
++++ b/src/sage_docbuild/utils.py
+@@ -79,7 +79,7 @@ def build_many(target, args, processes=None):
+         ....:         # Task 4 is a poison pill
+         ....:         1 / 0
+         ....:     else:
+-        ....:         time.sleep(0.5)
++        ....:         time.sleep(float(0.5))
+         ....:         print('Processed task %s' % N)
+         ....:
+ 
+@@ -104,7 +104,7 @@ def build_many(target, args, processes=None):
+         ....:         # Task 4 is a poison pill
+         ....:         os.kill(os.getpid(), signal.SIGKILL)
+         ....:     else:
+-        ....:         time.sleep(0.5)
++        ....:         time.sleep(float(0.5))
+         ....:         print('Processed task %s' % N)
+         ....:
+         sage: build_many(target, range(8), processes=8)
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/patches/trac-32880-17e308fd9d56d022ed28592f93f07ec8dce530ef.patch b/srcpkgs/sagemath/patches/trac-32880-17e308fd9d56d022ed28592f93f07ec8dce530ef.patch
deleted file mode 100644
index e295bb91af5b..000000000000
--- a/srcpkgs/sagemath/patches/trac-32880-17e308fd9d56d022ed28592f93f07ec8dce530ef.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 17e308fd9d56d022ed28592f93f07ec8dce530ef Mon Sep 17 00:00:00 2001
-From: Michael Orlitzky <michael@orlitzky.com>
-Date: Mon, 15 Nov 2021 23:37:15 -0500
-Subject: Trac #32880: use GAP instead of Singular to test
- _get_shared_lib_path().
-
-We still have a doctest for _get_shared_lib_path() that tries to find
-the path to libSingular; however, we no longer actually need it to
-find libSingular because the path to libSingular is contained in
-LIBSINGULAR_PATH.
-
-Since _get_shared_lib_path() is a bit fragile, this commit replaces
-that test case with one for libgap, which is still always installed
-via SPKG and for which we still need _get_shared_lib_path() to be able
-to find the path.
----
- src/sage/env.py | 12 ++----------
- 1 file changed, 2 insertions(+), 10 deletions(-)
-
-diff --git a/src/sage/env.py b/src/sage/env.py
-index 40ace13..3bd4826 100644
---- a/src/sage/env.py
-+++ b/src/sage/env.py
-@@ -267,20 +267,12 @@ def _get_shared_lib_path(*libnames: str) -> Optional[str]:
- 
-     EXAMPLES::
- 
--        sage: import sys
--        sage: from fnmatch import fnmatch
-         sage: from sage.env import _get_shared_lib_path
--        sage: lib_filename = _get_shared_lib_path("Singular", "singular-Singular")
--        sage: if sys.platform == 'cygwin':
--        ....:     pattern = "*/cygSingular-*.dll"
--        ....: elif sys.platform == 'darwin':
--        ....:     pattern = "*/libSingular-*.dylib"
--        ....: else:
--        ....:     pattern = "*/lib*Singular-*.so"
--        sage: fnmatch(str(lib_filename), pattern)
-+        sage: "gap" in _get_shared_lib_path("gap")
-         True
-         sage: _get_shared_lib_path("an_absurd_lib") is None
-         True
-+
-     """
- 
-     for libname in libnames:
--- 
-cgit v1.0-1-gd88e
-
diff --git a/srcpkgs/sagemath/patches/trac-32905-2ee7b99e0270f80cf03b80418372f45274f46051.patch b/srcpkgs/sagemath/patches/trac-32905-2ee7b99e0270f80cf03b80418372f45274f46051.patch
deleted file mode 100644
index 32e641edb3aa..000000000000
--- a/srcpkgs/sagemath/patches/trac-32905-2ee7b99e0270f80cf03b80418372f45274f46051.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-From 2ee7b99e0270f80cf03b80418372f45274f46051 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Samuel=20Leli=C3=A8vre?= <samuel.lelievre@gmail.com>
-Date: Sat, 20 Nov 2021 13:34:16 +0100
-Subject: 32905: abs tol for some CBF and RBF doctests
-
----
- src/sage/functions/gamma.py    |  2 +-
- src/sage/rings/complex_arb.pyx |  6 +++---
- src/sage/rings/real_arb.pyx    | 24 ++++++++++++------------
- src/sage/symbolic/function.pyx |  2 +-
- 4 files changed, 17 insertions(+), 17 deletions(-)
-
-diff --git a/src/sage/functions/gamma.py b/src/sage/functions/gamma.py
-index 3a4deef..307deb1 100644
---- a/src/sage/functions/gamma.py
-+++ b/src/sage/functions/gamma.py
-@@ -1049,7 +1049,7 @@ class Function_beta(GinacFunction):
-         r"""
-         TESTS::
- 
--            sage: RBF(beta(sin(3),sqrt(RBF(2).add_error(1e-8)/3)))
-+            sage: RBF(beta(sin(3),sqrt(RBF(2).add_error(1e-8)/3)))  # abs tol 6e-7
-             [7.407662 +/- 6.17e-7]
-         """
-         return [x, y]
-diff --git a/src/sage/rings/complex_arb.pyx b/src/sage/rings/complex_arb.pyx
-index ce9b1b1..7e10ec9 100644
---- a/src/sage/rings/complex_arb.pyx
-+++ b/src/sage/rings/complex_arb.pyx
-@@ -4189,7 +4189,7 @@ cdef class ComplexBall(RingElement):
- 
-         TESTS:
- 
--            sage: CBF(Ei(I))
-+            sage: CBF(Ei(I))  # abs tol 1e-16
-             [0.337403922900968 +/- 3.76e-16] + [2.51687939716208 +/- 2.01e-15]*I
-         """
-         cdef ComplexBall result = self._new()
-@@ -4239,7 +4239,7 @@ cdef class ComplexBall(RingElement):
- 
-         TESTS:
- 
--            sage: CBF(Ci(I))
-+            sage: CBF(Ci(I))  # abs tol 1e-17
-             [0.837866940980208 +/- 4.72e-16] + [1.570796326794897 +/- 5.54e-16]*I
-         """
-         cdef ComplexBall result = self._new()
-@@ -4291,7 +4291,7 @@ cdef class ComplexBall(RingElement):
- 
-         TESTS:
- 
--            sage: CBF(Chi(I))
-+            sage: CBF(Chi(I))  # abs tol 1e-16
-             [0.337403922900968 +/- 3.25e-16] + [1.570796326794897 +/- 5.54e-16]*I
-         """
-         cdef ComplexBall result = self._new()
-diff --git a/src/sage/rings/real_arb.pyx b/src/sage/rings/real_arb.pyx
-index 80a840e..49caa63 100644
---- a/src/sage/rings/real_arb.pyx
-+++ b/src/sage/rings/real_arb.pyx
-@@ -3489,12 +3489,12 @@ cdef class RealBall(RingElement):
- 
-         EXAMPLES::
- 
--            sage: RBF(1).Ei()
-+            sage: RBF(1).Ei()  # abs tol 5e-16
-             [1.89511781635594 +/- 4.94e-15]
- 
-         TESTS::
- 
--            sage: RBF(Ei(1))
-+            sage: RBF(Ei(1))  # abs tol 5e-16
-             [1.89511781635594 +/- 4.94e-15]
-         """
-         cdef RealBall res = self._new()
-@@ -3531,12 +3531,12 @@ cdef class RealBall(RingElement):
- 
-         EXAMPLES::
- 
--            sage: RBF(1).Ci()
-+            sage: RBF(1).Ci()  # abs tol 1e-16
-             [0.337403922900968 +/- 3.25e-16]
- 
-         TESTS::
- 
--            sage: RBF(Ci(1))
-+            sage: RBF(Ci(1))  # abs tol 1e-16
-             [0.337403922900968 +/- 3.25e-16]
-         """
-         cdef RealBall res = self._new()
-@@ -3575,12 +3575,12 @@ cdef class RealBall(RingElement):
- 
-         EXAMPLES::
- 
--            sage: RBF(1).Chi()
-+            sage: RBF(1).Chi()  # abs tol 1e-17
-             [0.837866940980208 +/- 4.72e-16]
- 
-         TESTS::
- 
--            sage: RBF(Chi(1))
-+            sage: RBF(Chi(1))  # abs tol 1e-17
-             [0.837866940980208 +/- 4.72e-16]
-         """
-         cdef RealBall res = self._new()
-@@ -3597,7 +3597,7 @@ cdef class RealBall(RingElement):
- 
-         EXAMPLES::
- 
--            sage: RBF(3).li()
-+            sage: RBF(3).li()  # abs tol 1e-15
-             [2.16358859466719 +/- 4.72e-15]
- 
-         TESTS::
-@@ -3621,7 +3621,7 @@ cdef class RealBall(RingElement):
- 
-         EXAMPLES::
- 
--            sage: RBF(3).Li()
-+            sage: RBF(3).Li()  # abs tol 1e-15
-             [1.11842481454970 +/- 7.61e-15]
-         """
-         cdef RealBall res = self._new()
-@@ -3648,9 +3648,9 @@ cdef class RealBall(RingElement):
- 
-         EXAMPLES::
- 
--            sage: RBF(sin(3)).beta(RBF(2/3).sqrt())
-+            sage: RBF(sin(3)).beta(RBF(2/3).sqrt())  # abs tol 1e-13
-             [7.407661629415 +/- 1.07e-13]
--            sage: RealBallField(100)(7/2).beta(1)
-+            sage: RealBallField(100)(7/2).beta(1)  # abs tol 1e-30
-             [0.28571428571428571428571428571 +/- 5.23e-30]
-             sage: RealBallField(100)(7/2).beta(1, 1/2)
-             [0.025253813613805268728601584361 +/- 2.53e-31]
-@@ -3685,9 +3685,9 @@ cdef class RealBall(RingElement):
- 
-             sage: RBF(1/2).gamma()
-             [1.772453850905516 +/- ...e-16]
--            sage: RBF(gamma(3/2, RBF(2).sqrt()))
-+            sage: RBF(gamma(3/2, RBF(2).sqrt()))  # abs tol 2e-17
-             [0.37118875695353 +/- 3.00e-15]
--            sage: RBF(3/2).gamma_inc(RBF(2).sqrt())
-+            sage: RBF(3/2).gamma_inc(RBF(2).sqrt())  # abs tol 2e-17
-             [0.37118875695353 +/- 3.00e-15]
- 
-         .. SEEALSO::
-diff --git a/src/sage/symbolic/function.pyx b/src/sage/symbolic/function.pyx
-index 89cdce5..480a601 100644
---- a/src/sage/symbolic/function.pyx
-+++ b/src/sage/symbolic/function.pyx
-@@ -626,7 +626,7 @@ cdef class Function(SageObject):
-             sage: b = RBF(3/2, 1e-10)
-             sage: airy_ai(b)
-             airy_ai([1.500000000 +/- 1.01e-10])
--            sage: gamma(b, 1)
-+            sage: gamma(b, 1)  # abs tol 4.5e-9
-             [0.50728223 +/- 4.67e-9]
-             sage: hurwitz_zeta(b, b)
-             hurwitz_zeta([1.500000000 +/- 1.01e-10], [1.500000000 +/- 1.01e-10])
--- 
-cgit v1.0-1-gd88e
-
diff --git a/srcpkgs/sagemath/patches/trac-32964-speed_up_doctest_orthogonal_polys-2aef840b4f066a206cca26c54a8206740a8f6c66.patch b/srcpkgs/sagemath/patches/trac-32964-speed_up_doctest_orthogonal_polys-2aef840b4f066a206cca26c54a8206740a8f6c66.patch
deleted file mode 100644
index 97bba8fba0f5..000000000000
--- a/srcpkgs/sagemath/patches/trac-32964-speed_up_doctest_orthogonal_polys-2aef840b4f066a206cca26c54a8206740a8f6c66.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-From e713a4f9601a066a42174db4a55cb62aee603840 Mon Sep 17 00:00:00 2001
-From: Michael Orlitzky <michael@orlitzky.com>
-Date: Fri, 3 Dec 2021 21:20:34 -0500
-Subject: Trac #32964: speed up a very slow doctest in
- functions.orthogonal_polys.
-
-I've got 99 problems, and they're slow. One doctest in this module is
-repeating a random test 100 times, taking over four minutes on my
-machine. More tests are better, but in this case, coverage will
-eventually accrue from the number of testers even if we only repeat
-the test once within the file.
-
-Since this particular test is an EXAMPLE, I've also made it a bit more
-user-friendly while eliminating the additional runs.
-
-message for your changes. Lines starting # with '#' will be ignored,
-and an empty message aborts the commit.  # # On branch
-u/mjo/ticket/32964 # Changes to be committed: # modified:
-src/sage/functions/orthogonal_polys.py #
----
- src/sage/functions/orthogonal_polys.py | 11 +++++++----
- 1 file changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/src/sage/functions/orthogonal_polys.py b/src/sage/functions/orthogonal_polys.py
-index de8a18b..522933e 100644
---- a/src/sage/functions/orthogonal_polys.py
-+++ b/src/sage/functions/orthogonal_polys.py
-@@ -2081,10 +2081,13 @@ class Func_ultraspherical(GinacFunction):
-         sage: gegenbauer(3,2,t)
-         32*t^3 - 12*t
-         sage: _ = var('x')
--        sage: for N in range(100):
--        ....:     n = ZZ.random_element(5, 5001)
--        ....:     a = QQ.random_element().abs() + 5
--        ....:     assert ((n+1)*ultraspherical(n+1,a,x) - 2*x*(n+a)*ultraspherical(n,a,x) + (n+2*a-1)*ultraspherical(n-1,a,x)).expand().is_zero()
-+        sage: n = ZZ.random_element(5, 5001)
-+        sage: a = QQ.random_element().abs() + 5
-+        sage: s = (  (n+1)*ultraspherical(n+1,a,x)
-+        ....:      - 2*x*(n+a)*ultraspherical(n,a,x)
-+        ....:      + (n+2*a-1)*ultraspherical(n-1,a,x) )
-+        sage: s.expand().is_zero()
-+        True
-         sage: ultraspherical(5,9/10,3.1416)
-         6949.55439044240
-         sage: ultraspherical(5,9/10,RealField(100)(pi))
--- 
-cgit v1.0-1-gd88e
-
-
-From a2343424267d7357c1ab6bec706e3447d6280687 Mon Sep 17 00:00:00 2001
-From: Michael Orlitzky <michael@orlitzky.com>
-Date: Fri, 3 Dec 2021 21:30:57 -0500
-Subject: Trac #32964: replace some uses of var() with SR.var().
-
-This is unrelated to the main purpose of ticket 32964, but while I was
-editing this file, I noticed that several examples use var() to inject
-symbolic expressions into the current scope. This commit changes them
-to use the preferred form `x = SR.var('x')` whose side-effects are
-much easier to predict.
----
- src/sage/functions/orthogonal_polys.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/sage/functions/orthogonal_polys.py b/src/sage/functions/orthogonal_polys.py
-index 522933e..cd845a5 100644
---- a/src/sage/functions/orthogonal_polys.py
-+++ b/src/sage/functions/orthogonal_polys.py
-@@ -1911,7 +1911,7 @@ class Func_hermite(GinacFunction):
-         ...
-         RuntimeError: hermite_eval: The index n must be a nonnegative integer
- 
--        sage: _ = var('m x')
-+        sage: m,x = SR.var('m,x')
-         sage: hermite(m, x).diff(m)
-         Traceback (most recent call last):
-         ...
-@@ -1962,7 +1962,7 @@ class Func_jacobi_P(OrthogonalFunction):
- 
-         EXAMPLES::
- 
--            sage: _ = var('n a b x')
-+            sage: n,a,b,x = SR.var('n,a,b,x')
-             sage: loads(dumps(jacobi_P))
-             jacobi_P
-             sage: jacobi_P(n, a, b, x, hold=True)._sympy_()
-@@ -1976,7 +1976,7 @@ class Func_jacobi_P(OrthogonalFunction):
-         """
-         EXAMPLES::
- 
--            sage: _ = var('n a b x')
-+            sage: n,a,b,x = SR.var('n,a,b,x')
-             sage: jacobi_P(1,n,n,n)
-             (n + 1)*n
-             sage: jacobi_P(2,n,n,n)
-@@ -2080,7 +2080,7 @@ class Func_ultraspherical(GinacFunction):
-         sage: t = PolynomialRing(RationalField(),"t").gen()
-         sage: gegenbauer(3,2,t)
-         32*t^3 - 12*t
--        sage: _ = var('x')
-+        sage: x = SR.var('x')
-         sage: n = ZZ.random_element(5, 5001)
-         sage: a = QQ.random_element().abs() + 5
-         sage: s = (  (n+1)*ultraspherical(n+1,a,x)
-@@ -2093,7 +2093,7 @@ class Func_ultraspherical(GinacFunction):
-         sage: ultraspherical(5,9/10,RealField(100)(pi))
-         6949.4695419382702451843080687
- 
--        sage: _ = var('a n')
-+        sage: a,n = SR.var('a,n')
-         sage: gegenbauer(2,a,x)
-         2*(a + 1)*a*x^2 - a
-         sage: gegenbauer(3,a,x)
--- 
-cgit v1.0-1-gd88e
-
-
-From 9b2f042147b4d25c5d7e1776bfb4b5c76db9d97b Mon Sep 17 00:00:00 2001
-From: Michael Orlitzky <michael@orlitzky.com>
-Date: Fri, 3 Dec 2021 21:39:43 -0500
-Subject: Trac #32964: fix failing doctest in functions.orthogonal_polys.
-
-One of the examples in this module is expecting a doctest warning, but
-that warning is only emitted the first time it happens. When testing
-with
-
-  sage -t --file-iterations=2
-
-the warning does not appear in the second pass, and the test (that is
-expecting it) fails. This commit adds some more "..." to support both
-possible outcomes.
----
- src/sage/functions/orthogonal_polys.py | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/src/sage/functions/orthogonal_polys.py b/src/sage/functions/orthogonal_polys.py
-index cd845a5..beb4f2d 100644
---- a/src/sage/functions/orthogonal_polys.py
-+++ b/src/sage/functions/orthogonal_polys.py
-@@ -495,8 +495,7 @@ class ChebyshevFunction(OrthogonalFunction):
-             sage: chebyshev_T(5,Qp(3)(2))
-             2 + 3^2 + 3^3 + 3^4 + 3^5 + O(3^20)
-             sage: chebyshev_T(100001/2, 2)
--            doctest:...: RuntimeWarning: mpmath failed, keeping expression unevaluated
--            chebyshev_T(100001/2, 2)
-+            ...chebyshev_T(100001/2, 2)
-             sage: chebyshev_U._eval_(1.5, Mod(8,9)) is None
-             True
-         """
--- 
-cgit v1.0-1-gd88e
-
diff --git a/srcpkgs/sagemath/patches/trac-33020-update_ipykernel_to_6.6.0-715277cfadd7b3872ad6f7001fe84fb7568c947c.patch b/srcpkgs/sagemath/patches/trac-33020-update_ipykernel_to_6.6.0-715277cfadd7b3872ad6f7001fe84fb7568c947c.patch
deleted file mode 100644
index 9cb11b381ea2..000000000000
--- a/srcpkgs/sagemath/patches/trac-33020-update_ipykernel_to_6.6.0-715277cfadd7b3872ad6f7001fe84fb7568c947c.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 715277cfadd7b3872ad6f7001fe84fb7568c947c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
-Date: Mon, 13 Dec 2021 18:04:04 -0300
-Subject: update ipykernel and make debugpy optional
-
- - update ipykernel to 6.6.0, for which debugpy is optional
- - patch out debugpy from pyproject.toml and setup.py
- - make debugpy optional for sagemath
----
- build/pkgs/debugpy/type                             |  2 +-
- build/pkgs/ipykernel/checksums.ini                  |  6 +++---
- build/pkgs/ipykernel/dependencies                   |  2 +-
- build/pkgs/ipykernel/package-version.txt            |  2 +-
- .../ipykernel/patches/debugpy-make-optional.patch   | 21 +++++++++++++++++++++
- 5 files changed, 27 insertions(+), 6 deletions(-)
- create mode 100644 build/pkgs/ipykernel/patches/debugpy-make-optional.patch
-
-diff --git a/build/pkgs/debugpy/type b/build/pkgs/debugpy/type
-index a6a7b9c..134d9bc 100644
---- a/build/pkgs/debugpy/type
-+++ b/build/pkgs/debugpy/type
-@@ -1 +1 @@
--standard
-+optional
-diff --git a/build/pkgs/ipykernel/checksums.ini b/build/pkgs/ipykernel/checksums.ini
-index ca1302e..724eec8 100644
---- a/build/pkgs/ipykernel/checksums.ini
-+++ b/build/pkgs/ipykernel/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=ipykernel-VERSION.tar.gz
--sha1=2c2aa0e929bfd0e694da6b45d2de846a0a5d2812
--md5=78797cb2389d8f131c75280f808aac15
--cksum=1454395629
-+sha1=5a5cf7f8c0c02d0c0cc5fe3e0fe7481a86de6552
-+md5=f940975eb00de793695c386ad3a8800c
-+cksum=597841676
- upstream_url=https://pypi.io/packages/source/i/ipykernel/ipykernel-VERSION.tar.gz
-diff --git a/build/pkgs/ipykernel/dependencies b/build/pkgs/ipykernel/dependencies
-index eec7126..5b3708a 100644
---- a/build/pkgs/ipykernel/dependencies
-+++ b/build/pkgs/ipykernel/dependencies
-@@ -1,4 +1,4 @@
--$(PYTHON) ipython_genutils importlib_metadata argcomplete debugpy matplotlib_inline ipython jupyter_client tornado appnope traitlets | $(PYTHON_TOOLCHAIN)
-+$(PYTHON) ipython_genutils importlib_metadata argcomplete matplotlib_inline ipython jupyter_client tornado appnope traitlets | $(PYTHON_TOOLCHAIN)
- 
- ----------
- All lines of this file are ignored except the first.
-diff --git a/build/pkgs/ipykernel/package-version.txt b/build/pkgs/ipykernel/package-version.txt
-index a194c18..826f5ce 100644
---- a/build/pkgs/ipykernel/package-version.txt
-+++ b/build/pkgs/ipykernel/package-version.txt
-@@ -1 +1 @@
--6.5.1
-+6.6.0
-diff --git a/build/pkgs/ipykernel/patches/debugpy-make-optional.patch b/build/pkgs/ipykernel/patches/debugpy-make-optional.patch
-new file mode 100644
-index 00000000..308e4dd
---- /dev/null
-+++ b/build/pkgs/ipykernel/patches/debugpy-make-optional.patch
-@@ -0,0 +1,21 @@
-+--- a/pyproject.toml	2021-12-01 10:23:30.000000000 -0300
-++++ b/pyproject.toml	2021-12-13 18:01:36.239921204 -0300
-+@@ -3,7 +3,6 @@
-+ requires=[
-+   "setuptools",
-+   "wheel",
-+-  "debugpy",
-+   "ipython>=5",
-+   "jupyter_core>=4.2",
-+   "jupyter_client",
-+diff -ruN a/setup.py b/setup.py
-+--- a/setup.py	2021-12-01 10:23:09.000000000 -0300
-++++ b/setup.py	2021-12-13 18:01:40.112873823 -0300
-+@@ -63,7 +63,6 @@
-+     install_requires=[
-+         'importlib-metadata<5;python_version<"3.8.0"',
-+         'argcomplete>=1.12.3;python_version<"3.8.0"',
-+-        'debugpy>=1.0.0,<2.0',
-+         'ipython>=7.23.1',
-+         'traitlets>=5.1.0,<6.0',
-+         'jupyter_client<8.0',
--- 
-cgit v1.0-1-gd88e
-
diff --git a/srcpkgs/sagemath/patches/trac-33041-suppress_pythran_deprecation_warnings-ee51c4322416b2ef96590a5b42d3916342f48059.patch b/srcpkgs/sagemath/patches/trac-33041-suppress_pythran_deprecation_warnings-ee51c4322416b2ef96590a5b42d3916342f48059.patch
deleted file mode 100644
index 5263dc2d9d08..000000000000
--- a/srcpkgs/sagemath/patches/trac-33041-suppress_pythran_deprecation_warnings-ee51c4322416b2ef96590a5b42d3916342f48059.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From ee51c4322416b2ef96590a5b42d3916342f48059 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Sat, 18 Dec 2021 14:23:57 -0800
-Subject: src/sage/all.py: Suppress numpy deprecation warnings triggered by
- pythran
-
----
- src/sage/all.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/sage/all.py b/src/sage/all.py
-index 27cbfe7..3b50ef0 100644
---- a/src/sage/all.py
-+++ b/src/sage/all.py
-@@ -91,6 +91,10 @@ warnings.filterwarnings('ignore', category=DeprecationWarning,
- warnings.filterwarnings('ignore', category=DeprecationWarning,
-     module='(.*[.]_vendor[.])?packaging')
- 
-+# Ignore numpy warnings triggered by pythran
-+warnings.filterwarnings('ignore', category=DeprecationWarning,
-+                        module='pythran')
-+
- ################ end setup warnings ###############################
- 
- 
--- 
-cgit v1.0-1-gd88e
-
diff --git a/srcpkgs/sagemath/patches/trac-33073-fix_segfault_on_polyhedra-179a508cb136b860d6ef36410811f07a14658492.patch b/srcpkgs/sagemath/patches/trac-33073-fix_segfault_on_polyhedra-179a508cb136b860d6ef36410811f07a14658492.patch
new file mode 100644
index 000000000000..75198ce9c3bc
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-33073-fix_segfault_on_polyhedra-179a508cb136b860d6ef36410811f07a14658492.patch
@@ -0,0 +1,51 @@
+From 5f492e3b7f45e65e8db8ae74d6b3aee20912a14b Mon Sep 17 00:00:00 2001
+From: Jonathan Kliem <jonathan.kliem@fu-berlin.de>
+Date: Fri, 24 Dec 2021 11:56:56 +0100
+Subject: fix alignment on 32-bit machines
+
+---
+ src/sage/data_structures/bitset_intrinsics.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/sage/data_structures/bitset_intrinsics.h b/src/sage/data_structures/bitset_intrinsics.h
+index f55b6bd..88ac659 100644
+--- a/src/sage/data_structures/bitset_intrinsics.h
++++ b/src/sage/data_structures/bitset_intrinsics.h
+@@ -29,7 +29,7 @@ const mp_bitcnt_t LIMB_SIZE = sizeof(mp_limb_t);
+ #elif __SSE4_1__
+     const mp_bitcnt_t ALIGNMENT = 16;
+ #else
+-    const mp_bitcnt_t ALIGNMENT = 8;
++    const mp_bitcnt_t ALIGNMENT = LIMB_SIZE;
+ #endif
+ 
+ // We assume that ``GMP_LIMB_BITS`` is a divisor of 64
+-- 
+cgit v1.0-1-gd88e
+
+
+From 179a508cb136b860d6ef36410811f07a14658492 Mon Sep 17 00:00:00 2001
+From: Jonathan Kliem <jonathan.kliem@fu-berlin.de>
+Date: Sun, 26 Dec 2021 19:13:16 +0100
+Subject: work around an issue with ubuntu-bionic
+
+---
+ src/sage/data_structures/bitset_intrinsics.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/sage/data_structures/bitset_intrinsics.h b/src/sage/data_structures/bitset_intrinsics.h
+index 88ac659..c21f5e2 100644
+--- a/src/sage/data_structures/bitset_intrinsics.h
++++ b/src/sage/data_structures/bitset_intrinsics.h
+@@ -29,7 +29,7 @@ const mp_bitcnt_t LIMB_SIZE = sizeof(mp_limb_t);
+ #elif __SSE4_1__
+     const mp_bitcnt_t ALIGNMENT = 16;
+ #else
+-    const mp_bitcnt_t ALIGNMENT = LIMB_SIZE;
++    const mp_bitcnt_t ALIGNMENT = sizeof(mp_limb_t);
+ #endif
+ 
+ // We assume that ``GMP_LIMB_BITS`` is a divisor of 64
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/patches/trac-33081-fix_segfault_on_musl_1.2-36dc98f32c0b9e65a0674d13c55b00fbf7b8a1f.patch b/srcpkgs/sagemath/patches/trac-33081-fix_segfault_on_musl_1.2-36dc98f32c0b9e65a0674d13c55b00fbf7b8a1f.patch
new file mode 100644
index 000000000000..3c7c039bef66
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-33081-fix_segfault_on_musl_1.2-36dc98f32c0b9e65a0674d13c55b00fbf7b8a1f.patch
@@ -0,0 +1,68 @@
+From f36dc98f32c0b9e65a0674d13c55b00fbf7b8a1f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Sun, 26 Dec 2021 11:52:18 -0300
+Subject: trac 33081: fix integer allocation
+
+Reallocate the global dummy Integer to one limb.
+
+This is a better fix for #31340 (memory leak when the global dummy
+Integer is not allocated) and it fixes #33081 (segfault when global
+dummy Integer has more than one limb allocated, detected by malloc
+canaries in musl libc 1.2.2)
+
+Also add a function _check_global_dummy_Integer() whose only purpose is
+to doctest that the global dummy Integer satisfies all the assumptions.
+---
+ src/sage/rings/integer.pyx | 28 +++++++++++++++++++++++++---
+ 1 file changed, 25 insertions(+), 3 deletions(-)
+
+diff --git a/src/sage/rings/integer.pyx b/src/sage/rings/integer.pyx
+index fab88fd..a9ee335 100644
+--- a/src/sage/rings/integer.pyx
++++ b/src/sage/rings/integer.pyx
+@@ -7240,10 +7240,30 @@ cdef int sizeof_Integer
+ 
+ # We use a global Integer element to steal all the references
+ # from. DO NOT INITIALIZE IT AGAIN and DO NOT REFERENCE IT!
+-#
+-# Use actual calculation to avoid libgmp's new lazy allocation :trac:`31340`
+ cdef Integer global_dummy_Integer
+-global_dummy_Integer = Integer(1) - Integer(1)
++global_dummy_Integer = Integer()
++# Reallocate to one limb to fix :trac:`31340` and :trac:`33081`
++_mpz_realloc(global_dummy_Integer.value, 1)
++
++def _check_global_dummy_Integer():
++    """
++    Return true if the global dummy Integer is ok.
++
++    TEST::
++
++        sage: from sage.rings.integer import _check_global_dummy_Integer
++        sage: _check_global_dummy_Integer()
++        True
++    """
++    # Check that it has exactly one limb allocated
++    # This is assumed later in fast_tp_new() :trac:`33081`
++    cdef mpz_ptr dummy = global_dummy_Integer.value
++    if dummy._mp_alloc == 1 and dummy._mp_size == 0:
++        return True
++
++    raise AssertionError(
++      "global dummy Integer is corrupt (_mp_alloc = %d, _mp_size = %d)"
++      % (dummy._mp_alloc, dummy._mp_size))
+ 
+ 
+ # A global pool for performance when integers are rapidly created and destroyed.
+@@ -7318,6 +7338,8 @@ cdef PyObject* fast_tp_new(type t, args, kwds) except NULL:
+         #  various internals described here may change in future GMP releases.
+         #  Applications expecting to be compatible with future releases should use
+         #  only the documented interfaces described in previous chapters."
++        #
++        # NOTE: This assumes global_dummy_Integer.value._mp_alloc == 1
+         new_mpz = <mpz_ptr>((<Integer>new).value)
+         new_mpz._mp_d = <mp_ptr>check_malloc(GMP_LIMB_BITS >> 3)
+ 
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/patches/trac-33085-pass_doctests_without_dochtml-4e364ea702799d8ddee23d306ea6622f2ac412ce.patch b/srcpkgs/sagemath/patches/trac-33085-pass_doctests_without_dochtml-4e364ea702799d8ddee23d306ea6622f2ac412ce.patch
new file mode 100644
index 000000000000..3794aa7f019b
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-33085-pass_doctests_without_dochtml-4e364ea702799d8ddee23d306ea6622f2ac412ce.patch
@@ -0,0 +1,177 @@
+From 7d3381b21e4716cfa8a33915621a12f0eba74233 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Sun, 26 Dec 2021 18:21:18 -0300
+Subject: doctests: remove dochtml label from some tests that don't need docs
+ installed
+
+---
+ src/sage/docs/conf.py    |  4 ++--
+ src/sage/misc/sagedoc.py | 12 ++++++------
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/sage/docs/conf.py b/src/sage/docs/conf.py
+index f2efb65..da41efa 100644
+--- a/src/sage/docs/conf.py
++++ b/src/sage/docs/conf.py
+@@ -719,8 +719,8 @@ def call_intersphinx(app, env, node, contnode):
+     Check that the link from the thematic tutorials to the reference
+     manual is relative, see :trac:`20118`::
+ 
+-        sage: from sage.env import SAGE_DOC  # optional - dochtml
+-        sage: thematic_index = os.path.join(SAGE_DOC, "html", "en", "thematic_tutorials", "index.html")  # optional - dochtml
++        sage: from sage.env import SAGE_DOC
++        sage: thematic_index = os.path.join(SAGE_DOC, "html", "en", "thematic_tutorials", "index.html")
+         sage: for line in open(thematic_index).readlines():  # optional - dochtml
+         ....:     if "padics" in line:
+         ....:         _ = sys.stdout.write(line)
+diff --git a/src/sage/misc/sagedoc.py b/src/sage/misc/sagedoc.py
+index eb70516..b4848ed 100644
+--- a/src/sage/misc/sagedoc.py
++++ b/src/sage/misc/sagedoc.py
+@@ -18,8 +18,8 @@ TESTS:
+ Check that argspecs of extension function/methods appear correctly,
+ see :trac:`12849`::
+ 
+-    sage: from sage.env import SAGE_DOC  # optional - dochtml
+-    sage: docfilename = os.path.join(SAGE_DOC, 'html', 'en', 'reference', 'calculus', 'sage', 'symbolic', 'expression.html')  # optional - dochtml
++    sage: from sage.env import SAGE_DOC
++    sage: docfilename = os.path.join(SAGE_DOC, 'html', 'en', 'reference', 'calculus', 'sage', 'symbolic', 'expression.html')
+     sage: with open(docfilename) as fobj:  # optional - dochtml
+     ....:     for line in fobj:
+     ....:         if "#sage.symbolic.expression.Expression.numerical_approx" in line:
+@@ -839,12 +839,12 @@ def _search_src_or_doc(what, string, extra1='', extra2='', extra3='',
+ 
+     ::
+ 
+-        sage: from sage.misc.sagedoc import _search_src_or_doc  # optional - dochtml
+-        sage: len(_search_src_or_doc('src', r'matrix\(', 'incidence_structures', 'self', 'combinat', interact=False).splitlines()) > 1  # optional - dochtml
++        sage: from sage.misc.sagedoc import _search_src_or_doc
++        sage: len(_search_src_or_doc('src', r'matrix\(', 'incidence_structures', 'self', 'combinat', interact=False).splitlines()) > 1
+         True
+         sage: 'abvar/homology' in _search_src_or_doc('doc', 'homology', 'variety', interact=False)  # optional - dochtml, long time (4s on sage.math, 2012)
+         True
+-        sage: 'divisors' in _search_src_or_doc('src', '^ *def prime', interact=False)  # optional - dochtml
++        sage: 'divisors' in _search_src_or_doc('src', '^ *def prime', interact=False)
+         True
+ 
+     When passing ``interactive=True``, in a terminal session this will pass the
+@@ -1363,7 +1363,7 @@ class _sage_doc:
+ 
+         sage: browse_sage_doc._open("reference", testing=True)[0]  # optional - dochtml, indirect doctest
+         'http://localhost:8000/doc/live/reference/index.html'
+-        sage: browse_sage_doc(identity_matrix, 'rst')[-107:-47]  # optional - dochtml
++        sage: browse_sage_doc(identity_matrix, 'rst')[-107:-47]
+         'Full MatrixSpace of 3 by 3 sparse matrices over Integer Ring'
+     """
+     def __init__(self):
+-- 
+cgit v1.0-1-gd88e
+
+
+From 42a76c3f82edecc9c6c53c661251677e3e907584 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Sun, 26 Dec 2021 18:22:13 -0300
+Subject: doctests: add dochtml label to some tests that need docs installed
+
+---
+ src/sage_docbuild/__init__.py | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/sage_docbuild/__init__.py b/src/sage_docbuild/__init__.py
+index 4a71c91..dd233bd 100644
+--- a/src/sage_docbuild/__init__.py
++++ b/src/sage_docbuild/__init__.py
+@@ -105,7 +105,7 @@ def builder_helper(type):
+         sage: from sage_docbuild import builder_helper, build_ref_doc
+         sage: from sage_docbuild import _build_many as build_many
+         sage: helper = builder_helper("html")
+-        sage: try:
++        sage: try:  # optional - dochtml
+         ....:     build_many(build_ref_doc, [("docname", "en", "html", {})])
+         ....: except Exception as E:
+         ....:     "Non-exception during docbuild: abort pool operation" in str(E)
+@@ -186,7 +186,7 @@ class DocBuilder(object):
+ 
+             sage: from sage_docbuild import DocBuilder
+             sage: b = DocBuilder('tutorial')
+-            sage: b._output_dir('html')
++            sage: b._output_dir('html')         # optional - dochtml
+             '.../html/en/tutorial'
+         """
+         d = os.path.join(SAGE_DOC, type, self.lang, self.name)
+@@ -203,7 +203,7 @@ class DocBuilder(object):
+ 
+             sage: from sage_docbuild import DocBuilder
+             sage: b = DocBuilder('tutorial')
+-            sage: b._doctrees_dir()
++            sage: b._doctrees_dir()             # optional - docthml
+             '.../doctrees/en/tutorial'
+         """
+         d = os.path.join(SAGE_DOC, 'doctrees', self.lang, self.name)
+@@ -529,7 +529,7 @@ class ReferenceBuilder(AllBuilder):
+ 
+             sage: from sage_docbuild import ReferenceBuilder
+             sage: b = ReferenceBuilder('reference')
+-            sage: b._output_dir('html')
++            sage: b._output_dir('html')         # optional - dochtml
+             '.../html/en/reference'
+         """
+         if lang is None:
+@@ -640,7 +640,7 @@ class ReferenceTopBuilder(DocBuilder):
+ 
+             sage: from sage_docbuild import ReferenceTopBuilder
+             sage: b = ReferenceTopBuilder('reference')
+-            sage: b._output_dir('html')
++            sage: b._output_dir('html')         # optional - dochtml
+             '.../html/en/reference'
+         """
+         if lang is None:
+-- 
+cgit v1.0-1-gd88e
+
+
+From 4e364ea702799d8ddee23d306ea6622f2ac412ce Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Sun, 26 Dec 2021 18:22:49 -0300
+Subject: doctests: use dochtml as default option only when html docs are
+ installed
+
+---
+ src/bin/sage-runtests | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/bin/sage-runtests b/src/bin/sage-runtests
+index 589dc8c..6e6fa5b 100755
+--- a/src/bin/sage-runtests
++++ b/src/bin/sage-runtests
+@@ -8,6 +8,7 @@ import sys
+ DOT_SAGE = os.environ.get('DOT_SAGE', os.path.join(os.environ.get('HOME'),
+                                                    '.sage'))
+ SAGE_ROOT = os.environ.get('SAGE_ROOT')
++SAGE_DOC = os.environ.get('SAGE_DOC')
+ 
+ # Override to not pick up user configuration, see Trac #20270
+ os.environ['SAGE_STARTUP_FILE'] = os.path.join(DOT_SAGE, 'init-doctests.sage')
+@@ -15,7 +16,7 @@ os.environ['SAGE_STARTUP_FILE'] = os.path.join(DOT_SAGE, 'init-doctests.sage')
+ 
+ def _get_optional_defaults():
+     """Return the default value for the --optional flag."""
+-    optional = ['sage', 'dochtml', 'optional']
++    optional = ['sage', 'optional']
+ 
+     # This should be good-enough to determine if we are in a sage source
+     # repository working tree
+@@ -24,6 +25,10 @@ def _get_optional_defaults():
+             os.path.isfile(os.path.join(SAGE_ROOT, 'sage'))):
+         optional.append('build')
+ 
++    # Check if the html docs are installed
++    if (SAGE_DOC and os.path.isdir(os.path.join(SAGE_DOC, 'html'))):
++        optional.append('dochtml')
++
+     return ','.join(optional)
+ 
+ 
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index c2ba123ca0ac..ba6333483d76 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -1,6 +1,6 @@
 # Template file for 'sagemath'
 pkgname=sagemath
-version=9.5.beta8
+version=9.5.beta9
 revision=1
 wrksrc=sage-$version
 build_style=configure
@@ -19,7 +19,7 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-3.0-or-later"
 homepage="http://sagemath.org/"
 distfiles="https://mirrors.mit.edu/sage/src/sage-$version.tar.gz"
-checksum=124f3d23ce6442ecc84ed98e3c035e0d00c8261c3125712e4742c32e731d13de
+checksum=32ca429c0bdbb90c9999bca4ba858d1def280425d42048c4230dae005de2a0d1
 python_version=3
 
 build_options="debug system_python3"
@@ -36,25 +36,10 @@ case ${version} in
 	*.beta*|*.rc*) distfiles=${distfiles/sage\/src/sage\/devel} ;;
 esac
 
-# extra upstream packages (trac-30766 / trac-32968 / trac-33020 / trac-33040)
+# extra upstream packages (trac-32968 / trac-33040)
 _upstream="
- https://pypi.io/packages/source/i/ipython/ipython-7.29.0.tar.gz
- https://pypi.io/packages/source/i/ipykernel/ipykernel-6.5.1.tar.gz
- https://pypi.io/packages/source/i/ipywidgets/ipywidgets-7.6.5.tar.gz
- https://pypi.io/packages/source/j/jedi/jedi-0.18.1.tar.gz
- https://pypi.io/packages/source/p/prompt_toolkit/prompt_toolkit-3.0.22.tar.gz
- https://pypi.io/packages/source/w/widgetsnbextension/widgetsnbextension-3.5.2.tar.gz
- https://pypi.io/packages/source/t/terminado/terminado-0.12.1.tar.gz
- https://pypi.io/packages/source/n/notebook/notebook-6.4.6.tar.gz
- https://pypi.io/packages/source/n/nbclient/nbclient-0.5.9.tar.gz
- https://pypi.io/packages/source/j/jupyter_client/jupyter_client-7.1.0.tar.gz
- https://pypi.io/packages/source/j/jupyter_core/jupyter_core-4.9.1.tar.gz
- https://pypi.io/packages/source/i/importlib_metadata/importlib_metadata-4.8.2.tar.gz
-
  https://pypi.io/packages/source/s/sphinx/Sphinx-4.3.1.tar.gz
 
- https://pypi.io/packages/source/i/ipykernel/ipykernel-6.6.0.tar.gz
-
  https://files.pythonhosted.org/packages/source/c/cycler/cycler-0.11.0.tar.gz
  https://files.pythonhosted.org/packages/source/k/kiwisolver/kiwisolver-1.3.2.tar.gz
  https://pypi.io/packages/source/p/pytz/pytz-2021.3.tar.gz
@@ -69,23 +54,8 @@ _upstream="
 "
 
 checksum+="
- 4f69d7423a5a1972f6347ff233e38bbf4df6a150ef20fbb00c635442ac3060aa
- dd27172bccbbcfef952991e49372e4c6fd1c14eed0df05ebd5b4335cb27a81a2
- 00974f7cb4d5f8d494c19810fedb9fa9b64bffd3cda7c2be23c133a1ad3c99c5
- 74137626a64a99c8eb6ae5832d99b3bdd7d29a3850fe2aa80a4126b2a7d949ab
- 449f333dd120bd01f5d296a8ce1452114ba3a71fae7288d2f0ae2c918764fa72
- e0731a60ba540cd19bbbefe771a9076dcd2dde90713a8f87f27f53f2d1db7727
- b20fd93cc57c1678c799799d117874367cc07a3d2d55be95205b1a88fa08393f
- 7bcdf79bd1cda534735bd9830d2cbedab4ee34d8fe1df6e7b946b3aab0902ba3
- 99e46ddafacd0b861293bf246fed8540a184adfa3aa7d641f89031ec070701e0
- a5f995a73cffb314ed262713ae6dfce53c6b8216cea9f332071b8ff44a6e1654
- dce8a7499da5a53ae3afd5a9f4b02e5df1d57250cf48f3ad79da23b4778cd6fa
- 75bdec14c397f528724c1bfd9709d660b33a4d2e77387a3358f20b848bb5e5fb
-
  32a5b3e9a1b176cc25ed048557d4d3d01af635e6b76c5bc7a43b0a34447fbd45
 
- 3a227788216b43982d9ac28195949467627b0d16e6b8af9741d95dcaa8c41a89
-
  9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f
  fc4453705b81d03568d5b808ad8f09c77c47534f6ac2e72e733f9ca4714aa75c
  acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326
@@ -168,13 +138,6 @@ do_install() {
 	do
 		rm -rf ${DESTDIR}/$_SAGE_ROOT/$d
 	done
-	# keep required empty dirs
-	for d in local/share/doc/sage/html/en/{docname,tutorial,reference} \
-	         local/share/doc/sage/doctrees/en/{docname,tutorial}
-	do
-		mkdir -p ${DESTDIR}/$_SAGE_ROOT/$d
-		touch ${DESTDIR}/$_SAGE_ROOT/$d/.empty
-	done
 
 	# symlink main binary
 	vmkdir usr/bin

From a29a692cbb45d6b944e967b9774425b2522625b1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 26 Dec 2021 20:20:38 -0300
Subject: [PATCH 19/39] sagemath: change do_install()

The new way installs by whitelist, only what is necessary (it's possible
that something else can be removed in src, but not a lot since src/sage
is required for the internal help)

Also add two more patches: the last remaining issue on i686 and a patch
that avoids the need to install the build directory.

Hopefully now all tests pass on x86_64, x86_64-musl, and i686.  Both
when running in the build chroot by xbps-src check, and also when
running after installation by sage --testall.
---
 ...e-site-exec-only-if-it-is-executable.patch | 43 +++++++++++++++++++
 ...3138d0403be7c7cb303de2bc0a0e0b6793c.patch} | 31 +++++++++++++
 srcpkgs/sagemath/template                     | 24 +++++++----
 3 files changed, 90 insertions(+), 8 deletions(-)
 create mode 100644 srcpkgs/sagemath/patches/0001-sage-site-exec-only-if-it-is-executable.patch
 rename srcpkgs/sagemath/patches/{trac-33073-fix_segfault_on_polyhedra-179a508cb136b860d6ef36410811f07a14658492.patch => trac-33073-fix_segfault_on_polyhedra-177903138d0403be7c7cb303de2bc0a0e0b6793c.patch} (56%)

diff --git a/srcpkgs/sagemath/patches/0001-sage-site-exec-only-if-it-is-executable.patch b/srcpkgs/sagemath/patches/0001-sage-site-exec-only-if-it-is-executable.patch
new file mode 100644
index 000000000000..ce17c6d6e954
--- /dev/null
+++ b/srcpkgs/sagemath/patches/0001-sage-site-exec-only-if-it-is-executable.patch
@@ -0,0 +1,43 @@
+From 424de0923cb3d44d010e3e2f9bd7bc75d5c30234 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Sun, 26 Dec 2021 22:34:39 -0300
+Subject: [PATCH] sage-site: exec only if it is executable
+
+---
+ src/bin/sage | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/bin/sage b/src/bin/sage
+index 4c0fa17426..153e610a2e 100755
+--- a/src/bin/sage
++++ b/src/bin/sage
+@@ -129,7 +129,7 @@ usage() {
+     echo "                           --optional - controls which optional tests are run"
+     echo "                           --help - show all testing options"
+     echo "  -v, --version       -- display Sage version information"
+-    if [ -n "$SAGE_ROOT" ]; then
++    if [ -n "$SAGE_ROOT" -a -x "$SAGE_ROOT/build/bin/sage-site" ]; then
+         exec "$SAGE_ROOT/build/bin/sage-site" "-h"
+     fi
+     exit 0
+@@ -555,7 +555,7 @@ usage_advanced() {
+     echo "                         files are named sage-omega.PID can be found in"
+     echo "                         \$DOT_SAGE"
+     echo "  --valgrind          -- this is an alias for --memcheck"
+-    if [ -n "$SAGE_ROOT" ]; then
++    if [ -n "$SAGE_ROOT" -a -x "$SAGE_ROOT/build/bin/sage-site" ]; then
+         exec "$SAGE_ROOT/build/bin/sage-site" "--advanced"
+     fi
+     echo
+@@ -1131,7 +1131,7 @@ case "$1" in
+     -*)
+         # Delegate further option handling to the non-installed sage-site script.
+         # (These options become unavailable if the directory $SAGE_ROOT is removed.)
+-        if [ -n "$SAGE_ROOT" ]; then
++        if [ -n "$SAGE_ROOT" -a -x "$SAGE_ROOT/build/bin/sage-site" ]; then
+             exec "$SAGE_ROOT/build/bin/sage-site" "$@"
+             # fallthrough if there is no sage-site script
+         fi
+-- 
+2.34.1
+
diff --git a/srcpkgs/sagemath/patches/trac-33073-fix_segfault_on_polyhedra-179a508cb136b860d6ef36410811f07a14658492.patch b/srcpkgs/sagemath/patches/trac-33073-fix_segfault_on_polyhedra-177903138d0403be7c7cb303de2bc0a0e0b6793c.patch
similarity index 56%
rename from srcpkgs/sagemath/patches/trac-33073-fix_segfault_on_polyhedra-179a508cb136b860d6ef36410811f07a14658492.patch
rename to srcpkgs/sagemath/patches/trac-33073-fix_segfault_on_polyhedra-177903138d0403be7c7cb303de2bc0a0e0b6793c.patch
index 75198ce9c3bc..6bc5193b75ee 100644
--- a/srcpkgs/sagemath/patches/trac-33073-fix_segfault_on_polyhedra-179a508cb136b860d6ef36410811f07a14658492.patch
+++ b/srcpkgs/sagemath/patches/trac-33073-fix_segfault_on_polyhedra-177903138d0403be7c7cb303de2bc0a0e0b6793c.patch
@@ -49,3 +49,34 @@ index 88ac659..c21f5e2 100644
 -- 
 cgit v1.0-1-gd88e
 
+
+From 177903138d0403be7c7cb303de2bc0a0e0b6793c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Sun, 26 Dec 2021 23:26:12 -0300
+Subject: fix a test on 32-bit machines
+
+---
+ .../geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pyx   | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pyx b/src/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pyx
+index 69a659c..0478b6c 100644
+--- a/src/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pyx
++++ b/src/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pyx
+@@ -156,10 +156,11 @@ cdef class ListOfFaces:
+             sage: from memory_allocator.test import TestMemoryAllocator
+             sage: t = TestMemoryAllocator()
+             sage: m = t.size_t_max()
++            # The following is only certain to fail on 64-bit
+             sage: ListOfFaces(1, m, 1)
+-            Traceback (most recent call last):
++            Traceback (most recent call last):          # 64-bit
+             ...
+-            MemoryError: failed to allocate ...
++            MemoryError: failed to allocate ...         # 64-bit
+         """
+         face_list_free(self.data)
+ 
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index ba6333483d76..c5009269c7fc 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -129,15 +129,23 @@ pre_configure() {
 # }
 
 do_install() {
-	vcopy $_SAGE_ROOT usr/lib/
-	# cleanup: upstream packages and build artifacts
-	rm -rf ${DESTDIR}/$_SAGE_ROOT/upstream
-	#rm -rf ${DESTDIR}/$_SAGE_ROOT/pkgs/*/build
-	# more cleanup
-	for d in .ci .circleci .git .github autom4te.cache config docker m4
-	do
-		rm -rf ${DESTDIR}/$_SAGE_ROOT/$d
+	vlicense COPYING.txt
+	vdoc README.md
+	vmkdir $_SAGE_ROOT
+	vcopy "VERSION.txt prefix sage venv" $_SAGE_ROOT
+	vmkdir $_SAGE_ROOT/local
+	for f in bin include lib share; do
+		vcopy local/$f $_SAGE_ROOT/local
 	done
+	vmkdir $_SAGE_ROOT/$(readlink venv)
+	for f in pyvenv.cfg bin etc lib share; do
+		vcopy venv/$f $_SAGE_ROOT/venv/
+	done
+	vcopy "src" $_SAGE_ROOT # only src/sage ?
+
+	# not needed ?
+	# Maybe pkgs/sagemath-standard/build/cythonized for debug
+	#vcopy "build pkgs" $_SAGE_ROOT
 
 	# symlink main binary
 	vmkdir usr/bin

From 5fad7c34b3d667ab07c69e97e66d7993918b12b4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 27 Dec 2021 20:19:19 -0300
Subject: [PATCH 20/39] sagemath: fix license and tests

Now tests can be run with -Q (normal) or -K (--long)
---
 srcpkgs/sagemath/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index c5009269c7fc..33b40acbabeb 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -16,7 +16,7 @@ depends="giac git FlintQS zn_poly sympow
  "
 short_desc="Open source mathematics software"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
-license="GPL-3.0-or-later"
+license="GPL-3.0-only, GPL-2.0-or-later, CC-BY-SA-3.0, custom:Various free"
 homepage="http://sagemath.org/"
 distfiles="https://mirrors.mit.edu/sage/src/sage-$version.tar.gz"
 checksum=32ca429c0bdbb90c9999bca4ba858d1def280425d42048c4230dae005de2a0d1
@@ -155,15 +155,17 @@ do_install() {
 }
 
 do_check() {
-	TEST=--all
 	if [ -f ${XBPS_DISTDIR}/sagemath-check ] ; then
-		TEST="$(sed -e 's/#.*//' ${XBPS_DISTDIR}/sagemath-check)"
+		_test_args=$(sed -e 's/#.*//;/^\s*$/d' ${XBPS_DISTDIR}/sagemath-check)
+	fi
+	if [ -z "$_test_args" ]; then
+		_test_args=--all
+	fi
+	if [ "$XBPS_CHECK_PKGS" = full ]; then
+		_test_args="--long $_test_args"
 	fi
-	# the default is "sage,dochtml,optional,build", we skip dochtml
-	OPT="--optional sage,optional,build"
 	# since make check will build the docs, run test like this instead
-	./sage -tp ${XBPS_MAKEJOBS} ${OPT} ${TEST}
-	#./sage -t ${OPT} ${TEST}
+	./sage -tp ${XBPS_MAKEJOBS} ${_test_args}
 }
 
 ### copied from sage-deps, to be kept in sync

From 6a031adcdb36b2a979125034396ddd4116c87b41 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 28 Dec 2021 23:08:17 -0300
Subject: [PATCH 21/39] sagemath: fix long time test

---
 .../patches/zzz-fix_long_time_test--see_33091.patch | 13 +++++++++++++
 ...=> zzz-skip_doctest_giac-1.7.0--see_31563.patch} |  0
 2 files changed, 13 insertions(+)
 create mode 100644 srcpkgs/sagemath/patches/zzz-fix_long_time_test--see_33091.patch
 rename srcpkgs/sagemath/patches/{skip-doctest-giac-1.7.0--see-trac-31563.patch => zzz-skip_doctest_giac-1.7.0--see_31563.patch} (100%)

diff --git a/srcpkgs/sagemath/patches/zzz-fix_long_time_test--see_33091.patch b/srcpkgs/sagemath/patches/zzz-fix_long_time_test--see_33091.patch
new file mode 100644
index 000000000000..ca360dee9f6e
--- /dev/null
+++ b/srcpkgs/sagemath/patches/zzz-fix_long_time_test--see_33091.patch
@@ -0,0 +1,13 @@
+diff --git a/src/sage/matrix/matrix2.pyx b/src/sage/matrix/matrix2.pyx
+index 7d319bd54b..c1a2eed6f1 100644
+--- a/src/sage/matrix/matrix2.pyx
++++ b/src/sage/matrix/matrix2.pyx
+@@ -17215,7 +17215,7 @@ cdef class Matrix(Matrix1):
+ 
+             sage: set_random_seed()
+             sage: K = random_cone(max_ambient_dim=5)
+-            sage: all(L.change_ring(SR).is_Z_operator_on(K)
++            sage: all(L.change_ring(SR).is_Z_operator_on(K) # long time
+             ....:     for L in K.Z_operators_gens())  # long time
+             True
+ 
diff --git a/srcpkgs/sagemath/patches/skip-doctest-giac-1.7.0--see-trac-31563.patch b/srcpkgs/sagemath/patches/zzz-skip_doctest_giac-1.7.0--see_31563.patch
similarity index 100%
rename from srcpkgs/sagemath/patches/skip-doctest-giac-1.7.0--see-trac-31563.patch
rename to srcpkgs/sagemath/patches/zzz-skip_doctest_giac-1.7.0--see_31563.patch

From 28937bb9ae472550543d16fea481f0f82fa4c79f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 31 Dec 2021 13:52:34 -0300
Subject: [PATCH 22/39] python3-Sphinx: update to 4.3.2.

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

diff --git a/srcpkgs/python3-Sphinx/template b/srcpkgs/python3-Sphinx/template
index 8b0493c1f92c..29f892d16157 100644
--- a/srcpkgs/python3-Sphinx/template
+++ b/srcpkgs/python3-Sphinx/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-Sphinx'
 pkgname=python3-Sphinx
-version=4.2.0
+version=4.3.2
 revision=1
 wrksrc=Sphinx-${version}
 build_style=python3-module
@@ -17,8 +17,9 @@ short_desc="Python 3 documentation generator"
 maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
 license="BSD-3-Clause"
 homepage="http://sphinx-doc.org"
+changelog="https://www.sphinx-doc.org/en/master/changes.html"
 distfiles="${PYPI_SITE}/S/Sphinx/Sphinx-${version}.tar.gz"
-checksum=94078db9184491e15bce0a56d9186e0aec95f16ac20b12d00e06d4e36f1058a6
+checksum=0a8836751a68306b3fe97ecbe44db786f8479c3bf4b80e3a7f5c838657b4698c
 conflicts="python-Sphinx>=0"
 
 post_install() {

From 15359adb812748d2934d3d0fc0280b0809e5c198 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 28 Dec 2021 23:08:17 -0300
Subject: [PATCH 23/39] sagemath: use system python site-packages

 - patch from #29665 for that
 - patch on top of that to allow a few more python packages:
   gmpy2, sphinx, typing_extensions, ptyprocess
 - add all available python packages to makedepends and depends
 - add ffmpeg and ImageMagick to makedepends
 - in standard check (-Q) warn if individual test > 5.0s
---
 ...184f7498a2046065e669723e68efe2d65cee.patch | 5629 +++++++++++++++++
 .../zzz-dont_run_pytest--see_31924.patch      |   27 +
 .../zzz-more_site_packages_not_in_29665.patch |   42 +
 srcpkgs/sagemath/template                     |   52 +-
 4 files changed, 5747 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/sagemath/patches/trac-29665-enable_system_site_packages-135f184f7498a2046065e669723e68efe2d65cee.patch
 create mode 100644 srcpkgs/sagemath/patches/zzz-dont_run_pytest--see_31924.patch
 create mode 100644 srcpkgs/sagemath/patches/zzz-more_site_packages_not_in_29665.patch

diff --git a/srcpkgs/sagemath/patches/trac-29665-enable_system_site_packages-135f184f7498a2046065e669723e68efe2d65cee.patch b/srcpkgs/sagemath/patches/trac-29665-enable_system_site_packages-135f184f7498a2046065e669723e68efe2d65cee.patch
new file mode 100644
index 000000000000..b641113927e7
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-29665-enable_system_site_packages-135f184f7498a2046065e669723e68efe2d65cee.patch
@@ -0,0 +1,5629 @@
+From 05fcaabe95082f42ba134780d579390d7b6153e2 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sat, 9 Oct 2021 19:30:58 -0400
+Subject: Trac #29665: add --enable-system-site-packages option to ./configure.
+
+This new option is experimental and disabled by default. When it is
+enabled, the string "--system-site-packages" is appended to a new
+environment variable SAGE_VENV_FLAGS that is then passed to the
+sage-venv command during the build using autoconf substitution.
+Thusly the correct setting finds its way into local/pyvenv.cfg.
+---
+ build/make/Makefile.in |  2 +-
+ configure.ac           | 11 +++++++++++
+ 2 files changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/build/make/Makefile.in b/build/make/Makefile.in
+index f870cc3..68627ab 100644
+--- a/build/make/Makefile.in
++++ b/build/make/Makefile.in
+@@ -211,7 +211,7 @@ endif
+ inst_python3_venv = $(SAGE_VENV)/pyvenv.cfg
+ 
+ $(inst_python3_venv):
+-	$(PYTHON_FOR_VENV) $(SAGE_ROOT)/build/bin/sage-venv "$(SAGE_VENV)"
++	$(PYTHON_FOR_VENV) $(SAGE_ROOT)/build/bin/sage-venv @SAGE_VENV_FLAGS@ "$(SAGE_VENV)"
+ endif
+ 
+ # Build everything and start Sage.
+diff --git a/configure.ac b/configure.ac
+index 351f487..db30a91 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -435,6 +435,17 @@ AC_ARG_ENABLE([download-from-upstream-url],
+   [AS_HELP_STRING([--enable-download-from-upstream-url],
+     [allow downloading packages from their upstream URL if they cannot be found on the Sage mirrors])])
+ 
++AC_ARG_ENABLE(
++  [system-site-packages], [AS_HELP_STRING(
++    [--enable-system-site-packages],
++    [allow sage to use python packages from the system (experimental; default: no)]
++  )], [
++  AS_IF([test "x$enable_system_site_packages" = "xyes"], [
++    SAGE_VENV_FLAGS="${SAGE_VENV_FLAGS} --system-site-packages"
++  ])
++])
++AC_SUBST([SAGE_VENV_FLAGS])
++
+ SAGE_SPKG_OPTIONS=""
+ AS_IF([test "x$enable_experimental_packages" = "xyes"], [
+   AS_VAR_APPEND([SAGE_SPKG_OPTIONS], [" -y"])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 9372d1f663edf4e89f9c186336815ca04cff59dc Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 11 Oct 2021 19:41:14 -0400
+Subject: Trac #29665: new SAGE_PYTHON_PACKAGE_CHECK() autoconf macro.
+
+This new macro encapsulates the check for system installations of
+python packages. It uses setuptools.version's pkg_resources to
+check if the contents of install-requires.txt are satisfied for
+the given package; and if not, tells the build system to install
+the SPKG instead.
+---
+ m4/sage_python_package_check.m4 | 49 +++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 49 insertions(+)
+ create mode 100644 m4/sage_python_package_check.m4
+
+diff --git a/m4/sage_python_package_check.m4 b/m4/sage_python_package_check.m4
+new file mode 100644
+index 00000000..77b0a0c
+--- /dev/null
++++ b/m4/sage_python_package_check.m4
+@@ -0,0 +1,49 @@
++#
++# SYNOPSIS
++#
++#   SAGE_PYTHON_PACKAGE_CHECK(package)
++#
++# DESCRIPTION
++#
++#   Determine if the system copy of a python package can be used by sage.
++#
++#   This macro uses setuptools.version's pkg_resources to check that the
++#   "install-requires.txt" file for the named package is satisfied, and
++#   it can typically fail in four ways:
++#
++#     1. If --enable-system-site-packages was not passed to ./configure,
++#
++#     2. If we are not using the system python (no $PYTHON_FOR_VENV),
++#
++#     3. If setuptools is not available to the system python,
++#
++#     4. If the contents of install-requires.txt are not met (wrong
++#        version, no version, etc.) by the system python.
++#
++#   In any of those cases, we set sage_spkg_install_$package to "yes"
++#   so that the corresponding SPKG is installed. Otherwise, we do
++#   nothing, since the default value of sage_spkg_install_$package
++#   is "no" (to use the system copy).
++#
++#   The SAGE_SPKG_CONFIGURE_PYTHON3() macro is AC_REQUIRE'd to ensure
++#   that $PYTHON_FOR_VENV is available, if it is going to be available.
++#
++
++AC_DEFUN([SAGE_PYTHON_PACKAGE_CHECK], [
++  AS_IF([test "${enable_system_site_packages}" = "yes"], [
++    AC_REQUIRE([SAGE_SPKG_CONFIGURE_PYTHON3])
++
++    dnl strip all comments from install-requires.txt; this should leave
++    dnl only a single line containing the version specification for this
++    dnl package.
++    SAGE_PKG_VERSPEC=$(sed '/^#/d' "./build/pkgs/$1/install-requires.txt")
++    AC_MSG_CHECKING([for python package $1 ("${SAGE_PKG_VERSPEC}")])
++    AS_IF(
++      ["${PYTHON_FOR_VENV}" -c "from setuptools.version import pkg_resources; pkg_resources.require('${SAGE_PKG_VERSPEC}'.splitlines())"],
++      [AC_MSG_RESULT(yes)],
++      [AC_MSG_RESULT(no); sage_spkg_install_$1=yes]
++    )
++  ], [
++    sage_spkg_install_$1=yes
++  ])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From a0dac8ad81ad6369d479bba30d2388de59e5cecb Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sat, 9 Oct 2021 20:21:29 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for py.
+
+---
+ build/pkgs/py/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/py/spkg-configure.m4
+
+diff --git a/build/pkgs/py/spkg-configure.m4 b/build/pkgs/py/spkg-configure.m4
+new file mode 100644
+index 00000000..ded7034
+--- /dev/null
++++ b/build/pkgs/py/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([py], [SAGE_PYTHON_PACKAGE_CHECK([py])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 87c463a25ab4432dc1fba4f7a9703284e5b8f620 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sat, 9 Oct 2021 20:24:15 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for wheel.
+
+---
+ build/pkgs/wheel/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/wheel/spkg-configure.m4
+
+diff --git a/build/pkgs/wheel/spkg-configure.m4 b/build/pkgs/wheel/spkg-configure.m4
+new file mode 100644
+index 00000000..7897ea9
+--- /dev/null
++++ b/build/pkgs/wheel/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([wheel], [SAGE_PYTHON_PACKAGE_CHECK([wheel])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 804094b3a980f262f4d53d7be8b1be43ac0c55e0 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sat, 9 Oct 2021 20:25:15 -0400
+Subject: Trac #29665: new spkg-configure.m4 for cvxopt.
+
+This includes a SAGE_SPKG_DEPCHECK([gsl glpk suitesparse],... because
+those C dependencies wind up linked into shared libraries like,
+
+  /usr/.../cvxopt/glpk.cpython-39-x86_64-linux-gnu.so
+
+that could potentially conflict with (for example) the glpk SPKG.
+---
+ build/pkgs/cvxopt/spkg-configure.m4 | 5 +++++
+ 1 file changed, 5 insertions(+)
+ create mode 100644 build/pkgs/cvxopt/spkg-configure.m4
+
+diff --git a/build/pkgs/cvxopt/spkg-configure.m4 b/build/pkgs/cvxopt/spkg-configure.m4
+new file mode 100644
+index 00000000..c4aa619
+--- /dev/null
++++ b/build/pkgs/cvxopt/spkg-configure.m4
+@@ -0,0 +1,5 @@
++SAGE_SPKG_CONFIGURE([cvxopt], [
++  SAGE_SPKG_DEPCHECK([gsl glpk suitesparse], [
++    SAGE_PYTHON_PACKAGE_CHECK([cvxopt])
++  ])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 3f171955ff8d15da2c98aee0d2e254e95a55a2b5 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sat, 9 Oct 2021 20:28:10 -0400
+Subject: Trac #29665: new spkg-configure.m4 for pyzmq.
+
+This includes a SAGE_SPKG_DEPCHECK([zeromq],... because libzmq winds
+up linked into shared libraries like,
+
+  /usr/.../zmq/backend/cython/message.cpython-39-x86_64-linux-gnu.so
+
+that potentially conflict with the zeromq SPKG.
+---
+ build/pkgs/pyzmq/spkg-configure.m4 | 5 +++++
+ 1 file changed, 5 insertions(+)
+ create mode 100644 build/pkgs/pyzmq/spkg-configure.m4
+
+diff --git a/build/pkgs/pyzmq/spkg-configure.m4 b/build/pkgs/pyzmq/spkg-configure.m4
+new file mode 100644
+index 00000000..ae2b126
+--- /dev/null
++++ b/build/pkgs/pyzmq/spkg-configure.m4
+@@ -0,0 +1,5 @@
++SAGE_SPKG_CONFIGURE([pyzmq], [
++  SAGE_SPKG_DEPCHECK([zeromq], [
++    SAGE_PYTHON_PACKAGE_CHECK([pyzmq])
++  ])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 20d3aa9da9fc98a6e6a47599cd1b6d1d3785a4c4 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sat, 9 Oct 2021 20:31:24 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for requests.
+
+---
+ build/pkgs/requests/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/requests/spkg-configure.m4
+
+diff --git a/build/pkgs/requests/spkg-configure.m4 b/build/pkgs/requests/spkg-configure.m4
+new file mode 100644
+index 00000000..f50a66c
+--- /dev/null
++++ b/build/pkgs/requests/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([requests], [SAGE_PYTHON_PACKAGE_CHECK([requests])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 4df57ee47f2576b6b7bf9265248e06e90616b689 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sun, 10 Oct 2021 18:13:34 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for six.
+
+---
+ build/pkgs/six/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/six/spkg-configure.m4
+
+diff --git a/build/pkgs/six/spkg-configure.m4 b/build/pkgs/six/spkg-configure.m4
+new file mode 100644
+index 00000000..a382b81
+--- /dev/null
++++ b/build/pkgs/six/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([six], [SAGE_PYTHON_PACKAGE_CHECK([six])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From f4462652d02ca729cc6d7cb36ee4d7d662deafb0 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sun, 10 Oct 2021 18:14:29 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for packaging.
+
+---
+ build/pkgs/packaging/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/packaging/spkg-configure.m4
+
+diff --git a/build/pkgs/packaging/spkg-configure.m4 b/build/pkgs/packaging/spkg-configure.m4
+new file mode 100644
+index 00000000..398f9e1
+--- /dev/null
++++ b/build/pkgs/packaging/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([packaging], [SAGE_PYTHON_PACKAGE_CHECK([packaging])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 4d64677fffce48077e4bc3e20ec833c70e6e9b65 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sun, 10 Oct 2021 18:18:53 -0400
+Subject: Trac #29665: new spkg-configure.m4 for numpy.
+
+This includes a SAGE_SPKG_DEPCHECK([openblas],... because blas/lapack
+wind up linked into shared libraries like,
+
+  /usr/.../numpy/linalg/lapack_lite.cpython-39-x86_64-linux-gnu.so
+
+that potentially conflict with the openblas SPKG.
+---
+ build/pkgs/numpy/spkg-configure.m4 | 5 +++++
+ 1 file changed, 5 insertions(+)
+ create mode 100644 build/pkgs/numpy/spkg-configure.m4
+
+diff --git a/build/pkgs/numpy/spkg-configure.m4 b/build/pkgs/numpy/spkg-configure.m4
+new file mode 100644
+index 00000000..16f9a90
+--- /dev/null
++++ b/build/pkgs/numpy/spkg-configure.m4
+@@ -0,0 +1,5 @@
++SAGE_SPKG_CONFIGURE([numpy], [
++  SAGE_SPKG_DEPCHECK([openblas], [
++   SAGE_PYTHON_PACKAGE_CHECK([numpy])
++  ])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 85dfe5bb32f3c470966b477bae68a921e846d11f Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sun, 10 Oct 2021 18:58:48 -0400
+Subject: Trac #29665: new spkg-configure.m4 for scipy.
+
+This includes a SAGE_SPKG_DEPCHECK([openblas],... because blas/lapack
+wind up linked into shared libraries like,
+
+  /usr/.../scipy/linalg/_flinalg.cpython-39-x86_64-linux-gnu.so
+
+that potentially conflict with the openblas SPKG.
+---
+ build/pkgs/scipy/spkg-configure.m4 | 5 +++++
+ 1 file changed, 5 insertions(+)
+ create mode 100644 build/pkgs/scipy/spkg-configure.m4
+
+diff --git a/build/pkgs/scipy/spkg-configure.m4 b/build/pkgs/scipy/spkg-configure.m4
+new file mode 100644
+index 00000000..0b7294a
+--- /dev/null
++++ b/build/pkgs/scipy/spkg-configure.m4
+@@ -0,0 +1,5 @@
++SAGE_SPKG_CONFIGURE([scipy], [
++  SAGE_SPKG_DEPCHECK([openblas], [
++    SAGE_PYTHON_PACKAGE_CHECK([scipy])
++  ])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 5616f1491036fda95f4d3e840c8c8b531c97323b Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 11 Oct 2021 07:19:24 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for pluggy.
+
+---
+ build/pkgs/pluggy/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/pluggy/spkg-configure.m4
+
+diff --git a/build/pkgs/pluggy/spkg-configure.m4 b/build/pkgs/pluggy/spkg-configure.m4
+new file mode 100644
+index 00000000..11b1fce
+--- /dev/null
++++ b/build/pkgs/pluggy/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([pluggy], [SAGE_PYTHON_PACKAGE_CHECK([pluggy])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 6bceae3d356878cfe5fce40c9998dead003a3844 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 11 Oct 2021 07:24:12 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for pickleshare.
+
+---
+ build/pkgs/pickleshare/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/pickleshare/spkg-configure.m4
+
+diff --git a/build/pkgs/pickleshare/spkg-configure.m4 b/build/pkgs/pickleshare/spkg-configure.m4
+new file mode 100644
+index 00000000..80e9b7c
+--- /dev/null
++++ b/build/pkgs/pickleshare/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([pickleshare], [SAGE_PYTHON_PACKAGE_CHECK([pickleshare])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From da2ab534f4a256c82ed4f1c5f0f5c320529b5e9f Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 11 Oct 2021 08:53:29 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for html5lib.
+
+---
+ build/pkgs/html5lib/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/html5lib/spkg-configure.m4
+
+diff --git a/build/pkgs/html5lib/spkg-configure.m4 b/build/pkgs/html5lib/spkg-configure.m4
+new file mode 100644
+index 00000000..f421b7e
+--- /dev/null
++++ b/build/pkgs/html5lib/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([html5lib], [SAGE_PYTHON_PACKAGE_CHECK([html5lib])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 5e464134afdf6055b7b5804208f759561c5435cd Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 11 Oct 2021 18:30:47 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for networkx.
+
+---
+ build/pkgs/networkx/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/networkx/spkg-configure.m4
+
+diff --git a/build/pkgs/networkx/spkg-configure.m4 b/build/pkgs/networkx/spkg-configure.m4
+new file mode 100644
+index 00000000..926671e
+--- /dev/null
++++ b/build/pkgs/networkx/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([networkx], [SAGE_PYTHON_PACKAGE_CHECK([networkx])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From c4d40770cd9c7fda811e31759a5f4aedc320f3f9 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 11 Oct 2021 20:33:24 -0400
+Subject: Trac #29665: new spkg-configure.m4 for matplotlib.
+
+This includes a SAGE_SPKG_DEPCHECK([bzip2 freetype libpng qhull],...
+because those dependencies wind up linked into shared libraries like,
+
+  /usr/lib/.../matplotlib/ft2font.cpython-39-x86_64-linux-gnu.so
+
+that potentially conflict with their SPKG counterparts.
+---
+ build/pkgs/matplotlib/spkg-configure.m4 | 5 +++++
+ 1 file changed, 5 insertions(+)
+ create mode 100644 build/pkgs/matplotlib/spkg-configure.m4
+
+diff --git a/build/pkgs/matplotlib/spkg-configure.m4 b/build/pkgs/matplotlib/spkg-configure.m4
+new file mode 100644
+index 00000000..39c2d29
+--- /dev/null
++++ b/build/pkgs/matplotlib/spkg-configure.m4
+@@ -0,0 +1,5 @@
++SAGE_SPKG_CONFIGURE([matplotlib], [
++  SAGE_SPKG_DEPCHECK([bzip2 freetype libpng qhull], [
++    SAGE_PYTHON_PACKAGE_CHECK([matplotlib])
++  ])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 7834dc3ac349201af632f89a9de7cd1967931010 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 11 Oct 2021 20:35:00 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for bleach.
+
+---
+ build/pkgs/bleach/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/bleach/spkg-configure.m4
+
+diff --git a/build/pkgs/bleach/spkg-configure.m4 b/build/pkgs/bleach/spkg-configure.m4
+new file mode 100644
+index 00000000..3c9bb26
+--- /dev/null
++++ b/build/pkgs/bleach/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([bleach], [SAGE_PYTHON_PACKAGE_CHECK([bleach])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 84cad343287a2c69a4a21b9fa3b92301ff88645b Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 11 Oct 2021 20:37:03 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for decorator.
+
+---
+ build/pkgs/decorator/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/decorator/spkg-configure.m4
+
+diff --git a/build/pkgs/decorator/spkg-configure.m4 b/build/pkgs/decorator/spkg-configure.m4
+new file mode 100644
+index 00000000..e062778
+--- /dev/null
++++ b/build/pkgs/decorator/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([decorator], [SAGE_PYTHON_PACKAGE_CHECK([decorator])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 25693212572e69d452bc95c923ada13744359eb7 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 11 Oct 2021 20:38:03 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for idna.
+
+---
+ build/pkgs/idna/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/idna/spkg-configure.m4
+
+diff --git a/build/pkgs/idna/spkg-configure.m4 b/build/pkgs/idna/spkg-configure.m4
+new file mode 100644
+index 00000000..9d363f2
+--- /dev/null
++++ b/build/pkgs/idna/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([idna], [SAGE_PYTHON_PACKAGE_CHECK([idna])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 6d5616472f6cdc6cf496bba6fe07bd4ef44dfdaf Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 11 Oct 2021 20:39:23 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for certifi.
+
+---
+ build/pkgs/certifi/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/certifi/spkg-configure.m4
+
+diff --git a/build/pkgs/certifi/spkg-configure.m4 b/build/pkgs/certifi/spkg-configure.m4
+new file mode 100644
+index 00000000..ddd4061
+--- /dev/null
++++ b/build/pkgs/certifi/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([certifi], [SAGE_PYTHON_PACKAGE_CHECK([certifi])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 9412a07023b275e29e8d1af9b8ee3e767042e7fd Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 11 Oct 2021 20:40:59 -0400
+Subject: Trac #29665: new spkg-configure.m4 for pillow.
+
+This includes an SAGE_SPKG_DEPCHECK([bzip2 freetype libpng zlib],...
+because those dependencies wind up linked into shared libraries like,
+
+  /usr/.../PIL/_imagingft.cpython-39-x86_64-linux-gnu.so
+
+and potentially conflict with their SPKG counterparts.
+---
+ build/pkgs/pillow/spkg-configure.m4 | 5 +++++
+ 1 file changed, 5 insertions(+)
+ create mode 100644 build/pkgs/pillow/spkg-configure.m4
+
+diff --git a/build/pkgs/pillow/spkg-configure.m4 b/build/pkgs/pillow/spkg-configure.m4
+new file mode 100644
+index 00000000..f2e68e2
+--- /dev/null
++++ b/build/pkgs/pillow/spkg-configure.m4
+@@ -0,0 +1,5 @@
++SAGE_SPKG_CONFIGURE([pillow], [
++  SAGE_SPKG_DEPCHECK([bzip2 freetype libpng zlib], [
++    SAGE_PYTHON_PACKAGE_CHECK([pillow])
++  ])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From eede914311481fdb75b363b7a799075e876a2b4f Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 11 Oct 2021 20:44:13 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for mpmath.
+
+---
+ build/pkgs/mpmath/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/mpmath/spkg-configure.m4
+
+diff --git a/build/pkgs/mpmath/spkg-configure.m4 b/build/pkgs/mpmath/spkg-configure.m4
+new file mode 100644
+index 00000000..f43c838
+--- /dev/null
++++ b/build/pkgs/mpmath/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([mpmath], [SAGE_PYTHON_PACKAGE_CHECK([mpmath])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 363a825885832c0b580ff53fe61f5c79e70c4728 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 11 Oct 2021 20:44:56 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for sympy.
+
+---
+ build/pkgs/sympy/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/sympy/spkg-configure.m4
+
+diff --git a/build/pkgs/sympy/spkg-configure.m4 b/build/pkgs/sympy/spkg-configure.m4
+new file mode 100644
+index 00000000..fa0f1f5
+--- /dev/null
++++ b/build/pkgs/sympy/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([sympy], [SAGE_PYTHON_PACKAGE_CHECK([sympy])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 0667964c914e4a01dda697190a054ff96cea92d6 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 11 Oct 2021 20:47:06 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for pygments.
+
+---
+ build/pkgs/pygments/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/pygments/spkg-configure.m4
+
+diff --git a/build/pkgs/pygments/spkg-configure.m4 b/build/pkgs/pygments/spkg-configure.m4
+new file mode 100644
+index 00000000..99f29e3
+--- /dev/null
++++ b/build/pkgs/pygments/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([pygments], [SAGE_PYTHON_PACKAGE_CHECK([pygments])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From f787c233aa05d8e90f7c6ad18f76bd2fa36bfbfb Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 11 Oct 2021 20:48:50 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for jinja2.
+
+---
+ build/pkgs/jinja2/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/jinja2/spkg-configure.m4
+
+diff --git a/build/pkgs/jinja2/spkg-configure.m4 b/build/pkgs/jinja2/spkg-configure.m4
+new file mode 100644
+index 00000000..0970d1c
+--- /dev/null
++++ b/build/pkgs/jinja2/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([jinja2], [SAGE_PYTHON_PACKAGE_CHECK([jinja2])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 309d8f8e2b7078b5efbbe824b69ec1d9b1e639f0 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Tue, 12 Oct 2021 08:43:24 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for pandocfilters.
+
+---
+ build/pkgs/pandocfilters/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/pandocfilters/spkg-configure.m4
+
+diff --git a/build/pkgs/pandocfilters/spkg-configure.m4 b/build/pkgs/pandocfilters/spkg-configure.m4
+new file mode 100644
+index 00000000..3e9537f
+--- /dev/null
++++ b/build/pkgs/pandocfilters/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([pandocfilters], [
++  SAGE_PYTHON_PACKAGE_CHECK([pandocfilters])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From f57bfda49777a6ba1cd123553acd75dc347c5521 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Tue, 12 Oct 2021 08:44:46 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for webencodings.
+
+---
+ build/pkgs/webencodings/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/webencodings/spkg-configure.m4
+
+diff --git a/build/pkgs/webencodings/spkg-configure.m4 b/build/pkgs/webencodings/spkg-configure.m4
+new file mode 100644
+index 00000000..1b9a5c4
+--- /dev/null
++++ b/build/pkgs/webencodings/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([webencodings], [
++  SAGE_PYTHON_PACKAGE_CHECK([webencodings])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 7f193a62d7a2ea0b6a3ca6beb12390d91c25bbfb Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Tue, 12 Oct 2021 08:48:26 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for pytz.
+
+---
+ build/pkgs/pytz/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/pytz/spkg-configure.m4
+
+diff --git a/build/pkgs/pytz/spkg-configure.m4 b/build/pkgs/pytz/spkg-configure.m4
+new file mode 100644
+index 00000000..366521b
+--- /dev/null
++++ b/build/pkgs/pytz/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([pytz], [SAGE_PYTHON_PACKAGE_CHECK([pytz])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From bfd3fdd887c3465c03465248de4997eed4a82915 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Tue, 12 Oct 2021 08:51:16 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for texttable.
+
+---
+ build/pkgs/texttable/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/texttable/spkg-configure.m4
+
+diff --git a/build/pkgs/texttable/spkg-configure.m4 b/build/pkgs/texttable/spkg-configure.m4
+new file mode 100644
+index 00000000..42a3de1
+--- /dev/null
++++ b/build/pkgs/texttable/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([texttable], [SAGE_PYTHON_PACKAGE_CHECK([texttable])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 914bf0cc57abc46129b27c1525782dbe16da31a2 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Tue, 12 Oct 2021 08:53:41 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for babel.
+
+---
+ build/pkgs/babel/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/babel/spkg-configure.m4
+
+diff --git a/build/pkgs/babel/spkg-configure.m4 b/build/pkgs/babel/spkg-configure.m4
+new file mode 100644
+index 00000000..d7b9a71
+--- /dev/null
++++ b/build/pkgs/babel/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([babel], [SAGE_PYTHON_PACKAGE_CHECK([babel])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 56977abd1eafbc87c765a2892cfe525382648259 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 14 Oct 2021 08:06:59 -0400
+Subject: Trac #29665: force system python3 with --enable-system-site-packages.
+
+When the python SPKG is used, the --enable-system-site-packages flag
+will essentially do nothing, and that may confuse users who have
+wasted a few hours building sage. (Generally, they will want to fix
+detection of their system python3 first.)
+
+To forestall that, we now set "--with-system-python3=force" whenever
+the "--enable-system-site-packages" flag is passed.
+---
+ configure.ac | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index db30a91..6fafb83 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -438,10 +438,19 @@ AC_ARG_ENABLE([download-from-upstream-url],
+ AC_ARG_ENABLE(
+   [system-site-packages], [AS_HELP_STRING(
+     [--enable-system-site-packages],
+-    [allow sage to use python packages from the system (experimental; default: no)]
++    [allow the use of python packages from the system (experimental; default: no)]
+   )], [
+   AS_IF([test "x$enable_system_site_packages" = "xyes"], [
+     SAGE_VENV_FLAGS="${SAGE_VENV_FLAGS} --system-site-packages"
++
++    dnl We want to raise an error if the user asked for "system site
++    dnl packages" but the system python will not be used. Technically
++    dnl that causes no problems (SAGE_PYTHON_PACKAGE_CHECK always fails,
++    dnl so SPKGs are used for all python packages), but it may be confusing
++    dnl to end users who expect the flag to actually give them access to
++    dnl their system python packages and who may not be paying close
++    dnl attention to their ./configure output.
++    with_system_python3="force"
+   ])
+ ])
+ AC_SUBST([SAGE_VENV_FLAGS])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 02b369fd24ef7cf8997082e7850b9cf022cae34b Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 15 Oct 2021 01:18:35 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for setuptools.
+
+---
+ build/pkgs/setuptools/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/setuptools/spkg-configure.m4
+
+diff --git a/build/pkgs/setuptools/spkg-configure.m4 b/build/pkgs/setuptools/spkg-configure.m4
+new file mode 100644
+index 00000000..a2ad811
+--- /dev/null
++++ b/build/pkgs/setuptools/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([setuptools], [SAGE_PYTHON_PACKAGE_CHECK([setuptools])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 05117317d38693978efaf36e81d8b02bae44b257 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 15 Oct 2021 01:15:48 -0400
+Subject: Trac #29665: poison PYTHONUSERBASE when testing for "system"
+ packages.
+
+When we're detecting system installations of python packages, we want
+to hide anything that was installed with e.g. "pip install --user". To
+accomplish that, we mimic the PYTHONUSERBASE poisoning from sage-env
+within the SAGE_PYTHON_PACKAGE_CHECK() macro.
+---
+ m4/sage_python_package_check.m4 | 18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+diff --git a/m4/sage_python_package_check.m4 b/m4/sage_python_package_check.m4
+index 77b0a0c..b8cdba4 100644
+--- a/m4/sage_python_package_check.m4
++++ b/m4/sage_python_package_check.m4
+@@ -38,11 +38,27 @@ AC_DEFUN([SAGE_PYTHON_PACKAGE_CHECK], [
+     dnl package.
+     SAGE_PKG_VERSPEC=$(sed '/^#/d' "./build/pkgs/$1/install-requires.txt")
+     AC_MSG_CHECKING([for python package $1 ("${SAGE_PKG_VERSPEC}")])
++
++    dnl To prevent user-site (pip install --user) packages from being
++    dnl detected as "system" packages, we poison PYTHONUSERBASE. The
++    dnl sage-env script also does this at runtime; we mimic that
++    dnl implementation to ensure that the behaviors at ./configure and
++    dnl runtime are identical. Beware that (as in sage-env) the poisoning
++    dnl is skipped if PYTHONUSERBASE is non-empty. In particular, if the
++    dnl user points PYTHONUSERBASE to any path (even the default), then
++    dnl his local pip packages will be detected.
++    PYTHONUSERBASE_SAVED="${PYTHONUSERBASE}"
++    AS_IF([test -z "${PYTHONUSERBASE}"], [
++      PYTHONUSERBASE="${HOME}/.sage/local"
++    ])
++
+     AS_IF(
+-      ["${PYTHON_FOR_VENV}" -c "from setuptools.version import pkg_resources; pkg_resources.require('${SAGE_PKG_VERSPEC}'.splitlines())"],
++      [PYTHONUSERBASE="${PYTHONUSERBASE}" "${PYTHON_FOR_VENV}" -c "from setuptools.version import pkg_resources; pkg_resources.require('${SAGE_PKG_VERSPEC}'.splitlines())" 2>/dev/null],
+       [AC_MSG_RESULT(yes)],
+       [AC_MSG_RESULT(no); sage_spkg_install_$1=yes]
+     )
++
++    PYTHONUSERBASE="${PYTHONUSERBASE_SAVED}"
+   ], [
+     sage_spkg_install_$1=yes
+   ])
+-- 
+cgit v1.0-1-gd88e
+
+
+From d75c1492f63a584b5ec5f424ddd7f7c4a6d502d3 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 15 Oct 2021 11:20:04 -0400
+Subject: Trac #29665: run SAGE_PYTHON_PACKAGE_CHECK() inside a venv.
+
+To recreate the runtime environment as closely as possible, we now use
+a venv (with system site packages enabled) when checking for system
+copies of python packages.
+---
+ m4/sage_python_package_check.m4 | 76 +++++++++++++++++++++++++++--------------
+ 1 file changed, 51 insertions(+), 25 deletions(-)
+
+diff --git a/m4/sage_python_package_check.m4 b/m4/sage_python_package_check.m4
+index b8cdba4..7cbd6c0 100644
+--- a/m4/sage_python_package_check.m4
++++ b/m4/sage_python_package_check.m4
+@@ -15,9 +15,11 @@
+ #
+ #     2. If we are not using the system python (no $PYTHON_FOR_VENV),
+ #
+-#     3. If setuptools is not available to the system python,
++#     3. If we are unable to create a venv with the system python,
+ #
+-#     4. If the contents of install-requires.txt are not met (wrong
++#     4. If setuptools is not available to the system python,
++#
++#     5. If the contents of install-requires.txt are not met (wrong
+ #        version, no version, etc.) by the system python.
+ #
+ #   In any of those cases, we set sage_spkg_install_$package to "yes"
+@@ -27,38 +29,62 @@
+ #
+ #   The SAGE_SPKG_CONFIGURE_PYTHON3() macro is AC_REQUIRE'd to ensure
+ #   that $PYTHON_FOR_VENV is available, if it is going to be available.
++#   The check is run inside a new venv, and with the PYTHONUSERBASE
++#   variable poisoned in the same manner as sage-env poisons it, to
++#   ensure that the ./configure- and run-time views of the system
++#   are as similar as possible.
+ #
+ 
+ AC_DEFUN([SAGE_PYTHON_PACKAGE_CHECK], [
+   AS_IF([test "${enable_system_site_packages}" = "yes"], [
+     AC_REQUIRE([SAGE_SPKG_CONFIGURE_PYTHON3])
+ 
+-    dnl strip all comments from install-requires.txt; this should leave
+-    dnl only a single line containing the version specification for this
+-    dnl package.
+-    SAGE_PKG_VERSPEC=$(sed '/^#/d' "./build/pkgs/$1/install-requires.txt")
+-    AC_MSG_CHECKING([for python package $1 ("${SAGE_PKG_VERSPEC}")])
++    dnl We run this check inside a python venv, because that's ultimately
++    dnl how the system $PYTHON_FOR_VENV will be used.
++    AC_MSG_CHECKING([if we can create a python venv in config.venv])
+ 
+-    dnl To prevent user-site (pip install --user) packages from being
+-    dnl detected as "system" packages, we poison PYTHONUSERBASE. The
+-    dnl sage-env script also does this at runtime; we mimic that
+-    dnl implementation to ensure that the behaviors at ./configure and
+-    dnl runtime are identical. Beware that (as in sage-env) the poisoning
+-    dnl is skipped if PYTHONUSERBASE is non-empty. In particular, if the
+-    dnl user points PYTHONUSERBASE to any path (even the default), then
+-    dnl his local pip packages will be detected.
+-    PYTHONUSERBASE_SAVED="${PYTHONUSERBASE}"
+-    AS_IF([test -z "${PYTHONUSERBASE}"], [
+-      PYTHONUSERBASE="${HOME}/.sage/local"
+-    ])
++    dnl Use --clear because ./configure typically clobbers its output files.
++    AS_IF(["${PYTHON_FOR_VENV}" -m venv --system-site-packages dnl
++                                        --clear                dnl
++                                        --without-pip          dnl
++					config.venv], [
++      AC_MSG_RESULT(yes)
++      dnl strip all comments from install-requires.txt; this should leave
++      dnl only a single line containing the version specification for this
++      dnl package.
++      SAGE_PKG_VERSPEC=$(sed '/^#/d' "./build/pkgs/$1/install-requires.txt")
++      AC_MSG_CHECKING([for python package $1 ("${SAGE_PKG_VERSPEC}")])
++
++      dnl To prevent user-site (pip install --user) packages from being
++      dnl detected as "system" packages, we poison PYTHONUSERBASE. The
++      dnl sage-env script also does this at runtime; we mimic that
++      dnl implementation to ensure that the behaviors at ./configure and
++      dnl runtime are identical. Beware that (as in sage-env) the poisoning
++      dnl is skipped if PYTHONUSERBASE is non-empty. In particular, if the
++      dnl user points PYTHONUSERBASE to any path (even the default), then
++      dnl his local pip packages will be detected.
++      PYTHONUSERBASE_SAVED="${PYTHONUSERBASE}"
++      AS_IF([test -z "${PYTHONUSERBASE}"], [
++        PYTHONUSERBASE="${HOME}/.sage/local"
++      ])
+ 
+-    AS_IF(
+-      [PYTHONUSERBASE="${PYTHONUSERBASE}" "${PYTHON_FOR_VENV}" -c "from setuptools.version import pkg_resources; pkg_resources.require('${SAGE_PKG_VERSPEC}'.splitlines())" 2>/dev/null],
+-      [AC_MSG_RESULT(yes)],
+-      [AC_MSG_RESULT(no); sage_spkg_install_$1=yes]
+-    )
++      AS_IF(
++        [PYTHONUSERBASE="${PYTHONUSERBASE}" config.venv/bin/python3 -c dnl
++           "from setuptools.version import pkg_resources;              dnl
++            pkg_resources.require('${SAGE_PKG_VERSPEC}'.splitlines())" dnl
++	 2>/dev/null],
++        [AC_MSG_RESULT(yes)],
++        [AC_MSG_RESULT(no); sage_spkg_install_$1=yes]
++      )
++
++      PYTHONUSERBASE="${PYTHONUSERBASE_SAVED}"
++    ], [
++      dnl failed to create a venv for some reason
++      AC_MSG_RESULT(no)
++      sage_spkg_install_$1=yes
++    ])
+ 
+-    PYTHONUSERBASE="${PYTHONUSERBASE_SAVED}"
++    rm -rf config.venv
+   ], [
+     sage_spkg_install_$1=yes
+   ])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 87646c3264a04ffd98a12d67074f93e1943a1e96 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 15 Oct 2021 11:38:08 -0400
+Subject: Trac #29665: log SAGE_PYTHON_PACKAGE_CHECK() failures to config.log.
+
+---
+ m4/sage_python_package_check.m4 | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/m4/sage_python_package_check.m4 b/m4/sage_python_package_check.m4
+index 7cbd6c0..e0e0b9f 100644
+--- a/m4/sage_python_package_check.m4
++++ b/m4/sage_python_package_check.m4
+@@ -47,7 +47,8 @@ AC_DEFUN([SAGE_PYTHON_PACKAGE_CHECK], [
+     AS_IF(["${PYTHON_FOR_VENV}" -m venv --system-site-packages dnl
+                                         --clear                dnl
+                                         --without-pip          dnl
+-					config.venv], [
++                                        config.venv            dnl
++                                        2>&AS_MESSAGE_LOG_FD], [
+       AC_MSG_RESULT(yes)
+       dnl strip all comments from install-requires.txt; this should leave
+       dnl only a single line containing the version specification for this
+@@ -72,7 +73,7 @@ AC_DEFUN([SAGE_PYTHON_PACKAGE_CHECK], [
+         [PYTHONUSERBASE="${PYTHONUSERBASE}" config.venv/bin/python3 -c dnl
+            "from setuptools.version import pkg_resources;              dnl
+             pkg_resources.require('${SAGE_PKG_VERSPEC}'.splitlines())" dnl
+-	 2>/dev/null],
++	 2>&AS_MESSAGE_LOG_FD],
+         [AC_MSG_RESULT(yes)],
+         [AC_MSG_RESULT(no); sage_spkg_install_$1=yes]
+       )
+-- 
+cgit v1.0-1-gd88e
+
+
+From f7dfffd1c64816e2ae4e0f420b22065c5c5bf2cb Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 15 Oct 2021 11:45:37 -0400
+Subject: Trac #29665: don't clobber a plain file named config.venv.
+
+When SAGE_PYTHON_PACKAGE_CHECK() is cleaning up, we no longer remove
+"config.venv" unconditionally. Instead, we remove it only if it is a
+directory. This is also how "pyvenv --clear" works.
+---
+ m4/sage_python_package_check.m4 | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/m4/sage_python_package_check.m4 b/m4/sage_python_package_check.m4
+index e0e0b9f..127a078 100644
+--- a/m4/sage_python_package_check.m4
++++ b/m4/sage_python_package_check.m4
+@@ -85,7 +85,9 @@ AC_DEFUN([SAGE_PYTHON_PACKAGE_CHECK], [
+       sage_spkg_install_$1=yes
+     ])
+ 
+-    rm -rf config.venv
++    dnl Clean up config.venv, but only if we could have created it.
++    dnl (The --clear flag to pyvenv will not clobber a plain file.)
++    AS_IF([test -d config.venv], [rm -rf config.venv])
+   ], [
+     sage_spkg_install_$1=yes
+   ])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 9849c77313b895dcfb786d2ea54e36585bd31ce2 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sat, 16 Oct 2021 08:14:42 -0400
+Subject: Trac #29665: don't announce system python packages that won't be
+ used.
+
+When --enable-system-site-packages was not given, the python packages
+using SAGE_PYTHON_PACKAGE_CHECK() in spkg-configure.m4 cannot be used.
+Rather than suggest that users install them anyway, that macro now
+hacks the value of sage_use_system_$package to be "no" when the use
+of system site packages is disabled at the python level.
+---
+ m4/sage_python_package_check.m4 | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+diff --git a/m4/sage_python_package_check.m4 b/m4/sage_python_package_check.m4
+index 127a078..7ee82a7 100644
+--- a/m4/sage_python_package_check.m4
++++ b/m4/sage_python_package_check.m4
+@@ -89,6 +89,23 @@ AC_DEFUN([SAGE_PYTHON_PACKAGE_CHECK], [
+     dnl (The --clear flag to pyvenv will not clobber a plain file.)
+     AS_IF([test -d config.venv], [rm -rf config.venv])
+   ], [
++    dnl System site packages are disabled.
+     sage_spkg_install_$1=yes
++
++    dnl We have to retroactively hack the --with-system-foo={no,yes,force}
++    dnl mechanism here because it wasn't designed with the ability to
++    dnl disable arbitrary chunks of system packages in mind. The easy cases
++    dnl are "no" and "force" which require no action; "no" means we won't
++    dnl suggest the package anyway, and "force" will raise an error when
++    dnl the system-package check fails.
++    dnl
++    dnl The default of "yes" is more troubling because it is the default. To
++    dnl avoid prompting users to install packages that won't be used, we want
++    dnl to ignore "yes" when reporting the "hint: install these packages..."
++    dnl at the end of ./configure. To accomplish that, we change "yes" to
++    dnl "no" here, essentially changing the default for packages using this
++    dnl macro when --enable-system-site-packages is disabled. Packages with
++    dnl "no" are not suggested to the user.
++    AS_IF([test "${sage_use_system_$1}" = "yes"],[sage_use_system_$1=no])
+   ])
+ ])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 3e6ad737b94aaac234d615ecaf1a2455eb607f1a Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sun, 17 Oct 2021 06:16:21 -0400
+Subject: Trac #29665: add Gentoo package information for python packages.
+
+---
+ build/pkgs/babel/distros/gentoo.txt         | 1 +
+ build/pkgs/bleach/distros/gentoo.txt        | 1 +
+ build/pkgs/certifi/distros/gentoo.txt       | 1 +
+ build/pkgs/cvxopt/distros/gentoo.txt        | 1 +
+ build/pkgs/decorator/distros/gentoo.txt     | 1 +
+ build/pkgs/html5lib/distros/gentoo.txt      | 1 +
+ build/pkgs/idna/distros/gentoo.txt          | 1 +
+ build/pkgs/jinja2/distros/gentoo.txt        | 1 +
+ build/pkgs/matplotlib/distros/gentoo.txt    | 1 +
+ build/pkgs/mpmath/distros/gentoo.txt        | 1 +
+ build/pkgs/networkx/distros/gentoo.txt      | 1 +
+ build/pkgs/numpy/distros/gentoo.txt         | 1 +
+ build/pkgs/packaging/distros/gentoo.txt     | 1 +
+ build/pkgs/pandocfilters/distros/gentoo.txt | 1 +
+ build/pkgs/pickleshare/distros/gentoo.txt   | 1 +
+ build/pkgs/pillow/distros/gentoo.txt        | 1 +
+ build/pkgs/pluggy/distros/gentoo.txt        | 1 +
+ build/pkgs/pygments/distros/gentoo.txt      | 1 +
+ build/pkgs/pytz/distros/gentoo.txt          | 1 +
+ build/pkgs/pyzmq/distros/gentoo.txt         | 1 +
+ build/pkgs/requests/distros/gentoo.txt      | 1 +
+ build/pkgs/scipy/distros/gentoo.txt         | 1 +
+ build/pkgs/setuptools/distros/gentoo.txt    | 1 +
+ build/pkgs/six/distros/gentoo.txt           | 1 +
+ build/pkgs/sympy/distros/gentoo.txt         | 1 +
+ build/pkgs/texttable/distros/gentoo.txt     | 1 +
+ build/pkgs/toml/distros/gentoo.txt          | 1 +
+ build/pkgs/webencodings/distros/gentoo.txt  | 1 +
+ 28 files changed, 28 insertions(+)
+ create mode 100644 build/pkgs/babel/distros/gentoo.txt
+ create mode 100644 build/pkgs/bleach/distros/gentoo.txt
+ create mode 100644 build/pkgs/certifi/distros/gentoo.txt
+ create mode 100644 build/pkgs/cvxopt/distros/gentoo.txt
+ create mode 100644 build/pkgs/decorator/distros/gentoo.txt
+ create mode 100644 build/pkgs/html5lib/distros/gentoo.txt
+ create mode 100644 build/pkgs/idna/distros/gentoo.txt
+ create mode 100644 build/pkgs/jinja2/distros/gentoo.txt
+ create mode 100644 build/pkgs/matplotlib/distros/gentoo.txt
+ create mode 100644 build/pkgs/mpmath/distros/gentoo.txt
+ create mode 100644 build/pkgs/networkx/distros/gentoo.txt
+ create mode 100644 build/pkgs/numpy/distros/gentoo.txt
+ create mode 100644 build/pkgs/packaging/distros/gentoo.txt
+ create mode 100644 build/pkgs/pandocfilters/distros/gentoo.txt
+ create mode 100644 build/pkgs/pickleshare/distros/gentoo.txt
+ create mode 100644 build/pkgs/pillow/distros/gentoo.txt
+ create mode 100644 build/pkgs/pluggy/distros/gentoo.txt
+ create mode 100644 build/pkgs/pygments/distros/gentoo.txt
+ create mode 100644 build/pkgs/pytz/distros/gentoo.txt
+ create mode 100644 build/pkgs/pyzmq/distros/gentoo.txt
+ create mode 100644 build/pkgs/requests/distros/gentoo.txt
+ create mode 100644 build/pkgs/scipy/distros/gentoo.txt
+ create mode 100644 build/pkgs/setuptools/distros/gentoo.txt
+ create mode 100644 build/pkgs/six/distros/gentoo.txt
+ create mode 100644 build/pkgs/sympy/distros/gentoo.txt
+ create mode 100644 build/pkgs/texttable/distros/gentoo.txt
+ create mode 100644 build/pkgs/toml/distros/gentoo.txt
+ create mode 100644 build/pkgs/webencodings/distros/gentoo.txt
+
+diff --git a/build/pkgs/babel/distros/gentoo.txt b/build/pkgs/babel/distros/gentoo.txt
+new file mode 100644
+index 00000000..2d2c34f
+--- /dev/null
++++ b/build/pkgs/babel/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/Babel
+diff --git a/build/pkgs/bleach/distros/gentoo.txt b/build/pkgs/bleach/distros/gentoo.txt
+new file mode 100644
+index 00000000..b4f9744
+--- /dev/null
++++ b/build/pkgs/bleach/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/bleach
+diff --git a/build/pkgs/certifi/distros/gentoo.txt b/build/pkgs/certifi/distros/gentoo.txt
+new file mode 100644
+index 00000000..72e2e91
+--- /dev/null
++++ b/build/pkgs/certifi/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/certifi
+diff --git a/build/pkgs/cvxopt/distros/gentoo.txt b/build/pkgs/cvxopt/distros/gentoo.txt
+new file mode 100644
+index 00000000..b312391
+--- /dev/null
++++ b/build/pkgs/cvxopt/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/cvxopt
+diff --git a/build/pkgs/decorator/distros/gentoo.txt b/build/pkgs/decorator/distros/gentoo.txt
+new file mode 100644
+index 00000000..fea5a67
+--- /dev/null
++++ b/build/pkgs/decorator/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/decorator
+diff --git a/build/pkgs/html5lib/distros/gentoo.txt b/build/pkgs/html5lib/distros/gentoo.txt
+new file mode 100644
+index 00000000..6c2be76
+--- /dev/null
++++ b/build/pkgs/html5lib/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/html5lib
+diff --git a/build/pkgs/idna/distros/gentoo.txt b/build/pkgs/idna/distros/gentoo.txt
+new file mode 100644
+index 00000000..68ef51c
+--- /dev/null
++++ b/build/pkgs/idna/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/idna
+diff --git a/build/pkgs/jinja2/distros/gentoo.txt b/build/pkgs/jinja2/distros/gentoo.txt
+new file mode 100644
+index 00000000..15a27ae
+--- /dev/null
++++ b/build/pkgs/jinja2/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/jinja
+diff --git a/build/pkgs/matplotlib/distros/gentoo.txt b/build/pkgs/matplotlib/distros/gentoo.txt
+new file mode 100644
+index 00000000..bcfefb5
+--- /dev/null
++++ b/build/pkgs/matplotlib/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/matplotlib
+diff --git a/build/pkgs/mpmath/distros/gentoo.txt b/build/pkgs/mpmath/distros/gentoo.txt
+new file mode 100644
+index 00000000..946c62d
+--- /dev/null
++++ b/build/pkgs/mpmath/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/mpmath
+diff --git a/build/pkgs/networkx/distros/gentoo.txt b/build/pkgs/networkx/distros/gentoo.txt
+new file mode 100644
+index 00000000..dd97742
+--- /dev/null
++++ b/build/pkgs/networkx/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/networkx
+diff --git a/build/pkgs/numpy/distros/gentoo.txt b/build/pkgs/numpy/distros/gentoo.txt
+new file mode 100644
+index 00000000..d2179d4
+--- /dev/null
++++ b/build/pkgs/numpy/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/numpy
+diff --git a/build/pkgs/packaging/distros/gentoo.txt b/build/pkgs/packaging/distros/gentoo.txt
+new file mode 100644
+index 00000000..e5309ed
+--- /dev/null
++++ b/build/pkgs/packaging/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/packaging
+diff --git a/build/pkgs/pandocfilters/distros/gentoo.txt b/build/pkgs/pandocfilters/distros/gentoo.txt
+new file mode 100644
+index 00000000..a726fda
+--- /dev/null
++++ b/build/pkgs/pandocfilters/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/pandocfilters
+diff --git a/build/pkgs/pickleshare/distros/gentoo.txt b/build/pkgs/pickleshare/distros/gentoo.txt
+new file mode 100644
+index 00000000..14fad0f
+--- /dev/null
++++ b/build/pkgs/pickleshare/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/pickleshare
+diff --git a/build/pkgs/pillow/distros/gentoo.txt b/build/pkgs/pillow/distros/gentoo.txt
+new file mode 100644
+index 00000000..1243649
+--- /dev/null
++++ b/build/pkgs/pillow/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/pillow
+diff --git a/build/pkgs/pluggy/distros/gentoo.txt b/build/pkgs/pluggy/distros/gentoo.txt
+new file mode 100644
+index 00000000..7b33876
+--- /dev/null
++++ b/build/pkgs/pluggy/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/pluggy
+diff --git a/build/pkgs/pygments/distros/gentoo.txt b/build/pkgs/pygments/distros/gentoo.txt
+new file mode 100644
+index 00000000..a584f32
+--- /dev/null
++++ b/build/pkgs/pygments/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/pygments
+diff --git a/build/pkgs/pytz/distros/gentoo.txt b/build/pkgs/pytz/distros/gentoo.txt
+new file mode 100644
+index 00000000..902a18b
+--- /dev/null
++++ b/build/pkgs/pytz/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/pytz
+diff --git a/build/pkgs/pyzmq/distros/gentoo.txt b/build/pkgs/pyzmq/distros/gentoo.txt
+new file mode 100644
+index 00000000..77c2429
+--- /dev/null
++++ b/build/pkgs/pyzmq/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/pyzmq
+diff --git a/build/pkgs/requests/distros/gentoo.txt b/build/pkgs/requests/distros/gentoo.txt
+new file mode 100644
+index 00000000..d3dc941
+--- /dev/null
++++ b/build/pkgs/requests/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/requests
+diff --git a/build/pkgs/scipy/distros/gentoo.txt b/build/pkgs/scipy/distros/gentoo.txt
+new file mode 100644
+index 00000000..11dabd2
+--- /dev/null
++++ b/build/pkgs/scipy/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/scipy
+diff --git a/build/pkgs/setuptools/distros/gentoo.txt b/build/pkgs/setuptools/distros/gentoo.txt
+new file mode 100644
+index 00000000..3a4fa34
+--- /dev/null
++++ b/build/pkgs/setuptools/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/setuptools
+diff --git a/build/pkgs/six/distros/gentoo.txt b/build/pkgs/six/distros/gentoo.txt
+new file mode 100644
+index 00000000..f73f648
+--- /dev/null
++++ b/build/pkgs/six/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/six
+diff --git a/build/pkgs/sympy/distros/gentoo.txt b/build/pkgs/sympy/distros/gentoo.txt
+new file mode 100644
+index 00000000..b5a5034
+--- /dev/null
++++ b/build/pkgs/sympy/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/sympy
+diff --git a/build/pkgs/texttable/distros/gentoo.txt b/build/pkgs/texttable/distros/gentoo.txt
+new file mode 100644
+index 00000000..b33a7a7
+--- /dev/null
++++ b/build/pkgs/texttable/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/texttable
+diff --git a/build/pkgs/toml/distros/gentoo.txt b/build/pkgs/toml/distros/gentoo.txt
+new file mode 100644
+index 00000000..64fcea3
+--- /dev/null
++++ b/build/pkgs/toml/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/toml
+diff --git a/build/pkgs/webencodings/distros/gentoo.txt b/build/pkgs/webencodings/distros/gentoo.txt
+new file mode 100644
+index 00000000..7539b0f
+--- /dev/null
++++ b/build/pkgs/webencodings/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/webencodings
+-- 
+cgit v1.0-1-gd88e
+
+
+From 088380f884124c9608160b613ba031c5f023f604 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Sun, 17 Oct 2021 18:43:04 -0700
+Subject: build/pkgs: Add distros/fedora.txt for Python packages
+
+---
+ build/pkgs/babel/distros/fedora.txt         | 1 +
+ build/pkgs/bleach/distros/fedora.txt        | 1 +
+ build/pkgs/certifi/distros/fedora.txt       | 1 +
+ build/pkgs/cvxopt/distros/fedora.txt        | 1 +
+ build/pkgs/decorator/distros/fedora.txt     | 1 +
+ build/pkgs/html5lib/distros/fedora.txt      | 1 +
+ build/pkgs/idna/distros/fedora.txt          | 1 +
+ build/pkgs/jinja2/distros/fedora.txt        | 1 +
+ build/pkgs/matplotlib/distros/fedora.txt    | 1 +
+ build/pkgs/mpmath/distros/fedora.txt        | 1 +
+ build/pkgs/networkx/distros/fedora.txt      | 1 +
+ build/pkgs/numpy/distros/fedora.txt         | 1 +
+ build/pkgs/packaging/distros/fedora.txt     | 1 +
+ build/pkgs/pandocfilters/distros/fedora.txt | 1 +
+ build/pkgs/pickleshare/distros/fedora.txt   | 1 +
+ build/pkgs/pillow/distros/fedora.txt        | 1 +
+ build/pkgs/pluggy/distros/fedora.txt        | 1 +
+ build/pkgs/py/distros/fedora.txt            | 1 +
+ build/pkgs/pygments/distros/fedora.txt      | 1 +
+ build/pkgs/pytz/distros/fedora.txt          | 1 +
+ build/pkgs/pyzmq/distros/fedora.txt         | 1 +
+ build/pkgs/requests/distros/fedora.txt      | 1 +
+ build/pkgs/scipy/distros/fedora.txt         | 1 +
+ build/pkgs/setuptools/distros/fedora.txt    | 1 +
+ build/pkgs/six/distros/fedora.txt           | 1 +
+ build/pkgs/sympy/distros/fedora.txt         | 1 +
+ build/pkgs/texttable/distros/fedora.txt     | 1 +
+ build/pkgs/toml/distros/fedora.txt          | 1 +
+ build/pkgs/webencodings/distros/fedora.txt  | 1 +
+ build/pkgs/wheel/distros/fedora.txt         | 1 +
+ 30 files changed, 30 insertions(+)
+ create mode 100644 build/pkgs/babel/distros/fedora.txt
+ create mode 100644 build/pkgs/bleach/distros/fedora.txt
+ create mode 100644 build/pkgs/certifi/distros/fedora.txt
+ create mode 100644 build/pkgs/cvxopt/distros/fedora.txt
+ create mode 100644 build/pkgs/decorator/distros/fedora.txt
+ create mode 100644 build/pkgs/html5lib/distros/fedora.txt
+ create mode 100644 build/pkgs/idna/distros/fedora.txt
+ create mode 100644 build/pkgs/jinja2/distros/fedora.txt
+ create mode 100644 build/pkgs/matplotlib/distros/fedora.txt
+ create mode 100644 build/pkgs/mpmath/distros/fedora.txt
+ create mode 100644 build/pkgs/networkx/distros/fedora.txt
+ create mode 100644 build/pkgs/numpy/distros/fedora.txt
+ create mode 100644 build/pkgs/packaging/distros/fedora.txt
+ create mode 100644 build/pkgs/pandocfilters/distros/fedora.txt
+ create mode 100644 build/pkgs/pickleshare/distros/fedora.txt
+ create mode 100644 build/pkgs/pillow/distros/fedora.txt
+ create mode 100644 build/pkgs/pluggy/distros/fedora.txt
+ create mode 100644 build/pkgs/py/distros/fedora.txt
+ create mode 100644 build/pkgs/pygments/distros/fedora.txt
+ create mode 100644 build/pkgs/pytz/distros/fedora.txt
+ create mode 100644 build/pkgs/pyzmq/distros/fedora.txt
+ create mode 100644 build/pkgs/requests/distros/fedora.txt
+ create mode 100644 build/pkgs/scipy/distros/fedora.txt
+ create mode 100644 build/pkgs/setuptools/distros/fedora.txt
+ create mode 100644 build/pkgs/six/distros/fedora.txt
+ create mode 100644 build/pkgs/sympy/distros/fedora.txt
+ create mode 100644 build/pkgs/texttable/distros/fedora.txt
+ create mode 100644 build/pkgs/toml/distros/fedora.txt
+ create mode 100644 build/pkgs/webencodings/distros/fedora.txt
+ create mode 100644 build/pkgs/wheel/distros/fedora.txt
+
+diff --git a/build/pkgs/babel/distros/fedora.txt b/build/pkgs/babel/distros/fedora.txt
+new file mode 100644
+index 00000000..98f6593
+--- /dev/null
++++ b/build/pkgs/babel/distros/fedora.txt
+@@ -0,0 +1 @@
++babel
+diff --git a/build/pkgs/bleach/distros/fedora.txt b/build/pkgs/bleach/distros/fedora.txt
+new file mode 100644
+index 00000000..c5422cc
+--- /dev/null
++++ b/build/pkgs/bleach/distros/fedora.txt
+@@ -0,0 +1 @@
++python-bleach
+diff --git a/build/pkgs/certifi/distros/fedora.txt b/build/pkgs/certifi/distros/fedora.txt
+new file mode 100644
+index 00000000..be421c8
+--- /dev/null
++++ b/build/pkgs/certifi/distros/fedora.txt
+@@ -0,0 +1 @@
++python-certifi
+diff --git a/build/pkgs/cvxopt/distros/fedora.txt b/build/pkgs/cvxopt/distros/fedora.txt
+new file mode 100644
+index 00000000..f15770f
+--- /dev/null
++++ b/build/pkgs/cvxopt/distros/fedora.txt
+@@ -0,0 +1 @@
++python-cvxopt
+diff --git a/build/pkgs/decorator/distros/fedora.txt b/build/pkgs/decorator/distros/fedora.txt
+new file mode 100644
+index 00000000..0795604
+--- /dev/null
++++ b/build/pkgs/decorator/distros/fedora.txt
+@@ -0,0 +1 @@
++python-decorator
+diff --git a/build/pkgs/html5lib/distros/fedora.txt b/build/pkgs/html5lib/distros/fedora.txt
+new file mode 100644
+index 00000000..b821491
+--- /dev/null
++++ b/build/pkgs/html5lib/distros/fedora.txt
+@@ -0,0 +1 @@
++python-html5lib
+diff --git a/build/pkgs/idna/distros/fedora.txt b/build/pkgs/idna/distros/fedora.txt
+new file mode 100644
+index 00000000..a73e70c
+--- /dev/null
++++ b/build/pkgs/idna/distros/fedora.txt
+@@ -0,0 +1 @@
++python-idna
+diff --git a/build/pkgs/jinja2/distros/fedora.txt b/build/pkgs/jinja2/distros/fedora.txt
+new file mode 100644
+index 00000000..f5f3caf
+--- /dev/null
++++ b/build/pkgs/jinja2/distros/fedora.txt
+@@ -0,0 +1 @@
++python-jinja2
+diff --git a/build/pkgs/matplotlib/distros/fedora.txt b/build/pkgs/matplotlib/distros/fedora.txt
+new file mode 100644
+index 00000000..f6d856e
+--- /dev/null
++++ b/build/pkgs/matplotlib/distros/fedora.txt
+@@ -0,0 +1 @@
++python-matplotlib
+diff --git a/build/pkgs/mpmath/distros/fedora.txt b/build/pkgs/mpmath/distros/fedora.txt
+new file mode 100644
+index 00000000..a7dc8d5
+--- /dev/null
++++ b/build/pkgs/mpmath/distros/fedora.txt
+@@ -0,0 +1 @@
++python-mpmath
+diff --git a/build/pkgs/networkx/distros/fedora.txt b/build/pkgs/networkx/distros/fedora.txt
+new file mode 100644
+index 00000000..293f943
+--- /dev/null
++++ b/build/pkgs/networkx/distros/fedora.txt
+@@ -0,0 +1 @@
++python-networkx
+diff --git a/build/pkgs/numpy/distros/fedora.txt b/build/pkgs/numpy/distros/fedora.txt
+new file mode 100644
+index 00000000..c8722b9
+--- /dev/null
++++ b/build/pkgs/numpy/distros/fedora.txt
+@@ -0,0 +1 @@
++python-numpy
+diff --git a/build/pkgs/packaging/distros/fedora.txt b/build/pkgs/packaging/distros/fedora.txt
+new file mode 100644
+index 00000000..02ad855
+--- /dev/null
++++ b/build/pkgs/packaging/distros/fedora.txt
+@@ -0,0 +1 @@
++python-packaging
+diff --git a/build/pkgs/pandocfilters/distros/fedora.txt b/build/pkgs/pandocfilters/distros/fedora.txt
+new file mode 100644
+index 00000000..e7a86d0
+--- /dev/null
++++ b/build/pkgs/pandocfilters/distros/fedora.txt
+@@ -0,0 +1 @@
++python-pandocfilters
+diff --git a/build/pkgs/pickleshare/distros/fedora.txt b/build/pkgs/pickleshare/distros/fedora.txt
+new file mode 100644
+index 00000000..6d991a2
+--- /dev/null
++++ b/build/pkgs/pickleshare/distros/fedora.txt
+@@ -0,0 +1 @@
++python-pickleshare
+diff --git a/build/pkgs/pillow/distros/fedora.txt b/build/pkgs/pillow/distros/fedora.txt
+new file mode 100644
+index 00000000..86dbb1d
+--- /dev/null
++++ b/build/pkgs/pillow/distros/fedora.txt
+@@ -0,0 +1 @@
++python-pillow
+diff --git a/build/pkgs/pluggy/distros/fedora.txt b/build/pkgs/pluggy/distros/fedora.txt
+new file mode 100644
+index 00000000..c869e54
+--- /dev/null
++++ b/build/pkgs/pluggy/distros/fedora.txt
+@@ -0,0 +1 @@
++python-pluggy
+diff --git a/build/pkgs/py/distros/fedora.txt b/build/pkgs/py/distros/fedora.txt
+new file mode 100644
+index 00000000..b348d39
+--- /dev/null
++++ b/build/pkgs/py/distros/fedora.txt
+@@ -0,0 +1 @@
++python-py
+diff --git a/build/pkgs/pygments/distros/fedora.txt b/build/pkgs/pygments/distros/fedora.txt
+new file mode 100644
+index 00000000..f3e72a8
+--- /dev/null
++++ b/build/pkgs/pygments/distros/fedora.txt
+@@ -0,0 +1 @@
++python-pygments
+diff --git a/build/pkgs/pytz/distros/fedora.txt b/build/pkgs/pytz/distros/fedora.txt
+new file mode 100644
+index 00000000..2cccc9e
+--- /dev/null
++++ b/build/pkgs/pytz/distros/fedora.txt
+@@ -0,0 +1 @@
++python-pytz
+diff --git a/build/pkgs/pyzmq/distros/fedora.txt b/build/pkgs/pyzmq/distros/fedora.txt
+new file mode 100644
+index 00000000..23f64d1
+--- /dev/null
++++ b/build/pkgs/pyzmq/distros/fedora.txt
+@@ -0,0 +1 @@
++python-pyzmq
+diff --git a/build/pkgs/requests/distros/fedora.txt b/build/pkgs/requests/distros/fedora.txt
+new file mode 100644
+index 00000000..93a7bc1
+--- /dev/null
++++ b/build/pkgs/requests/distros/fedora.txt
+@@ -0,0 +1 @@
++python-requests
+diff --git a/build/pkgs/scipy/distros/fedora.txt b/build/pkgs/scipy/distros/fedora.txt
+new file mode 100644
+index 00000000..7ff2882
+--- /dev/null
++++ b/build/pkgs/scipy/distros/fedora.txt
+@@ -0,0 +1 @@
++python-scipy
+diff --git a/build/pkgs/setuptools/distros/fedora.txt b/build/pkgs/setuptools/distros/fedora.txt
+new file mode 100644
+index 00000000..e1ad178
+--- /dev/null
++++ b/build/pkgs/setuptools/distros/fedora.txt
+@@ -0,0 +1 @@
++python-setuptools
+diff --git a/build/pkgs/six/distros/fedora.txt b/build/pkgs/six/distros/fedora.txt
+new file mode 100644
+index 00000000..787c530
+--- /dev/null
++++ b/build/pkgs/six/distros/fedora.txt
+@@ -0,0 +1 @@
++python-six
+diff --git a/build/pkgs/sympy/distros/fedora.txt b/build/pkgs/sympy/distros/fedora.txt
+new file mode 100644
+index 00000000..126c88a
+--- /dev/null
++++ b/build/pkgs/sympy/distros/fedora.txt
+@@ -0,0 +1 @@
++python-sympy
+diff --git a/build/pkgs/texttable/distros/fedora.txt b/build/pkgs/texttable/distros/fedora.txt
+new file mode 100644
+index 00000000..8d1ccec
+--- /dev/null
++++ b/build/pkgs/texttable/distros/fedora.txt
+@@ -0,0 +1 @@
++python-texttable
+diff --git a/build/pkgs/toml/distros/fedora.txt b/build/pkgs/toml/distros/fedora.txt
+new file mode 100644
+index 00000000..821ee77
+--- /dev/null
++++ b/build/pkgs/toml/distros/fedora.txt
+@@ -0,0 +1 @@
++python-toml
+diff --git a/build/pkgs/webencodings/distros/fedora.txt b/build/pkgs/webencodings/distros/fedora.txt
+new file mode 100644
+index 00000000..12ddba9
+--- /dev/null
++++ b/build/pkgs/webencodings/distros/fedora.txt
+@@ -0,0 +1 @@
++python-webencodings
+diff --git a/build/pkgs/wheel/distros/fedora.txt b/build/pkgs/wheel/distros/fedora.txt
+new file mode 100644
+index 00000000..ae4cbb9
+--- /dev/null
++++ b/build/pkgs/wheel/distros/fedora.txt
+@@ -0,0 +1 @@
++python-wheel
+-- 
+cgit v1.0-1-gd88e
+
+
+From ad1d5a20380b147c774903066031442f31094626 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Sun, 17 Oct 2021 21:04:04 -0700
+Subject: build/pkgs: Add distros/arch.txt for Python packages
+
+---
+ build/pkgs/babel/distros/arch.txt         | 1 +
+ build/pkgs/bleach/distros/arch.txt        | 1 +
+ build/pkgs/certifi/distros/arch.txt       | 1 +
+ build/pkgs/cvxopt/distros/arch.txt        | 1 +
+ build/pkgs/decorator/distros/arch.txt     | 1 +
+ build/pkgs/html5lib/distros/arch.txt      | 1 +
+ build/pkgs/idna/distros/arch.txt          | 1 +
+ build/pkgs/matplotlib/distros/arch.txt    | 1 +
+ build/pkgs/mpmath/distros/arch.txt        | 1 +
+ build/pkgs/networkx/distros/arch.txt      | 1 +
+ build/pkgs/numpy/distros/arch.txt         | 1 +
+ build/pkgs/packaging/distros/arch.txt     | 1 +
+ build/pkgs/pandocfilters/distros/arch.txt | 1 +
+ build/pkgs/pickleshare/distros/arch.txt   | 1 +
+ build/pkgs/pillow/distros/arch.txt        | 1 +
+ build/pkgs/pluggy/distros/arch.txt        | 1 +
+ build/pkgs/py/distros/arch.txt            | 1 +
+ build/pkgs/pygments/distros/arch.txt      | 1 +
+ build/pkgs/pytz/distros/arch.txt          | 1 +
+ build/pkgs/pyzmq/distros/arch.txt         | 1 +
+ build/pkgs/requests/distros/arch.txt      | 1 +
+ build/pkgs/scipy/distros/arch.txt         | 1 +
+ build/pkgs/setuptools/distros/arch.txt    | 1 +
+ build/pkgs/six/distros/arch.txt           | 1 +
+ build/pkgs/sympy/distros/arch.txt         | 1 +
+ build/pkgs/texttable/distros/arch.txt     | 1 +
+ build/pkgs/toml/distros/arch.txt          | 1 +
+ build/pkgs/webencodings/distros/arch.txt  | 1 +
+ build/pkgs/wheel/distros/arch.txt         | 1 +
+ 29 files changed, 29 insertions(+)
+ create mode 100644 build/pkgs/babel/distros/arch.txt
+ create mode 100644 build/pkgs/bleach/distros/arch.txt
+ create mode 100644 build/pkgs/certifi/distros/arch.txt
+ create mode 100644 build/pkgs/cvxopt/distros/arch.txt
+ create mode 100644 build/pkgs/decorator/distros/arch.txt
+ create mode 100644 build/pkgs/html5lib/distros/arch.txt
+ create mode 100644 build/pkgs/idna/distros/arch.txt
+ create mode 100644 build/pkgs/matplotlib/distros/arch.txt
+ create mode 100644 build/pkgs/mpmath/distros/arch.txt
+ create mode 100644 build/pkgs/networkx/distros/arch.txt
+ create mode 100644 build/pkgs/numpy/distros/arch.txt
+ create mode 100644 build/pkgs/packaging/distros/arch.txt
+ create mode 100644 build/pkgs/pandocfilters/distros/arch.txt
+ create mode 100644 build/pkgs/pickleshare/distros/arch.txt
+ create mode 100644 build/pkgs/pillow/distros/arch.txt
+ create mode 100644 build/pkgs/pluggy/distros/arch.txt
+ create mode 100644 build/pkgs/py/distros/arch.txt
+ create mode 100644 build/pkgs/pygments/distros/arch.txt
+ create mode 100644 build/pkgs/pytz/distros/arch.txt
+ create mode 100644 build/pkgs/pyzmq/distros/arch.txt
+ create mode 100644 build/pkgs/requests/distros/arch.txt
+ create mode 100644 build/pkgs/scipy/distros/arch.txt
+ create mode 100644 build/pkgs/setuptools/distros/arch.txt
+ create mode 100644 build/pkgs/six/distros/arch.txt
+ create mode 100644 build/pkgs/sympy/distros/arch.txt
+ create mode 100644 build/pkgs/texttable/distros/arch.txt
+ create mode 100644 build/pkgs/toml/distros/arch.txt
+ create mode 100644 build/pkgs/webencodings/distros/arch.txt
+ create mode 100644 build/pkgs/wheel/distros/arch.txt
+
+diff --git a/build/pkgs/babel/distros/arch.txt b/build/pkgs/babel/distros/arch.txt
+new file mode 100644
+index 00000000..f2d828c
+--- /dev/null
++++ b/build/pkgs/babel/distros/arch.txt
+@@ -0,0 +1 @@
++python-babel
+diff --git a/build/pkgs/bleach/distros/arch.txt b/build/pkgs/bleach/distros/arch.txt
+new file mode 100644
+index 00000000..c5422cc
+--- /dev/null
++++ b/build/pkgs/bleach/distros/arch.txt
+@@ -0,0 +1 @@
++python-bleach
+diff --git a/build/pkgs/certifi/distros/arch.txt b/build/pkgs/certifi/distros/arch.txt
+new file mode 100644
+index 00000000..be421c8
+--- /dev/null
++++ b/build/pkgs/certifi/distros/arch.txt
+@@ -0,0 +1 @@
++python-certifi
+diff --git a/build/pkgs/cvxopt/distros/arch.txt b/build/pkgs/cvxopt/distros/arch.txt
+new file mode 100644
+index 00000000..f15770f
+--- /dev/null
++++ b/build/pkgs/cvxopt/distros/arch.txt
+@@ -0,0 +1 @@
++python-cvxopt
+diff --git a/build/pkgs/decorator/distros/arch.txt b/build/pkgs/decorator/distros/arch.txt
+new file mode 100644
+index 00000000..0795604
+--- /dev/null
++++ b/build/pkgs/decorator/distros/arch.txt
+@@ -0,0 +1 @@
++python-decorator
+diff --git a/build/pkgs/html5lib/distros/arch.txt b/build/pkgs/html5lib/distros/arch.txt
+new file mode 100644
+index 00000000..b821491
+--- /dev/null
++++ b/build/pkgs/html5lib/distros/arch.txt
+@@ -0,0 +1 @@
++python-html5lib
+diff --git a/build/pkgs/idna/distros/arch.txt b/build/pkgs/idna/distros/arch.txt
+new file mode 100644
+index 00000000..a73e70c
+--- /dev/null
++++ b/build/pkgs/idna/distros/arch.txt
+@@ -0,0 +1 @@
++python-idna
+diff --git a/build/pkgs/matplotlib/distros/arch.txt b/build/pkgs/matplotlib/distros/arch.txt
+new file mode 100644
+index 00000000..f6d856e
+--- /dev/null
++++ b/build/pkgs/matplotlib/distros/arch.txt
+@@ -0,0 +1 @@
++python-matplotlib
+diff --git a/build/pkgs/mpmath/distros/arch.txt b/build/pkgs/mpmath/distros/arch.txt
+new file mode 100644
+index 00000000..a7dc8d5
+--- /dev/null
++++ b/build/pkgs/mpmath/distros/arch.txt
+@@ -0,0 +1 @@
++python-mpmath
+diff --git a/build/pkgs/networkx/distros/arch.txt b/build/pkgs/networkx/distros/arch.txt
+new file mode 100644
+index 00000000..293f943
+--- /dev/null
++++ b/build/pkgs/networkx/distros/arch.txt
+@@ -0,0 +1 @@
++python-networkx
+diff --git a/build/pkgs/numpy/distros/arch.txt b/build/pkgs/numpy/distros/arch.txt
+new file mode 100644
+index 00000000..c8722b9
+--- /dev/null
++++ b/build/pkgs/numpy/distros/arch.txt
+@@ -0,0 +1 @@
++python-numpy
+diff --git a/build/pkgs/packaging/distros/arch.txt b/build/pkgs/packaging/distros/arch.txt
+new file mode 100644
+index 00000000..02ad855
+--- /dev/null
++++ b/build/pkgs/packaging/distros/arch.txt
+@@ -0,0 +1 @@
++python-packaging
+diff --git a/build/pkgs/pandocfilters/distros/arch.txt b/build/pkgs/pandocfilters/distros/arch.txt
+new file mode 100644
+index 00000000..e7a86d0
+--- /dev/null
++++ b/build/pkgs/pandocfilters/distros/arch.txt
+@@ -0,0 +1 @@
++python-pandocfilters
+diff --git a/build/pkgs/pickleshare/distros/arch.txt b/build/pkgs/pickleshare/distros/arch.txt
+new file mode 100644
+index 00000000..6d991a2
+--- /dev/null
++++ b/build/pkgs/pickleshare/distros/arch.txt
+@@ -0,0 +1 @@
++python-pickleshare
+diff --git a/build/pkgs/pillow/distros/arch.txt b/build/pkgs/pillow/distros/arch.txt
+new file mode 100644
+index 00000000..86dbb1d
+--- /dev/null
++++ b/build/pkgs/pillow/distros/arch.txt
+@@ -0,0 +1 @@
++python-pillow
+diff --git a/build/pkgs/pluggy/distros/arch.txt b/build/pkgs/pluggy/distros/arch.txt
+new file mode 100644
+index 00000000..c869e54
+--- /dev/null
++++ b/build/pkgs/pluggy/distros/arch.txt
+@@ -0,0 +1 @@
++python-pluggy
+diff --git a/build/pkgs/py/distros/arch.txt b/build/pkgs/py/distros/arch.txt
+new file mode 100644
+index 00000000..b348d39
+--- /dev/null
++++ b/build/pkgs/py/distros/arch.txt
+@@ -0,0 +1 @@
++python-py
+diff --git a/build/pkgs/pygments/distros/arch.txt b/build/pkgs/pygments/distros/arch.txt
+new file mode 100644
+index 00000000..f3e72a8
+--- /dev/null
++++ b/build/pkgs/pygments/distros/arch.txt
+@@ -0,0 +1 @@
++python-pygments
+diff --git a/build/pkgs/pytz/distros/arch.txt b/build/pkgs/pytz/distros/arch.txt
+new file mode 100644
+index 00000000..2cccc9e
+--- /dev/null
++++ b/build/pkgs/pytz/distros/arch.txt
+@@ -0,0 +1 @@
++python-pytz
+diff --git a/build/pkgs/pyzmq/distros/arch.txt b/build/pkgs/pyzmq/distros/arch.txt
+new file mode 100644
+index 00000000..23f64d1
+--- /dev/null
++++ b/build/pkgs/pyzmq/distros/arch.txt
+@@ -0,0 +1 @@
++python-pyzmq
+diff --git a/build/pkgs/requests/distros/arch.txt b/build/pkgs/requests/distros/arch.txt
+new file mode 100644
+index 00000000..93a7bc1
+--- /dev/null
++++ b/build/pkgs/requests/distros/arch.txt
+@@ -0,0 +1 @@
++python-requests
+diff --git a/build/pkgs/scipy/distros/arch.txt b/build/pkgs/scipy/distros/arch.txt
+new file mode 100644
+index 00000000..7ff2882
+--- /dev/null
++++ b/build/pkgs/scipy/distros/arch.txt
+@@ -0,0 +1 @@
++python-scipy
+diff --git a/build/pkgs/setuptools/distros/arch.txt b/build/pkgs/setuptools/distros/arch.txt
+new file mode 100644
+index 00000000..e1ad178
+--- /dev/null
++++ b/build/pkgs/setuptools/distros/arch.txt
+@@ -0,0 +1 @@
++python-setuptools
+diff --git a/build/pkgs/six/distros/arch.txt b/build/pkgs/six/distros/arch.txt
+new file mode 100644
+index 00000000..787c530
+--- /dev/null
++++ b/build/pkgs/six/distros/arch.txt
+@@ -0,0 +1 @@
++python-six
+diff --git a/build/pkgs/sympy/distros/arch.txt b/build/pkgs/sympy/distros/arch.txt
+new file mode 100644
+index 00000000..126c88a
+--- /dev/null
++++ b/build/pkgs/sympy/distros/arch.txt
+@@ -0,0 +1 @@
++python-sympy
+diff --git a/build/pkgs/texttable/distros/arch.txt b/build/pkgs/texttable/distros/arch.txt
+new file mode 100644
+index 00000000..8d1ccec
+--- /dev/null
++++ b/build/pkgs/texttable/distros/arch.txt
+@@ -0,0 +1 @@
++python-texttable
+diff --git a/build/pkgs/toml/distros/arch.txt b/build/pkgs/toml/distros/arch.txt
+new file mode 100644
+index 00000000..821ee77
+--- /dev/null
++++ b/build/pkgs/toml/distros/arch.txt
+@@ -0,0 +1 @@
++python-toml
+diff --git a/build/pkgs/webencodings/distros/arch.txt b/build/pkgs/webencodings/distros/arch.txt
+new file mode 100644
+index 00000000..12ddba9
+--- /dev/null
++++ b/build/pkgs/webencodings/distros/arch.txt
+@@ -0,0 +1 @@
++python-webencodings
+diff --git a/build/pkgs/wheel/distros/arch.txt b/build/pkgs/wheel/distros/arch.txt
+new file mode 100644
+index 00000000..ae4cbb9
+--- /dev/null
++++ b/build/pkgs/wheel/distros/arch.txt
+@@ -0,0 +1 @@
++python-wheel
+-- 
+cgit v1.0-1-gd88e
+
+
+From 5087abee08f2a89ddaf422ec72a84575fe724a79 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Sun, 17 Oct 2021 21:20:56 -0700
+Subject: build/pkgs: Add distros/opensuse.txt for Python packages
+
+---
+ build/pkgs/bleach/distros/opensuse.txt        | 1 +
+ build/pkgs/cvxopt/distros/opensuse.txt        | 1 +
+ build/pkgs/html5lib/distros/opensuse.txt      | 1 +
+ build/pkgs/idna/distros/opensuse.txt          | 1 +
+ build/pkgs/jinja2/distros/opensuse.txt        | 2 +-
+ build/pkgs/mpmath/distros/opensuse.txt        | 1 +
+ build/pkgs/numpy/distros/opensuse.txt         | 1 +
+ build/pkgs/packaging/distros/opensuse.txt     | 1 +
+ build/pkgs/pandocfilters/distros/opensuse.txt | 1 +
+ build/pkgs/pluggy/distros/opensuse.txt        | 1 +
+ build/pkgs/py/distros/opensuse.txt            | 1 +
+ build/pkgs/pygments/distros/opensuse.txt      | 2 +-
+ build/pkgs/sympy/distros/opensuse.txt         | 1 +
+ build/pkgs/texttable/distros/opensuse.txt     | 1 +
+ build/pkgs/toml/distros/opensuse.txt          | 1 +
+ 15 files changed, 15 insertions(+), 2 deletions(-)
+ create mode 100644 build/pkgs/bleach/distros/opensuse.txt
+ create mode 100644 build/pkgs/cvxopt/distros/opensuse.txt
+ create mode 100644 build/pkgs/html5lib/distros/opensuse.txt
+ create mode 100644 build/pkgs/idna/distros/opensuse.txt
+ create mode 100644 build/pkgs/mpmath/distros/opensuse.txt
+ create mode 100644 build/pkgs/numpy/distros/opensuse.txt
+ create mode 100644 build/pkgs/packaging/distros/opensuse.txt
+ create mode 100644 build/pkgs/pandocfilters/distros/opensuse.txt
+ create mode 100644 build/pkgs/pluggy/distros/opensuse.txt
+ create mode 100644 build/pkgs/py/distros/opensuse.txt
+ create mode 100644 build/pkgs/sympy/distros/opensuse.txt
+ create mode 100644 build/pkgs/texttable/distros/opensuse.txt
+ create mode 100644 build/pkgs/toml/distros/opensuse.txt
+
+diff --git a/build/pkgs/bleach/distros/opensuse.txt b/build/pkgs/bleach/distros/opensuse.txt
+new file mode 100644
+index 00000000..6d37c4c
+--- /dev/null
++++ b/build/pkgs/bleach/distros/opensuse.txt
+@@ -0,0 +1 @@
++python3-bleach
+diff --git a/build/pkgs/cvxopt/distros/opensuse.txt b/build/pkgs/cvxopt/distros/opensuse.txt
+new file mode 100644
+index 00000000..2bb6ad1
+--- /dev/null
++++ b/build/pkgs/cvxopt/distros/opensuse.txt
+@@ -0,0 +1 @@
++python3-cvxopt
+diff --git a/build/pkgs/html5lib/distros/opensuse.txt b/build/pkgs/html5lib/distros/opensuse.txt
+new file mode 100644
+index 00000000..6d7b8df
+--- /dev/null
++++ b/build/pkgs/html5lib/distros/opensuse.txt
+@@ -0,0 +1 @@
++python3-html5lib
+diff --git a/build/pkgs/idna/distros/opensuse.txt b/build/pkgs/idna/distros/opensuse.txt
+new file mode 100644
+index 00000000..de48e70
+--- /dev/null
++++ b/build/pkgs/idna/distros/opensuse.txt
+@@ -0,0 +1 @@
++python3-idna
+diff --git a/build/pkgs/jinja2/distros/opensuse.txt b/build/pkgs/jinja2/distros/opensuse.txt
+index 5d90a22..f2db865 100644
+--- a/build/pkgs/jinja2/distros/opensuse.txt
++++ b/build/pkgs/jinja2/distros/opensuse.txt
+@@ -1 +1 @@
+-python3-Jinja2
++python3-jinja2
+diff --git a/build/pkgs/mpmath/distros/opensuse.txt b/build/pkgs/mpmath/distros/opensuse.txt
+new file mode 100644
+index 00000000..fbc82a9
+--- /dev/null
++++ b/build/pkgs/mpmath/distros/opensuse.txt
+@@ -0,0 +1 @@
++python3-mpmath
+diff --git a/build/pkgs/numpy/distros/opensuse.txt b/build/pkgs/numpy/distros/opensuse.txt
+new file mode 100644
+index 00000000..79d5c5a
+--- /dev/null
++++ b/build/pkgs/numpy/distros/opensuse.txt
+@@ -0,0 +1 @@
++python3-numpy
+diff --git a/build/pkgs/packaging/distros/opensuse.txt b/build/pkgs/packaging/distros/opensuse.txt
+new file mode 100644
+index 00000000..8f1c0ff
+--- /dev/null
++++ b/build/pkgs/packaging/distros/opensuse.txt
+@@ -0,0 +1 @@
++python3-packaging
+diff --git a/build/pkgs/pandocfilters/distros/opensuse.txt b/build/pkgs/pandocfilters/distros/opensuse.txt
+new file mode 100644
+index 00000000..d0d4c24
+--- /dev/null
++++ b/build/pkgs/pandocfilters/distros/opensuse.txt
+@@ -0,0 +1 @@
++python3-pandocfilters
+diff --git a/build/pkgs/pluggy/distros/opensuse.txt b/build/pkgs/pluggy/distros/opensuse.txt
+new file mode 100644
+index 00000000..43a3acf
+--- /dev/null
++++ b/build/pkgs/pluggy/distros/opensuse.txt
+@@ -0,0 +1 @@
++python3-pluggy
+diff --git a/build/pkgs/py/distros/opensuse.txt b/build/pkgs/py/distros/opensuse.txt
+new file mode 100644
+index 00000000..81fefe6
+--- /dev/null
++++ b/build/pkgs/py/distros/opensuse.txt
+@@ -0,0 +1 @@
++python3-py
+diff --git a/build/pkgs/pygments/distros/opensuse.txt b/build/pkgs/pygments/distros/opensuse.txt
+index 9ff5740..3ab3792 100644
+--- a/build/pkgs/pygments/distros/opensuse.txt
++++ b/build/pkgs/pygments/distros/opensuse.txt
+@@ -1 +1 @@
+-python3-Pygments
++python3-pygments
+diff --git a/build/pkgs/sympy/distros/opensuse.txt b/build/pkgs/sympy/distros/opensuse.txt
+new file mode 100644
+index 00000000..db423c8
+--- /dev/null
++++ b/build/pkgs/sympy/distros/opensuse.txt
+@@ -0,0 +1 @@
++python3-sympy
+diff --git a/build/pkgs/texttable/distros/opensuse.txt b/build/pkgs/texttable/distros/opensuse.txt
+new file mode 100644
+index 00000000..8f8e7e2
+--- /dev/null
++++ b/build/pkgs/texttable/distros/opensuse.txt
+@@ -0,0 +1 @@
++python3-texttable
+diff --git a/build/pkgs/toml/distros/opensuse.txt b/build/pkgs/toml/distros/opensuse.txt
+new file mode 100644
+index 00000000..543e89d
+--- /dev/null
++++ b/build/pkgs/toml/distros/opensuse.txt
+@@ -0,0 +1 @@
++python3-toml
+-- 
+cgit v1.0-1-gd88e
+
+
+From a480ba7ace1370d106ae831e904ea22b72af1be7 Mon Sep 17 00:00:00 2001
+From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
+Date: Sun, 17 Oct 2021 22:45:04 -0700
+Subject: build/pkgs: Add distros/debian.txt for Python packages
+
+---
+ build/pkgs/babel/distros/debian.txt         | 1 +
+ build/pkgs/bleach/distros/debian.txt        | 1 +
+ build/pkgs/certifi/distros/debian.txt       | 1 +
+ build/pkgs/cvxopt/distros/debian.txt        | 1 +
+ build/pkgs/decorator/distros/debian.txt     | 1 +
+ build/pkgs/html5lib/distros/debian.txt      | 1 +
+ build/pkgs/idna/distros/debian.txt          | 1 +
+ build/pkgs/jinja2/distros/debian.txt        | 1 +
+ build/pkgs/matplotlib/distros/debian.txt    | 1 +
+ build/pkgs/mpmath/distros/debian.txt        | 1 +
+ build/pkgs/networkx/distros/debian.txt      | 1 +
+ build/pkgs/numpy/distros/debian.txt         | 1 +
+ build/pkgs/packaging/distros/debian.txt     | 1 +
+ build/pkgs/pandocfilters/distros/debian.txt | 1 +
+ build/pkgs/pickleshare/distros/debian.txt   | 1 +
+ build/pkgs/pillow/distros/debian.txt        | 1 +
+ build/pkgs/pluggy/distros/debian.txt        | 1 +
+ build/pkgs/py/distros/debian.txt            | 1 +
+ build/pkgs/pygments/distros/debian.txt      | 1 +
+ build/pkgs/pytz/distros/debian.txt          | 1 +
+ build/pkgs/requests/distros/debian.txt      | 1 +
+ build/pkgs/scipy/distros/debian.txt         | 1 +
+ build/pkgs/setuptools/distros/debian.txt    | 1 +
+ build/pkgs/six/distros/debian.txt           | 1 +
+ build/pkgs/sympy/distros/debian.txt         | 1 +
+ build/pkgs/texttable/distros/debian.txt     | 1 +
+ build/pkgs/toml/distros/debian.txt          | 1 +
+ build/pkgs/webencodings/distros/debian.txt  | 1 +
+ build/pkgs/wheel/distros/debian.txt         | 1 +
+ 29 files changed, 29 insertions(+)
+ create mode 100644 build/pkgs/babel/distros/debian.txt
+ create mode 100644 build/pkgs/bleach/distros/debian.txt
+ create mode 100644 build/pkgs/certifi/distros/debian.txt
+ create mode 100644 build/pkgs/cvxopt/distros/debian.txt
+ create mode 100644 build/pkgs/decorator/distros/debian.txt
+ create mode 100644 build/pkgs/html5lib/distros/debian.txt
+ create mode 100644 build/pkgs/idna/distros/debian.txt
+ create mode 100644 build/pkgs/jinja2/distros/debian.txt
+ create mode 100644 build/pkgs/matplotlib/distros/debian.txt
+ create mode 100644 build/pkgs/mpmath/distros/debian.txt
+ create mode 100644 build/pkgs/networkx/distros/debian.txt
+ create mode 100644 build/pkgs/numpy/distros/debian.txt
+ create mode 100644 build/pkgs/packaging/distros/debian.txt
+ create mode 100644 build/pkgs/pandocfilters/distros/debian.txt
+ create mode 100644 build/pkgs/pickleshare/distros/debian.txt
+ create mode 100644 build/pkgs/pillow/distros/debian.txt
+ create mode 100644 build/pkgs/pluggy/distros/debian.txt
+ create mode 100644 build/pkgs/py/distros/debian.txt
+ create mode 100644 build/pkgs/pygments/distros/debian.txt
+ create mode 100644 build/pkgs/pytz/distros/debian.txt
+ create mode 100644 build/pkgs/requests/distros/debian.txt
+ create mode 100644 build/pkgs/scipy/distros/debian.txt
+ create mode 100644 build/pkgs/setuptools/distros/debian.txt
+ create mode 100644 build/pkgs/six/distros/debian.txt
+ create mode 100644 build/pkgs/sympy/distros/debian.txt
+ create mode 100644 build/pkgs/texttable/distros/debian.txt
+ create mode 100644 build/pkgs/toml/distros/debian.txt
+ create mode 100644 build/pkgs/webencodings/distros/debian.txt
+ create mode 100644 build/pkgs/wheel/distros/debian.txt
+
+diff --git a/build/pkgs/babel/distros/debian.txt b/build/pkgs/babel/distros/debian.txt
+new file mode 100644
+index 00000000..e623eb6
+--- /dev/null
++++ b/build/pkgs/babel/distros/debian.txt
+@@ -0,0 +1 @@
++python3-babel
+diff --git a/build/pkgs/bleach/distros/debian.txt b/build/pkgs/bleach/distros/debian.txt
+new file mode 100644
+index 00000000..6d37c4c
+--- /dev/null
++++ b/build/pkgs/bleach/distros/debian.txt
+@@ -0,0 +1 @@
++python3-bleach
+diff --git a/build/pkgs/certifi/distros/debian.txt b/build/pkgs/certifi/distros/debian.txt
+new file mode 100644
+index 00000000..f585a82
+--- /dev/null
++++ b/build/pkgs/certifi/distros/debian.txt
+@@ -0,0 +1 @@
++python3-certifi
+diff --git a/build/pkgs/cvxopt/distros/debian.txt b/build/pkgs/cvxopt/distros/debian.txt
+new file mode 100644
+index 00000000..2bb6ad1
+--- /dev/null
++++ b/build/pkgs/cvxopt/distros/debian.txt
+@@ -0,0 +1 @@
++python3-cvxopt
+diff --git a/build/pkgs/decorator/distros/debian.txt b/build/pkgs/decorator/distros/debian.txt
+new file mode 100644
+index 00000000..46c478e
+--- /dev/null
++++ b/build/pkgs/decorator/distros/debian.txt
+@@ -0,0 +1 @@
++python3-decorator
+diff --git a/build/pkgs/html5lib/distros/debian.txt b/build/pkgs/html5lib/distros/debian.txt
+new file mode 100644
+index 00000000..6d7b8df
+--- /dev/null
++++ b/build/pkgs/html5lib/distros/debian.txt
+@@ -0,0 +1 @@
++python3-html5lib
+diff --git a/build/pkgs/idna/distros/debian.txt b/build/pkgs/idna/distros/debian.txt
+new file mode 100644
+index 00000000..de48e70
+--- /dev/null
++++ b/build/pkgs/idna/distros/debian.txt
+@@ -0,0 +1 @@
++python3-idna
+diff --git a/build/pkgs/jinja2/distros/debian.txt b/build/pkgs/jinja2/distros/debian.txt
+new file mode 100644
+index 00000000..f2db865
+--- /dev/null
++++ b/build/pkgs/jinja2/distros/debian.txt
+@@ -0,0 +1 @@
++python3-jinja2
+diff --git a/build/pkgs/matplotlib/distros/debian.txt b/build/pkgs/matplotlib/distros/debian.txt
+new file mode 100644
+index 00000000..1374329
+--- /dev/null
++++ b/build/pkgs/matplotlib/distros/debian.txt
+@@ -0,0 +1 @@
++python3-matplotlib
+diff --git a/build/pkgs/mpmath/distros/debian.txt b/build/pkgs/mpmath/distros/debian.txt
+new file mode 100644
+index 00000000..fbc82a9
+--- /dev/null
++++ b/build/pkgs/mpmath/distros/debian.txt
+@@ -0,0 +1 @@
++python3-mpmath
+diff --git a/build/pkgs/networkx/distros/debian.txt b/build/pkgs/networkx/distros/debian.txt
+new file mode 100644
+index 00000000..6779066
+--- /dev/null
++++ b/build/pkgs/networkx/distros/debian.txt
+@@ -0,0 +1 @@
++python3-networkx
+diff --git a/build/pkgs/numpy/distros/debian.txt b/build/pkgs/numpy/distros/debian.txt
+new file mode 100644
+index 00000000..79d5c5a
+--- /dev/null
++++ b/build/pkgs/numpy/distros/debian.txt
+@@ -0,0 +1 @@
++python3-numpy
+diff --git a/build/pkgs/packaging/distros/debian.txt b/build/pkgs/packaging/distros/debian.txt
+new file mode 100644
+index 00000000..8f1c0ff
+--- /dev/null
++++ b/build/pkgs/packaging/distros/debian.txt
+@@ -0,0 +1 @@
++python3-packaging
+diff --git a/build/pkgs/pandocfilters/distros/debian.txt b/build/pkgs/pandocfilters/distros/debian.txt
+new file mode 100644
+index 00000000..d0d4c24
+--- /dev/null
++++ b/build/pkgs/pandocfilters/distros/debian.txt
+@@ -0,0 +1 @@
++python3-pandocfilters
+diff --git a/build/pkgs/pickleshare/distros/debian.txt b/build/pkgs/pickleshare/distros/debian.txt
+new file mode 100644
+index 00000000..a00907d
+--- /dev/null
++++ b/build/pkgs/pickleshare/distros/debian.txt
+@@ -0,0 +1 @@
++python3-pickleshare
+diff --git a/build/pkgs/pillow/distros/debian.txt b/build/pkgs/pillow/distros/debian.txt
+new file mode 100644
+index 00000000..3319fcd
+--- /dev/null
++++ b/build/pkgs/pillow/distros/debian.txt
+@@ -0,0 +1 @@
++python3-pillow
+diff --git a/build/pkgs/pluggy/distros/debian.txt b/build/pkgs/pluggy/distros/debian.txt
+new file mode 100644
+index 00000000..43a3acf
+--- /dev/null
++++ b/build/pkgs/pluggy/distros/debian.txt
+@@ -0,0 +1 @@
++python3-pluggy
+diff --git a/build/pkgs/py/distros/debian.txt b/build/pkgs/py/distros/debian.txt
+new file mode 100644
+index 00000000..81fefe6
+--- /dev/null
++++ b/build/pkgs/py/distros/debian.txt
+@@ -0,0 +1 @@
++python3-py
+diff --git a/build/pkgs/pygments/distros/debian.txt b/build/pkgs/pygments/distros/debian.txt
+new file mode 100644
+index 00000000..3ab3792
+--- /dev/null
++++ b/build/pkgs/pygments/distros/debian.txt
+@@ -0,0 +1 @@
++python3-pygments
+diff --git a/build/pkgs/pytz/distros/debian.txt b/build/pkgs/pytz/distros/debian.txt
+new file mode 100644
+index 00000000..db20908
+--- /dev/null
++++ b/build/pkgs/pytz/distros/debian.txt
+@@ -0,0 +1 @@
++python3-tz
+diff --git a/build/pkgs/requests/distros/debian.txt b/build/pkgs/requests/distros/debian.txt
+new file mode 100644
+index 00000000..43147b2
+--- /dev/null
++++ b/build/pkgs/requests/distros/debian.txt
+@@ -0,0 +1 @@
++python3-requests
+diff --git a/build/pkgs/scipy/distros/debian.txt b/build/pkgs/scipy/distros/debian.txt
+new file mode 100644
+index 00000000..12b3666
+--- /dev/null
++++ b/build/pkgs/scipy/distros/debian.txt
+@@ -0,0 +1 @@
++python3-scipy
+diff --git a/build/pkgs/setuptools/distros/debian.txt b/build/pkgs/setuptools/distros/debian.txt
+new file mode 100644
+index 00000000..1c0901c
+--- /dev/null
++++ b/build/pkgs/setuptools/distros/debian.txt
+@@ -0,0 +1 @@
++python3-setuptools
+diff --git a/build/pkgs/six/distros/debian.txt b/build/pkgs/six/distros/debian.txt
+new file mode 100644
+index 00000000..68ff859
+--- /dev/null
++++ b/build/pkgs/six/distros/debian.txt
+@@ -0,0 +1 @@
++python3-six
+diff --git a/build/pkgs/sympy/distros/debian.txt b/build/pkgs/sympy/distros/debian.txt
+new file mode 100644
+index 00000000..db423c8
+--- /dev/null
++++ b/build/pkgs/sympy/distros/debian.txt
+@@ -0,0 +1 @@
++python3-sympy
+diff --git a/build/pkgs/texttable/distros/debian.txt b/build/pkgs/texttable/distros/debian.txt
+new file mode 100644
+index 00000000..8f8e7e2
+--- /dev/null
++++ b/build/pkgs/texttable/distros/debian.txt
+@@ -0,0 +1 @@
++python3-texttable
+diff --git a/build/pkgs/toml/distros/debian.txt b/build/pkgs/toml/distros/debian.txt
+new file mode 100644
+index 00000000..543e89d
+--- /dev/null
++++ b/build/pkgs/toml/distros/debian.txt
+@@ -0,0 +1 @@
++python3-toml
+diff --git a/build/pkgs/webencodings/distros/debian.txt b/build/pkgs/webencodings/distros/debian.txt
+new file mode 100644
+index 00000000..ac30c2f
+--- /dev/null
++++ b/build/pkgs/webencodings/distros/debian.txt
+@@ -0,0 +1 @@
++python3-webencodings
+diff --git a/build/pkgs/wheel/distros/debian.txt b/build/pkgs/wheel/distros/debian.txt
+new file mode 100644
+index 00000000..3c066725
+--- /dev/null
++++ b/build/pkgs/wheel/distros/debian.txt
+@@ -0,0 +1 @@
++python3-wheel
+-- 
+cgit v1.0-1-gd88e
+
+
+From 93bf30d7de292551c3050e2dd74651d69ba4bd46 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 18 Oct 2021 07:50:34 -0400
+Subject: Trac #29665: add more documentation for SAGE_PYTHON_PACKAGE_CHECK().
+
+An earlier commit allows SAGE_PYTHON_PACKAGE_CHECK(package) to tweak the
+value of sage_use_system_$package if --enable-system-site-packages was
+not used. This essentially changes the default --with-system-$package=yes
+to "no" in that case. Here we update the documentation to reflect it.
+---
+ m4/sage_python_package_check.m4 | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/m4/sage_python_package_check.m4 b/m4/sage_python_package_check.m4
+index 7ee82a7..95eefd0 100644
+--- a/m4/sage_python_package_check.m4
++++ b/m4/sage_python_package_check.m4
+@@ -34,6 +34,10 @@
+ #   ensure that the ./configure- and run-time views of the system
+ #   are as similar as possible.
+ #
++#   To avoid suggesting these system packages to users who have not
++#   set --enable-system-site-packages, this macro also changes the
++#   default for --with-system-foo from "yes" to "no" in that case.
++#
+ 
+ AC_DEFUN([SAGE_PYTHON_PACKAGE_CHECK], [
+   AS_IF([test "${enable_system_site_packages}" = "yes"], [
+-- 
+cgit v1.0-1-gd88e
+
+
+From d771e49d57ecdf3622434bc09cbfb87ad3bb7744 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 18 Oct 2021 07:42:46 -0400
+Subject: Trac #29665: improve SAGE_PYTHON_PACKAGE_CHECK() failure message.
+
+When --enable-system-site-packages is off, SAGE_PYTHON_PACKAGE_CHECK()
+will always install the corresponding SPKG. We improve the ./configure
+output in that case to make it clear that the decision was based on
+the value of --enable-system-site-packages and not the "real" check.
+---
+ m4/sage_python_package_check.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/m4/sage_python_package_check.m4 b/m4/sage_python_package_check.m4
+index 95eefd0..5f0f084 100644
+--- a/m4/sage_python_package_check.m4
++++ b/m4/sage_python_package_check.m4
+@@ -40,7 +40,9 @@
+ #
+ 
+ AC_DEFUN([SAGE_PYTHON_PACKAGE_CHECK], [
++  AC_MSG_CHECKING([if --enable-system-site-packages was used])
+   AS_IF([test "${enable_system_site_packages}" = "yes"], [
++    AC_MSG_RESULT(yes)
+     AC_REQUIRE([SAGE_SPKG_CONFIGURE_PYTHON3])
+ 
+     dnl We run this check inside a python venv, because that's ultimately
+@@ -94,6 +96,7 @@ AC_DEFUN([SAGE_PYTHON_PACKAGE_CHECK], [
+     AS_IF([test -d config.venv], [rm -rf config.venv])
+   ], [
+     dnl System site packages are disabled.
++    AC_MSG_RESULT(no; skipping check)
+     sage_spkg_install_$1=yes
+ 
+     dnl We have to retroactively hack the --with-system-foo={no,yes,force}
+-- 
+cgit v1.0-1-gd88e
+
+
+From 5bb43c1b78a1deb3364f235305937c2f823e5e18 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sun, 24 Oct 2021 20:29:25 -0400
+Subject: Trac #29665: use sage-venv in SAGE_PYTHON_PACKAGE_CHECK().
+
+For consistency with the rest of the build system, we now use the
+build/bin/sage-venv script to create the venv in this autoconf macro
+rather than invoking $PYTHON_FOR_VENV with "-m venv" directly.
+---
+ m4/sage_python_package_check.m4 | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/m4/sage_python_package_check.m4 b/m4/sage_python_package_check.m4
+index 5f0f084..5547b35 100644
+--- a/m4/sage_python_package_check.m4
++++ b/m4/sage_python_package_check.m4
+@@ -50,11 +50,11 @@ AC_DEFUN([SAGE_PYTHON_PACKAGE_CHECK], [
+     AC_MSG_CHECKING([if we can create a python venv in config.venv])
+ 
+     dnl Use --clear because ./configure typically clobbers its output files.
+-    AS_IF(["${PYTHON_FOR_VENV}" -m venv --system-site-packages dnl
+-                                        --clear                dnl
+-                                        --without-pip          dnl
+-                                        config.venv            dnl
+-                                        2>&AS_MESSAGE_LOG_FD], [
++    AS_IF(["${PYTHON_FOR_VENV}" build/bin/sage-venv      dnl
++                                  --system-site-packages dnl
++                                  --clear                dnl
++                                  config.venv            dnl
++                                  2>&AS_MESSAGE_LOG_FD], [
+       AC_MSG_RESULT(yes)
+       dnl strip all comments from install-requires.txt; this should leave
+       dnl only a single line containing the version specification for this
+-- 
+cgit v1.0-1-gd88e
+
+
+From c78363d6326addff16ca5abac897949a6be72bf4 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 18:10:30 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for urllib3.
+
+---
+ build/pkgs/urllib3/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/urllib3/spkg-configure.m4
+
+diff --git a/build/pkgs/urllib3/spkg-configure.m4 b/build/pkgs/urllib3/spkg-configure.m4
+new file mode 100644
+index 00000000..d7ef3e1
+--- /dev/null
++++ b/build/pkgs/urllib3/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([urllib3], [SAGE_PYTHON_PACKAGE_CHECK([urllib3])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From f416d5abcae495ea8301fad024b279ea9e997b29 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 18:15:18 -0400
+Subject: Trac #29665: add Gentoo package information for urllib3.
+
+---
+ build/pkgs/urllib3/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/urllib3/distros/gentoo.txt
+
+diff --git a/build/pkgs/urllib3/distros/gentoo.txt b/build/pkgs/urllib3/distros/gentoo.txt
+new file mode 100644
+index 00000000..172a535
+--- /dev/null
++++ b/build/pkgs/urllib3/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/urllib3
+-- 
+cgit v1.0-1-gd88e
+
+
+From 852068b992bf7959500c650f54cb92e5b68d7ef8 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 18:15:58 -0400
+Subject: Trac #29665: add Gentoo package information for nbformat.
+
+---
+ build/pkgs/nbformat/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/nbformat/distros/gentoo.txt
+
+diff --git a/build/pkgs/nbformat/distros/gentoo.txt b/build/pkgs/nbformat/distros/gentoo.txt
+new file mode 100644
+index 00000000..006b1f2
+--- /dev/null
++++ b/build/pkgs/nbformat/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/nbformat
+-- 
+cgit v1.0-1-gd88e
+
+
+From 66179fd28fcc92ee840dcd87bb4db25cea968d66 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 18:34:16 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for nbformat.
+
+---
+ build/pkgs/nbformat/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/nbformat/spkg-configure.m4
+
+diff --git a/build/pkgs/nbformat/spkg-configure.m4 b/build/pkgs/nbformat/spkg-configure.m4
+new file mode 100644
+index 00000000..5a7f8c4
+--- /dev/null
++++ b/build/pkgs/nbformat/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([nbformat], [SAGE_PYTHON_PACKAGE_CHECK([nbformat])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 874005e81ed20f27a5f895030dcdbdfc5f73ad80 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 18:47:01 -0400
+Subject: Trac #29665: add Gentoo package information for zipp.
+
+---
+ build/pkgs/zipp/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/zipp/distros/gentoo.txt
+
+diff --git a/build/pkgs/zipp/distros/gentoo.txt b/build/pkgs/zipp/distros/gentoo.txt
+new file mode 100644
+index 00000000..7f59450
+--- /dev/null
++++ b/build/pkgs/zipp/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/zipp
+-- 
+cgit v1.0-1-gd88e
+
+
+From 0cc2a7355b5554c1fb79c742ebf02eff54465b3e Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 18:47:35 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for zipp.
+
+---
+ build/pkgs/zipp/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/zipp/spkg-configure.m4
+
+diff --git a/build/pkgs/zipp/spkg-configure.m4 b/build/pkgs/zipp/spkg-configure.m4
+new file mode 100644
+index 00000000..0fe3a9c
+--- /dev/null
++++ b/build/pkgs/zipp/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([zipp], [SAGE_PYTHON_PACKAGE_CHECK([zipp])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 6073ad8e56c21fc862749bbd84a56d543fb9458c Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 18:48:37 -0400
+Subject: Trac #29665: add Gentoo package information for wcwidth.
+
+---
+ build/pkgs/wcwidth/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/wcwidth/distros/gentoo.txt
+
+diff --git a/build/pkgs/wcwidth/distros/gentoo.txt b/build/pkgs/wcwidth/distros/gentoo.txt
+new file mode 100644
+index 00000000..edeb80b
+--- /dev/null
++++ b/build/pkgs/wcwidth/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/wcwidth
+-- 
+cgit v1.0-1-gd88e
+
+
+From 9793d6172c64d61a015fbe61bd45863759124fad Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 18:51:10 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for wcwidth.
+
+---
+ build/pkgs/wcwidth/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/wcwidth/spkg-configure.m4
+
+diff --git a/build/pkgs/wcwidth/spkg-configure.m4 b/build/pkgs/wcwidth/spkg-configure.m4
+new file mode 100644
+index 00000000..5bde15a
+--- /dev/null
++++ b/build/pkgs/wcwidth/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([wcwidth], [SAGE_PYTHON_PACKAGE_CHECK([wcwidth])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 20232f370a43c146ca4e696c72a2cbcc498db060 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 18:52:36 -0400
+Subject: Trac #29665: add Gentoo package information for testpath.
+
+---
+ build/pkgs/testpath/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/testpath/distros/gentoo.txt
+
+diff --git a/build/pkgs/testpath/distros/gentoo.txt b/build/pkgs/testpath/distros/gentoo.txt
+new file mode 100644
+index 00000000..efa10a0
+--- /dev/null
++++ b/build/pkgs/testpath/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/testpath
+-- 
+cgit v1.0-1-gd88e
+
+
+From 1b0785b2aad8844e74345fe950baf097e2b43d24 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 18:55:22 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for testpath.
+
+---
+ build/pkgs/testpath/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/testpath/spkg-configure.m4
+
+diff --git a/build/pkgs/testpath/spkg-configure.m4 b/build/pkgs/testpath/spkg-configure.m4
+new file mode 100644
+index 00000000..d8fc2a7
+--- /dev/null
++++ b/build/pkgs/testpath/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([testpath], [SAGE_PYTHON_PACKAGE_CHECK([testpath])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 10fc3829ecd956d732b1b069fdfe81f0d6d5cdc2 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 18:56:06 -0400
+Subject: Trac #29665: add Gentoo package information for jedi.
+
+---
+ build/pkgs/jedi/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/jedi/distros/gentoo.txt
+
+diff --git a/build/pkgs/jedi/distros/gentoo.txt b/build/pkgs/jedi/distros/gentoo.txt
+new file mode 100644
+index 00000000..6c85a46
+--- /dev/null
++++ b/build/pkgs/jedi/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/jedi
+-- 
+cgit v1.0-1-gd88e
+
+
+From a75824d74c281c7639028ca01dabeed266f56998 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 19:06:37 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for jedi.
+
+---
+ build/pkgs/jedi/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/jedi/spkg-configure.m4
+
+diff --git a/build/pkgs/jedi/spkg-configure.m4 b/build/pkgs/jedi/spkg-configure.m4
+new file mode 100644
+index 00000000..a37dbcc
+--- /dev/null
++++ b/build/pkgs/jedi/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([jedi], [SAGE_PYTHON_PACKAGE_CHECK([jedi])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 17af01373d43f6acbbdbc23e073e372d3fdadf8b Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 19:07:47 -0400
+Subject: Trac #29665: add Gentoo package information for tomli.
+
+---
+ build/pkgs/tomli/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/tomli/distros/gentoo.txt
+
+diff --git a/build/pkgs/tomli/distros/gentoo.txt b/build/pkgs/tomli/distros/gentoo.txt
+new file mode 100644
+index 00000000..0458e25
+--- /dev/null
++++ b/build/pkgs/tomli/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/tomli
+-- 
+cgit v1.0-1-gd88e
+
+
+From 0d3b5994ae612be11992467c4a3f1a74b81400fe Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 19:08:12 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for tomli.
+
+---
+ build/pkgs/tomli/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/tomli/spkg-configure.m4
+
+diff --git a/build/pkgs/tomli/spkg-configure.m4 b/build/pkgs/tomli/spkg-configure.m4
+new file mode 100644
+index 00000000..95a8b8b
+--- /dev/null
++++ b/build/pkgs/tomli/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([tomli], [SAGE_PYTHON_PACKAGE_CHECK([tomli])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From dce1c515781b0eeb8eb9c2bc7aba581560c1fac1 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 19:09:22 -0400
+Subject: Trac #29665: add Gentoo package information for defusedxml.
+
+---
+ build/pkgs/defusedxml/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/defusedxml/distros/gentoo.txt
+
+diff --git a/build/pkgs/defusedxml/distros/gentoo.txt b/build/pkgs/defusedxml/distros/gentoo.txt
+new file mode 100644
+index 00000000..2804214
+--- /dev/null
++++ b/build/pkgs/defusedxml/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/defusedxml
+-- 
+cgit v1.0-1-gd88e
+
+
+From 02e1e1cd7f8bdae3ca5b7d35ce70af28a44e9b7c Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 19:11:14 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for defusedxml.
+
+---
+ build/pkgs/defusedxml/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/defusedxml/spkg-configure.m4
+
+diff --git a/build/pkgs/defusedxml/spkg-configure.m4 b/build/pkgs/defusedxml/spkg-configure.m4
+new file mode 100644
+index 00000000..e02f345
+--- /dev/null
++++ b/build/pkgs/defusedxml/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([defusedxml], [SAGE_PYTHON_PACKAGE_CHECK([defusedxml])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From e0ba4ebb5cfc637b5d26b85de9f34e0a160d2b9c Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 19:12:22 -0400
+Subject: Trac #29665: add Gentoo package information for ipywidgets.
+
+---
+ build/pkgs/ipywidgets/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/ipywidgets/distros/gentoo.txt
+
+diff --git a/build/pkgs/ipywidgets/distros/gentoo.txt b/build/pkgs/ipywidgets/distros/gentoo.txt
+new file mode 100644
+index 00000000..7c76967
+--- /dev/null
++++ b/build/pkgs/ipywidgets/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/ipywidgets
+-- 
+cgit v1.0-1-gd88e
+
+
+From 49df7e7d93c7a31b7c46d5d224a35fd313a29a32 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 19:15:53 -0400
+Subject: Trac #29665: add Gentoo package information for simplegeneric.
+
+---
+ build/pkgs/simplegeneric/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/simplegeneric/distros/gentoo.txt
+
+diff --git a/build/pkgs/simplegeneric/distros/gentoo.txt b/build/pkgs/simplegeneric/distros/gentoo.txt
+new file mode 100644
+index 00000000..a86e90d
+--- /dev/null
++++ b/build/pkgs/simplegeneric/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/simplegeneric
+-- 
+cgit v1.0-1-gd88e
+
+
+From 2a893635d5804749e6fec7ed7289c921ecb5300a Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 19:16:33 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for simplegeneric.
+
+---
+ build/pkgs/simplegeneric/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/simplegeneric/spkg-configure.m4
+
+diff --git a/build/pkgs/simplegeneric/spkg-configure.m4 b/build/pkgs/simplegeneric/spkg-configure.m4
+new file mode 100644
+index 00000000..13715ab
+--- /dev/null
++++ b/build/pkgs/simplegeneric/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([simplegeneric], [SAGE_PYTHON_PACKAGE_CHECK([simplegeneric])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From a8fe7ecd6e3163e7d01261e5497ac452a8cc95ab Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 19:17:18 -0400
+Subject: Trac #29665: add Gentoo package information for imagesize.
+
+---
+ build/pkgs/imagesize/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/imagesize/distros/gentoo.txt
+
+diff --git a/build/pkgs/imagesize/distros/gentoo.txt b/build/pkgs/imagesize/distros/gentoo.txt
+new file mode 100644
+index 00000000..54350ba
+--- /dev/null
++++ b/build/pkgs/imagesize/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/imagesize
+-- 
+cgit v1.0-1-gd88e
+
+
+From 2ad837c5dd1fca0f50ce6d5042a9344210a54f84 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 19:17:48 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for imagesize.
+
+---
+ build/pkgs/imagesize/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/imagesize/spkg-configure.m4
+
+diff --git a/build/pkgs/imagesize/spkg-configure.m4 b/build/pkgs/imagesize/spkg-configure.m4
+new file mode 100644
+index 00000000..20210ef
+--- /dev/null
++++ b/build/pkgs/imagesize/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([imagesize], [SAGE_PYTHON_PACKAGE_CHECK([imagesize])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From bf47415b5bfca2d7bf24e20de35662bf331623b9 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 19:18:49 -0400
+Subject: Trac #29665: add Gentoo package information for mistune.
+
+---
+ build/pkgs/mistune/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/mistune/distros/gentoo.txt
+
+diff --git a/build/pkgs/mistune/distros/gentoo.txt b/build/pkgs/mistune/distros/gentoo.txt
+new file mode 100644
+index 00000000..56f0a4e
+--- /dev/null
++++ b/build/pkgs/mistune/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/mistune
+-- 
+cgit v1.0-1-gd88e
+
+
+From 6898a74fd0c65a40c5220ba68b4062ac6fe060c6 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 19:21:30 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for mistune.
+
+---
+ build/pkgs/mistune/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/mistune/spkg-configure.m4
+
+diff --git a/build/pkgs/mistune/spkg-configure.m4 b/build/pkgs/mistune/spkg-configure.m4
+new file mode 100644
+index 00000000..972f33d
+--- /dev/null
++++ b/build/pkgs/mistune/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([mistune], [SAGE_PYTHON_PACKAGE_CHECK([mistune])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 62735e4ccf2031cd39eb5e04b03bdfd97005d808 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 19:22:48 -0400
+Subject: Trac #29665: add Gentoo package information for backcall.
+
+---
+ build/pkgs/backcall/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/backcall/distros/gentoo.txt
+
+diff --git a/build/pkgs/backcall/distros/gentoo.txt b/build/pkgs/backcall/distros/gentoo.txt
+new file mode 100644
+index 00000000..266a222
+--- /dev/null
++++ b/build/pkgs/backcall/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/backcall
+-- 
+cgit v1.0-1-gd88e
+
+
+From 9ef3ea42d4a33c7cdb623fa5417ae300cf323183 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 19:25:10 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for backcall.
+
+---
+ build/pkgs/backcall/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/backcall/spkg-configure.m4
+
+diff --git a/build/pkgs/backcall/spkg-configure.m4 b/build/pkgs/backcall/spkg-configure.m4
+new file mode 100644
+index 00000000..d6b11c4
+--- /dev/null
++++ b/build/pkgs/backcall/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([backcall], [SAGE_PYTHON_PACKAGE_CHECK([backcall])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 1b3ea2a3c40fea0fb58435f5e5304368ea58dff8 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 19:25:58 -0400
+Subject: Trac #29665: add Gentoo package information for parso.
+
+---
+ build/pkgs/parso/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/parso/distros/gentoo.txt
+
+diff --git a/build/pkgs/parso/distros/gentoo.txt b/build/pkgs/parso/distros/gentoo.txt
+new file mode 100644
+index 00000000..f9ce4c7
+--- /dev/null
++++ b/build/pkgs/parso/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/parso
+-- 
+cgit v1.0-1-gd88e
+
+
+From 963a3a2c563ec71a1f5be2395722d0e824cb0b11 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 19:26:22 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for parso.
+
+---
+ build/pkgs/parso/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/parso/spkg-configure.m4
+
+diff --git a/build/pkgs/parso/spkg-configure.m4 b/build/pkgs/parso/spkg-configure.m4
+new file mode 100644
+index 00000000..1ca6f1b
+--- /dev/null
++++ b/build/pkgs/parso/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([parso], [SAGE_PYTHON_PACKAGE_CHECK([parso])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 943053dfc474b6549bcc7d6ef2971ea43588b35c Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 19:27:00 -0400
+Subject: Trac #29665: add Gentoo package information for pyparsing.
+
+---
+ build/pkgs/pyparsing/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/pyparsing/distros/gentoo.txt
+
+diff --git a/build/pkgs/pyparsing/distros/gentoo.txt b/build/pkgs/pyparsing/distros/gentoo.txt
+new file mode 100644
+index 00000000..ef0419f
+--- /dev/null
++++ b/build/pkgs/pyparsing/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/pyparsing
+-- 
+cgit v1.0-1-gd88e
+
+
+From bd682eaa2ac41dd84e7a52e2b0c5442fc8fd8919 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 3 Nov 2021 19:27:30 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for pyparsing.
+
+---
+ build/pkgs/pyparsing/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/pyparsing/spkg-configure.m4
+
+diff --git a/build/pkgs/pyparsing/spkg-configure.m4 b/build/pkgs/pyparsing/spkg-configure.m4
+new file mode 100644
+index 00000000..d2b4c00
+--- /dev/null
++++ b/build/pkgs/pyparsing/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([pyparsing], [SAGE_PYTHON_PACKAGE_CHECK([pyparsing])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 74f36a9c0ec7c63b7e6c40066e42f4b15c2f978e Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:17:42 -0400
+Subject: Trac #29665: add Gentoo package information for debugpy.
+
+---
+ build/pkgs/debugpy/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/debugpy/distros/gentoo.txt
+
+diff --git a/build/pkgs/debugpy/distros/gentoo.txt b/build/pkgs/debugpy/distros/gentoo.txt
+new file mode 100644
+index 00000000..8b797ce
+--- /dev/null
++++ b/build/pkgs/debugpy/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/debugpy
+-- 
+cgit v1.0-1-gd88e
+
+
+From be072fa87ac5c373d9dc9b54c0bd68734d5709bc Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:21:17 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for debugpy.
+
+---
+ build/pkgs/debugpy/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/debugpy/spkg-configure.m4
+
+diff --git a/build/pkgs/debugpy/spkg-configure.m4 b/build/pkgs/debugpy/spkg-configure.m4
+new file mode 100644
+index 00000000..db605ff
+--- /dev/null
++++ b/build/pkgs/debugpy/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([debugpy], [SAGE_PYTHON_PACKAGE_CHECK([debugpy])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 6f777ce2f2e14b94e91c8b7bbac82f9017460aba Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:23:56 -0400
+Subject: Trac #29665: add Gentoo package information for tzlocal.
+
+---
+ build/pkgs/tzlocal/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/tzlocal/distros/gentoo.txt
+
+diff --git a/build/pkgs/tzlocal/distros/gentoo.txt b/build/pkgs/tzlocal/distros/gentoo.txt
+new file mode 100644
+index 00000000..2018442
+--- /dev/null
++++ b/build/pkgs/tzlocal/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/tzlocal
+-- 
+cgit v1.0-1-gd88e
+
+
+From 3bd078fc15ae13982249452711baafae91038191 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:24:51 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for tzlocal.
+
+---
+ build/pkgs/tzlocal/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/tzlocal/spkg-configure.m4
+
+diff --git a/build/pkgs/tzlocal/spkg-configure.m4 b/build/pkgs/tzlocal/spkg-configure.m4
+new file mode 100644
+index 00000000..e020b28
+--- /dev/null
++++ b/build/pkgs/tzlocal/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([tzlocal], [SAGE_PYTHON_PACKAGE_CHECK([tzlocal])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 91b0882fc62214923da9ee7b6dccb05d8a1d11d1 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:26:13 -0400
+Subject: Trac #29665: add Gentoo package information for pycparser.
+
+---
+ build/pkgs/pycparser/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/pycparser/distros/gentoo.txt
+
+diff --git a/build/pkgs/pycparser/distros/gentoo.txt b/build/pkgs/pycparser/distros/gentoo.txt
+new file mode 100644
+index 00000000..5e87307
+--- /dev/null
++++ b/build/pkgs/pycparser/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/pycparser
+-- 
+cgit v1.0-1-gd88e
+
+
+From beabde92fe6e057faf516fe82d27f1e903e55ce6 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:27:27 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for pycparser.
+
+---
+ build/pkgs/pycparser/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/pycparser/spkg-configure.m4
+
+diff --git a/build/pkgs/pycparser/spkg-configure.m4 b/build/pkgs/pycparser/spkg-configure.m4
+new file mode 100644
+index 00000000..4b9b900
+--- /dev/null
++++ b/build/pkgs/pycparser/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([pycparser], [SAGE_PYTHON_PACKAGE_CHECK([pycparser])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 86c2788dc7fd1169314e9598c91fa81045553677 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:29:36 -0400
+Subject: Trac #29665: add Gentoo package information for cycler.
+
+---
+ build/pkgs/cycler/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/cycler/distros/gentoo.txt
+
+diff --git a/build/pkgs/cycler/distros/gentoo.txt b/build/pkgs/cycler/distros/gentoo.txt
+new file mode 100644
+index 00000000..4b21543
+--- /dev/null
++++ b/build/pkgs/cycler/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/cycler
+-- 
+cgit v1.0-1-gd88e
+
+
+From 67c5a944101ddf329f0a61c61d4e784f58a5c5b0 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:30:27 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for cycler.
+
+---
+ build/pkgs/cycler/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/cycler/spkg-configure.m4
+
+diff --git a/build/pkgs/cycler/spkg-configure.m4 b/build/pkgs/cycler/spkg-configure.m4
+new file mode 100644
+index 00000000..239571a
+--- /dev/null
++++ b/build/pkgs/cycler/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([cycler], [SAGE_PYTHON_PACKAGE_CHECK([cycler])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From ef6d490251abfa41f7a0910274700a8a6a65f629 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:31:19 -0400
+Subject: Trac #29665: add Gentoo package information for traitlets.
+
+---
+ build/pkgs/traitlets/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/traitlets/distros/gentoo.txt
+
+diff --git a/build/pkgs/traitlets/distros/gentoo.txt b/build/pkgs/traitlets/distros/gentoo.txt
+new file mode 100644
+index 00000000..46bfaab
+--- /dev/null
++++ b/build/pkgs/traitlets/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/traitlets
+-- 
+cgit v1.0-1-gd88e
+
+
+From 1f922b458d34088d9f6773312209e69f19ee45dc Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:31:50 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for traitlets.
+
+---
+ build/pkgs/traitlets/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/traitlets/spkg-configure.m4
+
+diff --git a/build/pkgs/traitlets/spkg-configure.m4 b/build/pkgs/traitlets/spkg-configure.m4
+new file mode 100644
+index 00000000..df2382b
+--- /dev/null
++++ b/build/pkgs/traitlets/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([traitlets], [SAGE_PYTHON_PACKAGE_CHECK([traitlets])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 95b89a9ced0acb6d971a27fa63b97ea58a11f4e1 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:33:35 -0400
+Subject: Trac #29665: add Gentoo package information for argcomplete.
+
+---
+ build/pkgs/argcomplete/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/argcomplete/distros/gentoo.txt
+
+diff --git a/build/pkgs/argcomplete/distros/gentoo.txt b/build/pkgs/argcomplete/distros/gentoo.txt
+new file mode 100644
+index 00000000..b150949
+--- /dev/null
++++ b/build/pkgs/argcomplete/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/argcomplete
+-- 
+cgit v1.0-1-gd88e
+
+
+From b4cd8ef384e6e5bae0de0f3c113fb5f9e6e1a71e Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:34:14 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for argcomplete.
+
+---
+ build/pkgs/argcomplete/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/argcomplete/spkg-configure.m4
+
+diff --git a/build/pkgs/argcomplete/spkg-configure.m4 b/build/pkgs/argcomplete/spkg-configure.m4
+new file mode 100644
+index 00000000..cbd7ccf
+--- /dev/null
++++ b/build/pkgs/argcomplete/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([argcomplete], [SAGE_PYTHON_PACKAGE_CHECK([argcomplete])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 4cc610e8331970cc018d7ea87af928fa73a292c1 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:36:21 -0400
+Subject: Trac #29665: add Gentoo package information for ptyprocess.
+
+---
+ build/pkgs/ptyprocess/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/ptyprocess/distros/gentoo.txt
+
+diff --git a/build/pkgs/ptyprocess/distros/gentoo.txt b/build/pkgs/ptyprocess/distros/gentoo.txt
+new file mode 100644
+index 00000000..571a851
+--- /dev/null
++++ b/build/pkgs/ptyprocess/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/ptyprocess
+-- 
+cgit v1.0-1-gd88e
+
+
+From cd15f97221bf5933b07900e4f77cb55401eede26 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:37:02 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for ptyprocess.
+
+---
+ build/pkgs/ptyprocess/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/ptyprocess/spkg-configure.m4
+
+diff --git a/build/pkgs/ptyprocess/spkg-configure.m4 b/build/pkgs/ptyprocess/spkg-configure.m4
+new file mode 100644
+index 00000000..bfacbae
+--- /dev/null
++++ b/build/pkgs/ptyprocess/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([ptyprocess], [SAGE_PYTHON_PACKAGE_CHECK([ptyprocess])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From bb5f45b15f99e4ba28e1b1f6042a0e8ea17f1dfc Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:38:22 -0400
+Subject: Trac #29665: add Gentoo package information for attrs.
+
+---
+ build/pkgs/attrs/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/attrs/distros/gentoo.txt
+
+diff --git a/build/pkgs/attrs/distros/gentoo.txt b/build/pkgs/attrs/distros/gentoo.txt
+new file mode 100644
+index 00000000..3b906fa
+--- /dev/null
++++ b/build/pkgs/attrs/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/attrs
+-- 
+cgit v1.0-1-gd88e
+
+
+From 321707ebf8e9af1e4ac3a5b5b094b4226bb3a7a5 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:38:55 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for attrs.
+
+---
+ build/pkgs/attrs/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/attrs/spkg-configure.m4
+
+diff --git a/build/pkgs/attrs/spkg-configure.m4 b/build/pkgs/attrs/spkg-configure.m4
+new file mode 100644
+index 00000000..ba6a9b7
+--- /dev/null
++++ b/build/pkgs/attrs/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([attrs], [SAGE_PYTHON_PACKAGE_CHECK([attrs])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 69a498a4e8854ecdfc2f1a134104983c0dcb9e32 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:40:09 -0400
+Subject: Trac #29665: add Gentoo package information for send2trash.
+
+---
+ build/pkgs/send2trash/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/send2trash/distros/gentoo.txt
+
+diff --git a/build/pkgs/send2trash/distros/gentoo.txt b/build/pkgs/send2trash/distros/gentoo.txt
+new file mode 100644
+index 00000000..a89b179
+--- /dev/null
++++ b/build/pkgs/send2trash/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/send2trash
+-- 
+cgit v1.0-1-gd88e
+
+
+From 9baed17c84e1bdf5abd17c20766e5cd7dddc5b53 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:41:45 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for send2trash.
+
+---
+ build/pkgs/send2trash/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/send2trash/spkg-configure.m4
+
+diff --git a/build/pkgs/send2trash/spkg-configure.m4 b/build/pkgs/send2trash/spkg-configure.m4
+new file mode 100644
+index 00000000..3bbb727
+--- /dev/null
++++ b/build/pkgs/send2trash/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([send2trash], [SAGE_PYTHON_PACKAGE_CHECK([send2trash])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From b9b552b2a2aaccaeb7c5b25be0b681f107522d09 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:43:27 -0400
+Subject: Trac #29665: add Gentoo package information for pyrsistent.
+
+---
+ build/pkgs/pyrsistent/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/pyrsistent/distros/gentoo.txt
+
+diff --git a/build/pkgs/pyrsistent/distros/gentoo.txt b/build/pkgs/pyrsistent/distros/gentoo.txt
+new file mode 100644
+index 00000000..83439ce
+--- /dev/null
++++ b/build/pkgs/pyrsistent/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/pyrsistent
+-- 
+cgit v1.0-1-gd88e
+
+
+From a17b31fac6104852762f57daa749443147bdf121 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:44:03 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for pyrsistent.
+
+---
+ build/pkgs/pyrsistent/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/pyrsistent/spkg-configure.m4
+
+diff --git a/build/pkgs/pyrsistent/spkg-configure.m4 b/build/pkgs/pyrsistent/spkg-configure.m4
+new file mode 100644
+index 00000000..f7ca75d
+--- /dev/null
++++ b/build/pkgs/pyrsistent/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([pyrsistent], [SAGE_PYTHON_PACKAGE_CHECK([pyrsistent])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 68520decad6d6937918d7a6af65ca5bd476e5d02 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:45:45 -0400
+Subject: Trac #29665: add Gentoo package information for entrypoints.
+
+---
+ build/pkgs/entrypoints/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/entrypoints/distros/gentoo.txt
+
+diff --git a/build/pkgs/entrypoints/distros/gentoo.txt b/build/pkgs/entrypoints/distros/gentoo.txt
+new file mode 100644
+index 00000000..684ddd0
+--- /dev/null
++++ b/build/pkgs/entrypoints/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/entrypoints
+-- 
+cgit v1.0-1-gd88e
+
+
+From 34213eccb642a6bad64d89acaefa83ee702cb483 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:46:24 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for entrypoints.
+
+---
+ build/pkgs/entrypoints/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/entrypoints/spkg-configure.m4
+
+diff --git a/build/pkgs/entrypoints/spkg-configure.m4 b/build/pkgs/entrypoints/spkg-configure.m4
+new file mode 100644
+index 00000000..caed658
+--- /dev/null
++++ b/build/pkgs/entrypoints/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([entrypoints], [SAGE_PYTHON_PACKAGE_CHECK([entrypoints])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 8e985614345da1a58fcdc127a9c0ddd790f9b5d2 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:48:26 -0400
+Subject: Trac #29665: add Gentoo package information for markupsafe.
+
+---
+ build/pkgs/markupsafe/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/markupsafe/distros/gentoo.txt
+
+diff --git a/build/pkgs/markupsafe/distros/gentoo.txt b/build/pkgs/markupsafe/distros/gentoo.txt
+new file mode 100644
+index 00000000..9654e35
+--- /dev/null
++++ b/build/pkgs/markupsafe/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/markupsafe
+-- 
+cgit v1.0-1-gd88e
+
+
+From d370f229ae0988856f2e0d1f6ee2df2c47169106 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 4 Nov 2021 18:48:55 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for markupsafe.
+
+---
+ build/pkgs/markupsafe/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/markupsafe/spkg-configure.m4
+
+diff --git a/build/pkgs/markupsafe/spkg-configure.m4 b/build/pkgs/markupsafe/spkg-configure.m4
+new file mode 100644
+index 00000000..79eb8db
+--- /dev/null
++++ b/build/pkgs/markupsafe/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([markupsafe], [SAGE_PYTHON_PACKAGE_CHECK([markupsafe])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From c49b285ad9e25e6bc81a7e75d461d234fdd3ea68 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 5 Nov 2021 06:30:49 -0400
+Subject: Trac #29665: add Gentoo package information for flit_core.
+
+---
+ build/pkgs/flit_core/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/flit_core/distros/gentoo.txt
+
+diff --git a/build/pkgs/flit_core/distros/gentoo.txt b/build/pkgs/flit_core/distros/gentoo.txt
+new file mode 100644
+index 00000000..fe6bea9
+--- /dev/null
++++ b/build/pkgs/flit_core/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/flit_core
+-- 
+cgit v1.0-1-gd88e
+
+
+From 5b0ce1c4f23cd9fc4316e1eb2b9b4bde394957f3 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 5 Nov 2021 06:32:11 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for flit_core.
+
+---
+ build/pkgs/flit_core/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/flit_core/spkg-configure.m4
+
+diff --git a/build/pkgs/flit_core/spkg-configure.m4 b/build/pkgs/flit_core/spkg-configure.m4
+new file mode 100644
+index 00000000..ee67557
+--- /dev/null
++++ b/build/pkgs/flit_core/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([flit_core], [SAGE_PYTHON_PACKAGE_CHECK([flit_core])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From f006c231a81428b1e1e792f889bf974f90e3c831 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 5 Nov 2021 06:34:06 -0400
+Subject: Trac #29665: add Gentoo package information for nest_asyncio.
+
+---
+ build/pkgs/nest_asyncio/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/nest_asyncio/distros/gentoo.txt
+
+diff --git a/build/pkgs/nest_asyncio/distros/gentoo.txt b/build/pkgs/nest_asyncio/distros/gentoo.txt
+new file mode 100644
+index 00000000..ab742d2
+--- /dev/null
++++ b/build/pkgs/nest_asyncio/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/nest_asyncio
+-- 
+cgit v1.0-1-gd88e
+
+
+From 4a58d0a96a84475e765a01a64f5f44c48a317e0b Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 5 Nov 2021 06:34:43 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for nest_asyncio.
+
+---
+ build/pkgs/nest_asyncio/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/nest_asyncio/spkg-configure.m4
+
+diff --git a/build/pkgs/nest_asyncio/spkg-configure.m4 b/build/pkgs/nest_asyncio/spkg-configure.m4
+new file mode 100644
+index 00000000..4d81527
+--- /dev/null
++++ b/build/pkgs/nest_asyncio/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([nest_asyncio], [SAGE_PYTHON_PACKAGE_CHECK([nest_asyncio])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From e50af937777ea778908bc09a7a79db3dd80fdf25 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 5 Nov 2021 06:37:02 -0400
+Subject: Trac #29665: add Gentoo package information for ipython_genutils.
+
+---
+ build/pkgs/ipython_genutils/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/ipython_genutils/distros/gentoo.txt
+
+diff --git a/build/pkgs/ipython_genutils/distros/gentoo.txt b/build/pkgs/ipython_genutils/distros/gentoo.txt
+new file mode 100644
+index 00000000..01bc49d
+--- /dev/null
++++ b/build/pkgs/ipython_genutils/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/ipython_genutils
+-- 
+cgit v1.0-1-gd88e
+
+
+From ec3c0ce9db2ba13c1a49d1bcfb7a4b249cb7ae83 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 5 Nov 2021 06:39:20 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for ipython_genutils.
+
+---
+ build/pkgs/ipython_genutils/spkg-configure.m4 | 4 ++++
+ 1 file changed, 4 insertions(+)
+ create mode 100644 build/pkgs/ipython_genutils/spkg-configure.m4
+
+diff --git a/build/pkgs/ipython_genutils/spkg-configure.m4 b/build/pkgs/ipython_genutils/spkg-configure.m4
+new file mode 100644
+index 00000000..b0ba86a
+--- /dev/null
++++ b/build/pkgs/ipython_genutils/spkg-configure.m4
+@@ -0,0 +1,4 @@
++SAGE_SPKG_CONFIGURE(
++  [ipython_genutils],
++  [SAGE_PYTHON_PACKAGE_CHECK([ipython_genutils])]
++)
+-- 
+cgit v1.0-1-gd88e
+
+
+From 5c9e2e265115e5f10d4b459a475467e30b4bddde Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 5 Nov 2021 06:40:03 -0400
+Subject: Trac #29665: add Gentoo package information for ipython.
+
+---
+ build/pkgs/ipython/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/ipython/distros/gentoo.txt
+
+diff --git a/build/pkgs/ipython/distros/gentoo.txt b/build/pkgs/ipython/distros/gentoo.txt
+new file mode 100644
+index 00000000..8b76f18
+--- /dev/null
++++ b/build/pkgs/ipython/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/ipython
+-- 
+cgit v1.0-1-gd88e
+
+
+From 621e707ddd040a902d7dddf0bed1de2b54ab22f2 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 5 Nov 2021 07:37:56 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for ipython.
+
+---
+ build/pkgs/ipython/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/ipython/spkg-configure.m4
+
+diff --git a/build/pkgs/ipython/spkg-configure.m4 b/build/pkgs/ipython/spkg-configure.m4
+new file mode 100644
+index 00000000..02ab89f
+--- /dev/null
++++ b/build/pkgs/ipython/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([ipython], [SAGE_PYTHON_PACKAGE_CHECK([ipython])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 20a0613f6d441da436f3e7b8047a72bf490882bd Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 5 Nov 2021 07:51:11 -0400
+Subject: Trac #29665: standard python spkg-configure.m4 for ipywidgets.
+
+---
+ build/pkgs/ipywidgets/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/ipywidgets/spkg-configure.m4
+
+diff --git a/build/pkgs/ipywidgets/spkg-configure.m4 b/build/pkgs/ipywidgets/spkg-configure.m4
+new file mode 100644
+index 00000000..51ca9be
+--- /dev/null
++++ b/build/pkgs/ipywidgets/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([ipywidgets], [SAGE_PYTHON_PACKAGE_CHECK([ipywidgets])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 76bcd386633acc02a1a3026339d0cbd258ada04e Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Fri, 5 Nov 2021 10:05:16 -0400
+Subject: Trac #29665: add Gentoo package information for wheel.
+
+---
+ build/pkgs/wheel/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/wheel/distros/gentoo.txt
+
+diff --git a/build/pkgs/wheel/distros/gentoo.txt b/build/pkgs/wheel/distros/gentoo.txt
+new file mode 100644
+index 00000000..ec571d5
+--- /dev/null
++++ b/build/pkgs/wheel/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/wheel
+-- 
+cgit v1.0-1-gd88e
+
+
+From 96c2dd2ca7812f5333bb9d45eadb7ac408e364ce Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 08:51:44 -0500
+Subject: Trac #29665: add Gentoo package information for terminado.
+
+---
+ build/pkgs/terminado/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/terminado/distros/gentoo.txt
+
+diff --git a/build/pkgs/terminado/distros/gentoo.txt b/build/pkgs/terminado/distros/gentoo.txt
+new file mode 100644
+index 00000000..1df16f1
+--- /dev/null
++++ b/build/pkgs/terminado/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/terminado
+-- 
+cgit v1.0-1-gd88e
+
+
+From 0de0f5f3d235a4339b21e37ea13c9f5e59a82e59 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 08:52:35 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for terminado.
+
+---
+ build/pkgs/terminado/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/terminado/spkg-configure.m4
+
+diff --git a/build/pkgs/terminado/spkg-configure.m4 b/build/pkgs/terminado/spkg-configure.m4
+new file mode 100644
+index 00000000..5defc2f
+--- /dev/null
++++ b/build/pkgs/terminado/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([terminado], [SAGE_PYTHON_PACKAGE_CHECK([terminado])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From d14a745c770b02822557e7cee0a98de1cb2f3a12 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 08:56:15 -0500
+Subject: Trac #29665: add Gentoo package information for cffi.
+
+---
+ build/pkgs/cffi/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/cffi/distros/gentoo.txt
+
+diff --git a/build/pkgs/cffi/distros/gentoo.txt b/build/pkgs/cffi/distros/gentoo.txt
+new file mode 100644
+index 00000000..81eeb81
+--- /dev/null
++++ b/build/pkgs/cffi/distros/gentoo.txt
+@@ -0,0 +1 @@
++virtual/python-cffi
+-- 
+cgit v1.0-1-gd88e
+
+
+From ce393c04afc69fe050e38f780d4e117164687d80 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 08:57:04 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for cffi.
+
+---
+ build/pkgs/cffi/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/cffi/spkg-configure.m4
+
+diff --git a/build/pkgs/cffi/spkg-configure.m4 b/build/pkgs/cffi/spkg-configure.m4
+new file mode 100644
+index 00000000..dc81875
+--- /dev/null
++++ b/build/pkgs/cffi/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([cffi], [SAGE_PYTHON_PACKAGE_CHECK([cffi])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 467093315b3fdd57c8caa2f95cf99ad52b0b84fb Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 08:57:57 -0500
+Subject: Trac #29665: add Gentoo package information for pip.
+
+---
+ build/pkgs/pip/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/pip/distros/gentoo.txt
+
+diff --git a/build/pkgs/pip/distros/gentoo.txt b/build/pkgs/pip/distros/gentoo.txt
+new file mode 100644
+index 00000000..1845454
+--- /dev/null
++++ b/build/pkgs/pip/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/pip[vanilla]
+-- 
+cgit v1.0-1-gd88e
+
+
+From c597fd23f9f68dabbcb7e698d0569c3e6458f6d1 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 09:07:26 -0500
+Subject: Trac #29665: new spkg-configure.m4 for pip.
+
+---
+ build/pkgs/pip/spkg-configure.m4 | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+ create mode 100644 build/pkgs/pip/spkg-configure.m4
+
+diff --git a/build/pkgs/pip/spkg-configure.m4 b/build/pkgs/pip/spkg-configure.m4
+new file mode 100644
+index 00000000..c7a5562
+--- /dev/null
++++ b/build/pkgs/pip/spkg-configure.m4
+@@ -0,0 +1,12 @@
++SAGE_SPKG_CONFIGURE([pip], [
++  dnl always run this macro because it changes the default value of
++  dnl the --with-system-<package> option.
++  SAGE_PYTHON_PACKAGE_CHECK([pip])
++
++  dnl if we might not install the spkg, make sure that "pip" is in
++  dnl the user's PATH, too.
++  AS_IF([test "x$sage_spkg_install_pip" != "xyes"], [
++    AC_CHECK_PROG(HAVE_PIP, pip, yes, no)
++    AS_IF([test "x$HAVE_PIP" = "xno"], [sage_spkg_install_pip=yes])
++  ])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From ef8f1e807bc55d7b8321777486fa867a7c135419 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Tue, 9 Nov 2021 09:09:04 -0500
+Subject: Trac #29665: set $SAGE_PIP_INSTALL_FLAGS for
+ --enable-system-site-packages.
+
+We need to pass some special flags to "pip install" to make it do the
+right thing in the precence of system-site packages. Here we introduce
+a new autoconf variable, SAGE_PIP_INSTALL_FLAGS, that will be used
+to pass those flags to the build system.
+
+With autoconf aware of the variable, we substitute its value into the
+sage-build-env-config script for use in spkg-install.in.
+---
+ build/bin/sage-build-env-config.in | 1 +
+ configure.ac                       | 9 +++++++++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/build/bin/sage-build-env-config.in b/build/bin/sage-build-env-config.in
+index 92e7dad..ad62e5f 100644
+--- a/build/bin/sage-build-env-config.in
++++ b/build/bin/sage-build-env-config.in
+@@ -53,6 +53,7 @@ export SAGE_PARI_CFG="@SAGE_PARI_CFG@"
+ 
+ export SAGE_GLPK_PREFIX="@SAGE_GLPK_PREFIX@"
+ export SAGE_FREETYPE_PREFIX="@SAGE_FREETYPE_PREFIX@"
++export SAGE_PIP_INSTALL_FLAGS="@SAGE_PIP_INSTALL_FLAGS@"
+ export SAGE_SUITESPARSE_PREFIX="@SAGE_SUITESPARSE_PREFIX@"
+ 
+ export SAGE_CONFIGURE_FFLAS_FFPACK="@SAGE_CONFIGURE_FFLAS_FFPACK@"
+diff --git a/configure.ac b/configure.ac
+index 6fafb83..6ed07ac 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -441,6 +441,14 @@ AC_ARG_ENABLE(
+     [allow the use of python packages from the system (experimental; default: no)]
+   )], [
+   AS_IF([test "x$enable_system_site_packages" = "xyes"], [
++    dnl When installing python SPKGs in the presence of system-site
++    dnl packages, we need to --ignore-installed so that a patched SPKG
++    dnl can be installed in the presence of an unpatched system package
++    dnl that appears (to pip) to be identical. The --no-deps flag is
++    dnl then needed because --ignore-installed will make any installed
++    dnl dependencies invisible to pip, who does not appreciate that.
++    SAGE_PIP_INSTALL_FLAGS="${SAGE_PIP_INSTALL_FLAGS} --no-deps --ignore-installed"
++
+     SAGE_VENV_FLAGS="${SAGE_VENV_FLAGS} --system-site-packages"
+ 
+     dnl We want to raise an error if the user asked for "system site
+@@ -453,6 +461,7 @@ AC_ARG_ENABLE(
+     with_system_python3="force"
+   ])
+ ])
++AC_SUBST([SAGE_PIP_INSTALL_FLAGS])
+ AC_SUBST([SAGE_VENV_FLAGS])
+ 
+ SAGE_SPKG_OPTIONS=""
+-- 
+cgit v1.0-1-gd88e
+
+
+From 3cf365fef84e809e74abd2eb388e7a8e9af9d739 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Tue, 9 Nov 2021 21:01:58 -0500
+Subject: Trac #29665: pass $SAGE_PIP_INSTALL_FLAGS to sdh_pip_install.
+
+Since sdh_pip_install is usually called from spkg-install.in, the
+variables from sage-build-env-config will be available. Here we pass
+the contents of $SAGE_PIP_INSTALL_FLAGS to sage-pip-install
+unconditionally, and hope that the user ignores this variable unless
+he truly knows what he is doing.
+---
+ build/bin/sage-dist-helpers | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/build/bin/sage-dist-helpers b/build/bin/sage-dist-helpers
+index fe364e5..1032ac3 100644
+--- a/build/bin/sage-dist-helpers
++++ b/build/bin/sage-dist-helpers
+@@ -303,7 +303,11 @@ sdh_store_wheel() {
+ }
+ 
+ sdh_store_and_pip_install_wheel() {
+-    local pip_options=""
++    # The $SAGE_PIP_INSTALL_FLAGS variable is set by sage-build-env-config.
++    # We skip sanity checking its contents since you should either let sage
++    # decide what it contains, or really know what you are doing.
++    local pip_options="${SAGE_PIP_INSTALL_FLAGS}"
++
+     while [ $# -gt 0 ]; do
+         case $1 in
+             -*) pip_options="$pip_options $1"
+-- 
+cgit v1.0-1-gd88e
+
+
+From 50f0438ee857b8f0b7d7ad924e6bba9c5e1bc033 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 13:10:46 -0500
+Subject: Trac #29665: add Gentoo package information for pexpect.
+
+---
+ build/pkgs/pexpect/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/pexpect/distros/gentoo.txt
+
+diff --git a/build/pkgs/pexpect/distros/gentoo.txt b/build/pkgs/pexpect/distros/gentoo.txt
+new file mode 100644
+index 00000000..30c4b60
+--- /dev/null
++++ b/build/pkgs/pexpect/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/pexpect
+-- 
+cgit v1.0-1-gd88e
+
+
+From 4d784688d997290b462646fa7f36114a41f3f453 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 13:11:25 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for pexpect.
+
+---
+ build/pkgs/pexpect/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/pexpect/spkg-configure.m4
+
+diff --git a/build/pkgs/pexpect/spkg-configure.m4 b/build/pkgs/pexpect/spkg-configure.m4
+new file mode 100644
+index 00000000..6520856
+--- /dev/null
++++ b/build/pkgs/pexpect/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([pexpect], [SAGE_PYTHON_PACKAGE_CHECK([pexpect])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 6447122dc76a3b7a58340dbed942db66530b5b07 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 13:12:05 -0500
+Subject: Trac #29665: add Gentoo package information for docutils.
+
+---
+ build/pkgs/docutils/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/docutils/distros/gentoo.txt
+
+diff --git a/build/pkgs/docutils/distros/gentoo.txt b/build/pkgs/docutils/distros/gentoo.txt
+new file mode 100644
+index 00000000..fe4a452
+--- /dev/null
++++ b/build/pkgs/docutils/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/docutils
+-- 
+cgit v1.0-1-gd88e
+
+
+From 709041480a5fc729b0ee7f1a8a3b16d4d65321b5 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 13:12:38 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for docutils.
+
+---
+ build/pkgs/docutils/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/docutils/spkg-configure.m4
+
+diff --git a/build/pkgs/docutils/spkg-configure.m4 b/build/pkgs/docutils/spkg-configure.m4
+new file mode 100644
+index 00000000..3584e45
+--- /dev/null
++++ b/build/pkgs/docutils/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([docutils], [SAGE_PYTHON_PACKAGE_CHECK([docutils])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 782d38b48ab87afccc43fbc071e7b7ed48fb0a20 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 13:14:37 -0500
+Subject: Trac #29665: add Gentoo package information for nbclient.
+
+---
+ build/pkgs/nbclient/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/nbclient/distros/gentoo.txt
+
+diff --git a/build/pkgs/nbclient/distros/gentoo.txt b/build/pkgs/nbclient/distros/gentoo.txt
+new file mode 100644
+index 00000000..06ff18d
+--- /dev/null
++++ b/build/pkgs/nbclient/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/nbclient
+-- 
+cgit v1.0-1-gd88e
+
+
+From 19ce09336532336f69db74381932d51a429dfaca Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 13:15:11 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for nbclient.
+
+---
+ build/pkgs/nbclient/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/nbclient/spkg-configure.m4
+
+diff --git a/build/pkgs/nbclient/spkg-configure.m4 b/build/pkgs/nbclient/spkg-configure.m4
+new file mode 100644
+index 00000000..14178b7
+--- /dev/null
++++ b/build/pkgs/nbclient/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([nbclient], [SAGE_PYTHON_PACKAGE_CHECK([nbclient])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From c063b9de42c1780368000a563d0dbe80b6fff169 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 13:17:36 -0500
+Subject: Trac #29665: add Gentoo package information for argon2_cffi.
+
+---
+ build/pkgs/argon2_cffi/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/argon2_cffi/distros/gentoo.txt
+
+diff --git a/build/pkgs/argon2_cffi/distros/gentoo.txt b/build/pkgs/argon2_cffi/distros/gentoo.txt
+new file mode 100644
+index 00000000..2f12ca8
+--- /dev/null
++++ b/build/pkgs/argon2_cffi/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/argon2-cffi
+-- 
+cgit v1.0-1-gd88e
+
+
+From 0b4d5699dd51ea52550fba7db9e1cbb8bbac1892 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 13:18:35 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for argon2_cffi.
+
+---
+ build/pkgs/argon2_cffi/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/argon2_cffi/spkg-configure.m4
+
+diff --git a/build/pkgs/argon2_cffi/spkg-configure.m4 b/build/pkgs/argon2_cffi/spkg-configure.m4
+new file mode 100644
+index 00000000..03ebc63
+--- /dev/null
++++ b/build/pkgs/argon2_cffi/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([argon2_cffi], [SAGE_PYTHON_PACKAGE_CHECK([argon2_cffi])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 2b4119558a6e0b1aa512848539a237676b035c83 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:30:48 -0500
+Subject: Trac #29665: fix package name in dateutil's install-requires.txt.
+
+---
+ build/pkgs/dateutil/install-requires.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build/pkgs/dateutil/install-requires.txt b/build/pkgs/dateutil/install-requires.txt
+index 0ae93da..face537 100644
+--- a/build/pkgs/dateutil/install-requires.txt
++++ b/build/pkgs/dateutil/install-requires.txt
+@@ -1 +1 @@
+-dateutil >=2.8.1
++python-dateutil >=2.8.1
+-- 
+cgit v1.0-1-gd88e
+
+
+From df371b7c4d20a3353d43940306ad22e11aba29da Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:31:41 -0500
+Subject: Trac #29665: add Gentoo package information for dateutil.
+
+---
+ build/pkgs/dateutil/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/dateutil/distros/gentoo.txt
+
+diff --git a/build/pkgs/dateutil/distros/gentoo.txt b/build/pkgs/dateutil/distros/gentoo.txt
+new file mode 100644
+index 00000000..e129df7
+--- /dev/null
++++ b/build/pkgs/dateutil/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/python-dateutil
+-- 
+cgit v1.0-1-gd88e
+
+
+From 577695dfdf661ee26c0ffd767bdbf479d95f7fb4 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:32:21 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for dateutil.
+
+---
+ build/pkgs/dateutil/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/dateutil/spkg-configure.m4
+
+diff --git a/build/pkgs/dateutil/spkg-configure.m4 b/build/pkgs/dateutil/spkg-configure.m4
+new file mode 100644
+index 00000000..fdcd127
+--- /dev/null
++++ b/build/pkgs/dateutil/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([dateutil], [SAGE_PYTHON_PACKAGE_CHECK([dateutil])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 1984651caac624ec4bb58814ca1d57fe66f9881a Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:33:51 -0500
+Subject: Trac #29665: add Gentoo package information for setuptools_scm.
+
+---
+ build/pkgs/setuptools_scm/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/setuptools_scm/distros/gentoo.txt
+
+diff --git a/build/pkgs/setuptools_scm/distros/gentoo.txt b/build/pkgs/setuptools_scm/distros/gentoo.txt
+new file mode 100644
+index 00000000..8989597
+--- /dev/null
++++ b/build/pkgs/setuptools_scm/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/setuptools_scm
+-- 
+cgit v1.0-1-gd88e
+
+
+From ebf7c854ed966e7353759be485c4f5a57b9a10fa Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:34:49 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for setuptools_scm.
+
+---
+ build/pkgs/setuptools_scm/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/setuptools_scm/spkg-configure.m4
+
+diff --git a/build/pkgs/setuptools_scm/spkg-configure.m4 b/build/pkgs/setuptools_scm/spkg-configure.m4
+new file mode 100644
+index 00000000..437148c
+--- /dev/null
++++ b/build/pkgs/setuptools_scm/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([setuptools_scm], [
++  SAGE_PYTHON_PACKAGE_CHECK([setuptools_scm])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 0dee0d0c28f31b1f619e44c710a3c9e22d2b2544 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:36:33 -0500
+Subject: Trac #29665: add Gentoo package information for nbconvert.
+
+---
+ build/pkgs/nbconvert/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/nbconvert/distros/gentoo.txt
+
+diff --git a/build/pkgs/nbconvert/distros/gentoo.txt b/build/pkgs/nbconvert/distros/gentoo.txt
+new file mode 100644
+index 00000000..6c45a10
+--- /dev/null
++++ b/build/pkgs/nbconvert/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/nbconvert
+-- 
+cgit v1.0-1-gd88e
+
+
+From 473789eb11b1838bc32dc8a63509ee199afc8912 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:37:37 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for nbconvert.
+
+---
+ build/pkgs/nbconvert/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/nbconvert/spkg-configure.m4
+
+diff --git a/build/pkgs/nbconvert/spkg-configure.m4 b/build/pkgs/nbconvert/spkg-configure.m4
+new file mode 100644
+index 00000000..9b5dee3
+--- /dev/null
++++ b/build/pkgs/nbconvert/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([nbconvert], [SAGE_PYTHON_PACKAGE_CHECK([nbconvert])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From f0703b594e57c980d605aa9bc8316c45a7858b3b Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:41:51 -0500
+Subject: Trac #29665: add Gentoo package information for jupyter_core.
+
+---
+ build/pkgs/jupyter_core/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/jupyter_core/distros/gentoo.txt
+
+diff --git a/build/pkgs/jupyter_core/distros/gentoo.txt b/build/pkgs/jupyter_core/distros/gentoo.txt
+new file mode 100644
+index 00000000..f168c5a
+--- /dev/null
++++ b/build/pkgs/jupyter_core/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/jupyter_core
+-- 
+cgit v1.0-1-gd88e
+
+
+From 061a307cc4a6680d8500fde834975064e59540d5 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:42:48 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for jupyter_core.
+
+---
+ build/pkgs/jupyter_core/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/jupyter_core/spkg-configure.m4
+
+diff --git a/build/pkgs/jupyter_core/spkg-configure.m4 b/build/pkgs/jupyter_core/spkg-configure.m4
+new file mode 100644
+index 00000000..67df9c3
+--- /dev/null
++++ b/build/pkgs/jupyter_core/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([jupyter_core], [
++  SAGE_PYTHON_PACKAGE_CHECK([jupyter_core])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From b85abe964ce0b98b5842efe9cbad9bdb1c89202f Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:47:08 -0500
+Subject: Trac #29665: add Gentoo package information for jupyter_client.
+
+---
+ build/pkgs/jupyter_client/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/jupyter_client/distros/gentoo.txt
+
+diff --git a/build/pkgs/jupyter_client/distros/gentoo.txt b/build/pkgs/jupyter_client/distros/gentoo.txt
+new file mode 100644
+index 00000000..4f1de88
+--- /dev/null
++++ b/build/pkgs/jupyter_client/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/jupyter_client
+-- 
+cgit v1.0-1-gd88e
+
+
+From 86323ff1e0b2507933df6bc2a96c9175957640c5 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:48:04 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for jupyter_client.
+
+---
+ build/pkgs/jupyter_client/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/jupyter_client/spkg-configure.m4
+
+diff --git a/build/pkgs/jupyter_client/spkg-configure.m4 b/build/pkgs/jupyter_client/spkg-configure.m4
+new file mode 100644
+index 00000000..fbd3498
+--- /dev/null
++++ b/build/pkgs/jupyter_client/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([jupyter_client], [
++  SAGE_PYTHON_PACKAGE_CHECK([jupyter_client])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From a8475e27dd30d752d05ab6fea6579e8623501d82 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:48:58 -0500
+Subject: Trac #29665: add Gentoo package information for snowballstemmer.
+
+---
+ build/pkgs/snowballstemmer/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/snowballstemmer/distros/gentoo.txt
+
+diff --git a/build/pkgs/snowballstemmer/distros/gentoo.txt b/build/pkgs/snowballstemmer/distros/gentoo.txt
+new file mode 100644
+index 00000000..63fd851
+--- /dev/null
++++ b/build/pkgs/snowballstemmer/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/snowballstemmer
+-- 
+cgit v1.0-1-gd88e
+
+
+From 0833c9b781062b4ed86d619e050a6f5d60e36080 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:49:38 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for snowballstemmer.
+
+---
+ build/pkgs/snowballstemmer/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/snowballstemmer/spkg-configure.m4
+
+diff --git a/build/pkgs/snowballstemmer/spkg-configure.m4 b/build/pkgs/snowballstemmer/spkg-configure.m4
+new file mode 100644
+index 00000000..6aa0882
+--- /dev/null
++++ b/build/pkgs/snowballstemmer/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([snowballstemmer], [
++  SAGE_PYTHON_PACKAGE_CHECK([snowballstemmer])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 50a1cf2a2bcd7eeec64cbc3f70e3e9fbe5d850fe Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:50:47 -0500
+Subject: Trac #29665: add Gentoo package information for tornado.
+
+---
+ build/pkgs/tornado/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/tornado/distros/gentoo.txt
+
+diff --git a/build/pkgs/tornado/distros/gentoo.txt b/build/pkgs/tornado/distros/gentoo.txt
+new file mode 100644
+index 00000000..6ae4b9f
+--- /dev/null
++++ b/build/pkgs/tornado/distros/gentoo.txt
+@@ -0,0 +1 @@
++www-servers/tornado
+-- 
+cgit v1.0-1-gd88e
+
+
+From 118f4da6e03476c726363e8e22ecda32f13bfc33 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:51:26 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for tornado.
+
+---
+ build/pkgs/tornado/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/tornado/spkg-configure.m4
+
+diff --git a/build/pkgs/tornado/spkg-configure.m4 b/build/pkgs/tornado/spkg-configure.m4
+new file mode 100644
+index 00000000..1ee5bc9
+--- /dev/null
++++ b/build/pkgs/tornado/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([tornado], [SAGE_PYTHON_PACKAGE_CHECK([tornado])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 3850701747a6c8ef60840bdfdb589b28d4cd2b9a Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:52:21 -0500
+Subject: Trac #29665: add Gentoo package information for jsonschema.
+
+---
+ build/pkgs/jsonschema/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/jsonschema/distros/gentoo.txt
+
+diff --git a/build/pkgs/jsonschema/distros/gentoo.txt b/build/pkgs/jsonschema/distros/gentoo.txt
+new file mode 100644
+index 00000000..d708e4c
+--- /dev/null
++++ b/build/pkgs/jsonschema/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/jsonschema
+-- 
+cgit v1.0-1-gd88e
+
+
+From 76e3917c8af781af00f642cfada7a79594429e30 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:54:03 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for jsonschema.
+
+---
+ build/pkgs/jsonschema/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/jsonschema/spkg-configure.m4
+
+diff --git a/build/pkgs/jsonschema/spkg-configure.m4 b/build/pkgs/jsonschema/spkg-configure.m4
+new file mode 100644
+index 00000000..b9e5e21
+--- /dev/null
++++ b/build/pkgs/jsonschema/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([jsonschema], [SAGE_PYTHON_PACKAGE_CHECK([jsonschema])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From fd4a16c11669b6dd73ac6325bca820e76db00402 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:55:54 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for
+ widgetsnbextension.
+
+---
+ build/pkgs/widgetsnbextension/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/widgetsnbextension/spkg-configure.m4
+
+diff --git a/build/pkgs/widgetsnbextension/spkg-configure.m4 b/build/pkgs/widgetsnbextension/spkg-configure.m4
+new file mode 100644
+index 00000000..bf82daf
+--- /dev/null
++++ b/build/pkgs/widgetsnbextension/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([widgetsnbextension], [
++  SAGE_PYTHON_PACKAGE_CHECK([widgetsnbextension])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 8079a9f384e3c8480e157dd98c3db2f43c987f4e Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:57:20 -0500
+Subject: Trac #29665: add Gentoo package information for importlib_resources.
+
+---
+ build/pkgs/importlib_resources/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/importlib_resources/distros/gentoo.txt
+
+diff --git a/build/pkgs/importlib_resources/distros/gentoo.txt b/build/pkgs/importlib_resources/distros/gentoo.txt
+new file mode 100644
+index 00000000..d5e1f2c
+--- /dev/null
++++ b/build/pkgs/importlib_resources/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/importlib_resources
+-- 
+cgit v1.0-1-gd88e
+
+
+From 2c430d7c52f02779a6c41b98ac2f4edd8b6759c3 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:58:00 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for
+ importlib_resources.
+
+---
+ build/pkgs/importlib_resources/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/importlib_resources/spkg-configure.m4
+
+diff --git a/build/pkgs/importlib_resources/spkg-configure.m4 b/build/pkgs/importlib_resources/spkg-configure.m4
+new file mode 100644
+index 00000000..50df55b
+--- /dev/null
++++ b/build/pkgs/importlib_resources/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([importlib_resources], [
++  SAGE_PYTHON_PACKAGE_CHECK([importlib_resources])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 00d13d7bf2e50aae2ccef3b2b30293c70a922af2 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:58:38 -0500
+Subject: Trac #29665: add Gentoo package information for kiwisolver.
+
+---
+ build/pkgs/kiwisolver/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/kiwisolver/distros/gentoo.txt
+
+diff --git a/build/pkgs/kiwisolver/distros/gentoo.txt b/build/pkgs/kiwisolver/distros/gentoo.txt
+new file mode 100644
+index 00000000..7b30c95
+--- /dev/null
++++ b/build/pkgs/kiwisolver/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/kiwisolver
+-- 
+cgit v1.0-1-gd88e
+
+
+From 72b7907ef7ea9fa4ff6948ea34cfe2f693ee6c31 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 19:59:09 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for kiwisolver.
+
+---
+ build/pkgs/kiwisolver/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/kiwisolver/spkg-configure.m4
+
+diff --git a/build/pkgs/kiwisolver/spkg-configure.m4 b/build/pkgs/kiwisolver/spkg-configure.m4
+new file mode 100644
+index 00000000..4e7ac97
+--- /dev/null
++++ b/build/pkgs/kiwisolver/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([kiwisolver], [SAGE_PYTHON_PACKAGE_CHECK([kiwisolver])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 479351279e4e0ea7e2d146434f0daba038765cfd Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:00:04 -0500
+Subject: Trac #29665: add Gentoo package information for notebook.
+
+---
+ build/pkgs/notebook/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/notebook/distros/gentoo.txt
+
+diff --git a/build/pkgs/notebook/distros/gentoo.txt b/build/pkgs/notebook/distros/gentoo.txt
+new file mode 100644
+index 00000000..6475d72
+--- /dev/null
++++ b/build/pkgs/notebook/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/notebook
+-- 
+cgit v1.0-1-gd88e
+
+
+From f4d9242ea654977f8ad7865c82eec593e11a36bc Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:01:42 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for notebook.
+
+---
+ build/pkgs/notebook/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/notebook/spkg-configure.m4
+
+diff --git a/build/pkgs/notebook/spkg-configure.m4 b/build/pkgs/notebook/spkg-configure.m4
+new file mode 100644
+index 00000000..a17ba95
+--- /dev/null
++++ b/build/pkgs/notebook/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([notebook], [SAGE_PYTHON_PACKAGE_CHECK([notebook])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 9837070c7f8e9a71283b84d49d4fd2c94b78a464 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:02:38 -0500
+Subject: Trac #29665: add Gentoo package information for matplotlib_inline.
+
+---
+ build/pkgs/matplotlib_inline/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/matplotlib_inline/distros/gentoo.txt
+
+diff --git a/build/pkgs/matplotlib_inline/distros/gentoo.txt b/build/pkgs/matplotlib_inline/distros/gentoo.txt
+new file mode 100644
+index 00000000..6a5859c
+--- /dev/null
++++ b/build/pkgs/matplotlib_inline/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/matplotlib-inline
+-- 
+cgit v1.0-1-gd88e
+
+
+From 750be73b25b92b4875e47d044360ac0e1116ec3e Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:03:28 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for matplotlib_inline.
+
+---
+ build/pkgs/matplotlib_inline/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/matplotlib_inline/spkg-configure.m4
+
+diff --git a/build/pkgs/matplotlib_inline/spkg-configure.m4 b/build/pkgs/matplotlib_inline/spkg-configure.m4
+new file mode 100644
+index 00000000..e59658f
+--- /dev/null
++++ b/build/pkgs/matplotlib_inline/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([matplotlib_inline], [
++  SAGE_PYTHON_PACKAGE_CHECK([matplotlib_inline])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 273505f49698dcd2ab30c2756b07113c9b7e7791 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:04:10 -0500
+Subject: Trac #29665: add Gentoo package information for ipykernel.
+
+---
+ build/pkgs/ipykernel/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/ipykernel/distros/gentoo.txt
+
+diff --git a/build/pkgs/ipykernel/distros/gentoo.txt b/build/pkgs/ipykernel/distros/gentoo.txt
+new file mode 100644
+index 00000000..88aab61
+--- /dev/null
++++ b/build/pkgs/ipykernel/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/ipykernel
+-- 
+cgit v1.0-1-gd88e
+
+
+From 629ad36c9e4ae0cdff4a013289b4f2911442445e Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:04:46 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for ipykernel.
+
+---
+ build/pkgs/ipykernel/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/ipykernel/spkg-configure.m4
+
+diff --git a/build/pkgs/ipykernel/spkg-configure.m4 b/build/pkgs/ipykernel/spkg-configure.m4
+new file mode 100644
+index 00000000..94ecc2d
+--- /dev/null
++++ b/build/pkgs/ipykernel/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([ipykernel], [SAGE_PYTHON_PACKAGE_CHECK([ipykernel])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From b8d709edb6a24fd5868ee2818b56e78257b2eafa Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:05:26 -0500
+Subject: Trac #29665: add Gentoo package information for prompt_toolkit.
+
+---
+ build/pkgs/prompt_toolkit/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/prompt_toolkit/distros/gentoo.txt
+
+diff --git a/build/pkgs/prompt_toolkit/distros/gentoo.txt b/build/pkgs/prompt_toolkit/distros/gentoo.txt
+new file mode 100644
+index 00000000..6902484
+--- /dev/null
++++ b/build/pkgs/prompt_toolkit/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/prompt_toolkit
+-- 
+cgit v1.0-1-gd88e
+
+
+From 16c0b5e767ae4dac4440510b7253e5c8642b7d2c Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:10:39 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for prompt_toolkit.
+
+---
+ build/pkgs/prompt_toolkit/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/prompt_toolkit/spkg-configure.m4
+
+diff --git a/build/pkgs/prompt_toolkit/spkg-configure.m4 b/build/pkgs/prompt_toolkit/spkg-configure.m4
+new file mode 100644
+index 00000000..fd8c1a6
+--- /dev/null
++++ b/build/pkgs/prompt_toolkit/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([prompt_toolkit], [
++  SAGE_PYTHON_PACKAGE_CHECK([prompt_toolkit])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 0cd9283e8bb6c8ae413fc8f715c021f7ec3ca2c8 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:12:10 -0500
+Subject: Trac #29665: add Gentoo package information for charset_normalizer.
+
+---
+ build/pkgs/charset_normalizer/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/charset_normalizer/distros/gentoo.txt
+
+diff --git a/build/pkgs/charset_normalizer/distros/gentoo.txt b/build/pkgs/charset_normalizer/distros/gentoo.txt
+new file mode 100644
+index 00000000..eefeb89
+--- /dev/null
++++ b/build/pkgs/charset_normalizer/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/charset_normalizer
+-- 
+cgit v1.0-1-gd88e
+
+
+From a04b01a9ab59097d189edcc5ddcb461faede83b2 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:12:54 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for
+ charset_normalizer.
+
+---
+ build/pkgs/charset_normalizer/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/charset_normalizer/spkg-configure.m4
+
+diff --git a/build/pkgs/charset_normalizer/spkg-configure.m4 b/build/pkgs/charset_normalizer/spkg-configure.m4
+new file mode 100644
+index 00000000..18b18cf
+--- /dev/null
++++ b/build/pkgs/charset_normalizer/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([charset_normalizer], [
++  SAGE_PYTHON_PACKAGE_CHECK([charset_normalizer])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From d2ea08138711c53046f977b586f33b09b176b2e3 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:13:37 -0500
+Subject: Trac #29665: add Gentoo package information for prometheus_client.
+
+---
+ build/pkgs/prometheus_client/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/prometheus_client/distros/gentoo.txt
+
+diff --git a/build/pkgs/prometheus_client/distros/gentoo.txt b/build/pkgs/prometheus_client/distros/gentoo.txt
+new file mode 100644
+index 00000000..aa2889c
+--- /dev/null
++++ b/build/pkgs/prometheus_client/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/prometheus_client
+-- 
+cgit v1.0-1-gd88e
+
+
+From 5b0393200e9edd3e26b8a55ba67e5710e7403fcb Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:15:09 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for prometheus_client.
+
+---
+ build/pkgs/prometheus_client/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/prometheus_client/spkg-configure.m4
+
+diff --git a/build/pkgs/prometheus_client/spkg-configure.m4 b/build/pkgs/prometheus_client/spkg-configure.m4
+new file mode 100644
+index 00000000..b494588
+--- /dev/null
++++ b/build/pkgs/prometheus_client/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([prometheus_client], [
++  SAGE_PYTHON_PACKAGE_CHECK([prometheus_client])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From cdcd85284f43ca4ad18353ec3527b2901e57b788 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:17:23 -0500
+Subject: Trac #29665: add Gentoo package information for pybind11.
+
+---
+ build/pkgs/pybind11/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/pybind11/distros/gentoo.txt
+
+diff --git a/build/pkgs/pybind11/distros/gentoo.txt b/build/pkgs/pybind11/distros/gentoo.txt
+new file mode 100644
+index 00000000..0c500b3
+--- /dev/null
++++ b/build/pkgs/pybind11/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/pybind11
+-- 
+cgit v1.0-1-gd88e
+
+
+From efdd1eb64c4799fe3cdf2221824182941b3fda2d Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:17:51 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for pybind11.
+
+---
+ build/pkgs/pybind11/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/pybind11/spkg-configure.m4
+
+diff --git a/build/pkgs/pybind11/spkg-configure.m4 b/build/pkgs/pybind11/spkg-configure.m4
+new file mode 100644
+index 00000000..cce1cf5
+--- /dev/null
++++ b/build/pkgs/pybind11/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([pybind11], [SAGE_PYTHON_PACKAGE_CHECK([pybind11])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From b2128f33b68ea33927284116ea598dd186902400 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:19:23 -0500
+Subject: Trac #29665: add Gentoo package information for pkgconfig.
+
+---
+ build/pkgs/pkgconfig/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/pkgconfig/distros/gentoo.txt
+
+diff --git a/build/pkgs/pkgconfig/distros/gentoo.txt b/build/pkgs/pkgconfig/distros/gentoo.txt
+new file mode 100644
+index 00000000..32e8618
+--- /dev/null
++++ b/build/pkgs/pkgconfig/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/pkgconfig
+-- 
+cgit v1.0-1-gd88e
+
+
+From 5b373b49e06aadeb36dc57e500da9a322460e658 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:19:54 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for pkgconfig.
+
+---
+ build/pkgs/pkgconfig/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/pkgconfig/spkg-configure.m4
+
+diff --git a/build/pkgs/pkgconfig/spkg-configure.m4 b/build/pkgs/pkgconfig/spkg-configure.m4
+new file mode 100644
+index 00000000..6708293
+--- /dev/null
++++ b/build/pkgs/pkgconfig/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([pkgconfig], [SAGE_PYTHON_PACKAGE_CHECK([pkgconfig])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From ce578729eb0d14baab365351ba9a9ffffb7b79f2 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:21:10 -0500
+Subject: Trac #29665: add Gentoo package information for
+ sphinxcontrib_serializinghtml.
+
+---
+ build/pkgs/sphinxcontrib_serializinghtml/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/sphinxcontrib_serializinghtml/distros/gentoo.txt
+
+diff --git a/build/pkgs/sphinxcontrib_serializinghtml/distros/gentoo.txt b/build/pkgs/sphinxcontrib_serializinghtml/distros/gentoo.txt
+new file mode 100644
+index 00000000..38bca8f
+--- /dev/null
++++ b/build/pkgs/sphinxcontrib_serializinghtml/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/sphinxcontrib-serializinghtml
+-- 
+cgit v1.0-1-gd88e
+
+
+From bb0f42c32bbce0e4488678312f5e2d88c6f42c9b Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:21:54 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for
+ sphinxcontrib_serializinghtml.
+
+---
+ build/pkgs/sphinxcontrib_serializinghtml/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/sphinxcontrib_serializinghtml/spkg-configure.m4
+
+diff --git a/build/pkgs/sphinxcontrib_serializinghtml/spkg-configure.m4 b/build/pkgs/sphinxcontrib_serializinghtml/spkg-configure.m4
+new file mode 100644
+index 00000000..be8e625
+--- /dev/null
++++ b/build/pkgs/sphinxcontrib_serializinghtml/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([sphinxcontrib_serializinghtml], [
++  SAGE_PYTHON_PACKAGE_CHECK([sphinxcontrib_serializinghtml])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From e47dcf985e40475de85c9436a85537751318bc3d Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:22:54 -0500
+Subject: Trac #29665: add Gentoo package information for sphinxcontrib_jsmath.
+
+---
+ build/pkgs/sphinxcontrib_jsmath/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/sphinxcontrib_jsmath/distros/gentoo.txt
+
+diff --git a/build/pkgs/sphinxcontrib_jsmath/distros/gentoo.txt b/build/pkgs/sphinxcontrib_jsmath/distros/gentoo.txt
+new file mode 100644
+index 00000000..041a471
+--- /dev/null
++++ b/build/pkgs/sphinxcontrib_jsmath/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/sphinxcontrib-jsmath
+-- 
+cgit v1.0-1-gd88e
+
+
+From 72cff6fd35f93de4fa855bc870569dd733ff5c24 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:23:49 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for
+ sphinxcontrib_jsmath.
+
+---
+ build/pkgs/sphinxcontrib_jsmath/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/sphinxcontrib_jsmath/spkg-configure.m4
+
+diff --git a/build/pkgs/sphinxcontrib_jsmath/spkg-configure.m4 b/build/pkgs/sphinxcontrib_jsmath/spkg-configure.m4
+new file mode 100644
+index 00000000..e46bde2
+--- /dev/null
++++ b/build/pkgs/sphinxcontrib_jsmath/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([sphinxcontrib_jsmath], [
++  SAGE_PYTHON_PACKAGE_CHECK([sphinxcontrib_jsmath])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From a36395d70f759449cd63c1b0990fbdcb4cb25ca0 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:24:26 -0500
+Subject: Trac #29665: add Gentoo package information for
+ sphinxcontrib_devhelp.
+
+---
+ build/pkgs/sphinxcontrib_devhelp/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/sphinxcontrib_devhelp/distros/gentoo.txt
+
+diff --git a/build/pkgs/sphinxcontrib_devhelp/distros/gentoo.txt b/build/pkgs/sphinxcontrib_devhelp/distros/gentoo.txt
+new file mode 100644
+index 00000000..9b5c899
+--- /dev/null
++++ b/build/pkgs/sphinxcontrib_devhelp/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/sphinxcontrib-devhelp
+-- 
+cgit v1.0-1-gd88e
+
+
+From 9953a5dd1646ed0ad51d2e3935cf609bc9e7fd1c Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:25:04 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for
+ sphinxcontrib_devhelp.
+
+---
+ build/pkgs/sphinxcontrib_devhelp/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/sphinxcontrib_devhelp/spkg-configure.m4
+
+diff --git a/build/pkgs/sphinxcontrib_devhelp/spkg-configure.m4 b/build/pkgs/sphinxcontrib_devhelp/spkg-configure.m4
+new file mode 100644
+index 00000000..8728136
+--- /dev/null
++++ b/build/pkgs/sphinxcontrib_devhelp/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([sphinxcontrib_devhelp], [
++  SAGE_PYTHON_PACKAGE_CHECK([sphinxcontrib_devhelp])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From b199d5363aad93f3cb23f7904c9553a28b06348f Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:25:53 -0500
+Subject: Trac #29665: add Gentoo package information for sphinxcontrib_qthelp.
+
+---
+ build/pkgs/sphinxcontrib_qthelp/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/sphinxcontrib_qthelp/distros/gentoo.txt
+
+diff --git a/build/pkgs/sphinxcontrib_qthelp/distros/gentoo.txt b/build/pkgs/sphinxcontrib_qthelp/distros/gentoo.txt
+new file mode 100644
+index 00000000..7210099
+--- /dev/null
++++ b/build/pkgs/sphinxcontrib_qthelp/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/sphinxcontrib-qthelp
+-- 
+cgit v1.0-1-gd88e
+
+
+From 94ac8806739f3938e73f5857328e91e0d42e98d2 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:26:28 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for
+ sphinxcontrib_qthelp.
+
+---
+ build/pkgs/sphinxcontrib_qthelp/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/sphinxcontrib_qthelp/spkg-configure.m4
+
+diff --git a/build/pkgs/sphinxcontrib_qthelp/spkg-configure.m4 b/build/pkgs/sphinxcontrib_qthelp/spkg-configure.m4
+new file mode 100644
+index 00000000..81ea5e1
+--- /dev/null
++++ b/build/pkgs/sphinxcontrib_qthelp/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([sphinxcontrib_qthelp], [
++  SAGE_PYTHON_PACKAGE_CHECK([sphinxcontrib_qthelp])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From beedc154aa405e8a58aee8889f510db07adc89a7 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:26:54 -0500
+Subject: Trac #29665: add Gentoo package information for
+ sphinxcontrib_applehelp.
+
+---
+ build/pkgs/sphinxcontrib_applehelp/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/sphinxcontrib_applehelp/distros/gentoo.txt
+
+diff --git a/build/pkgs/sphinxcontrib_applehelp/distros/gentoo.txt b/build/pkgs/sphinxcontrib_applehelp/distros/gentoo.txt
+new file mode 100644
+index 00000000..66ac8da
+--- /dev/null
++++ b/build/pkgs/sphinxcontrib_applehelp/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/sphinxcontrib-applehelp
+-- 
+cgit v1.0-1-gd88e
+
+
+From 07d47c3673d6b35423b71f621cb400989c0101c2 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:27:19 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for
+ sphinxcontrib_applehelp.
+
+---
+ build/pkgs/sphinxcontrib_applehelp/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/sphinxcontrib_applehelp/spkg-configure.m4
+
+diff --git a/build/pkgs/sphinxcontrib_applehelp/spkg-configure.m4 b/build/pkgs/sphinxcontrib_applehelp/spkg-configure.m4
+new file mode 100644
+index 00000000..e834aed
+--- /dev/null
++++ b/build/pkgs/sphinxcontrib_applehelp/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([sphinxcontrib_applehelp], [
++  SAGE_PYTHON_PACKAGE_CHECK([sphinxcontrib_applehelp])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 333a66546c5d421735c49dbafd7370a827f22781 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:27:46 -0500
+Subject: Trac #29665: add Gentoo package information for
+ sphinxcontrib_htmlhelp.
+
+---
+ build/pkgs/sphinxcontrib_htmlhelp/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/sphinxcontrib_htmlhelp/distros/gentoo.txt
+
+diff --git a/build/pkgs/sphinxcontrib_htmlhelp/distros/gentoo.txt b/build/pkgs/sphinxcontrib_htmlhelp/distros/gentoo.txt
+new file mode 100644
+index 00000000..e080bac
+--- /dev/null
++++ b/build/pkgs/sphinxcontrib_htmlhelp/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/sphinxcontrib-htmlhelp
+-- 
+cgit v1.0-1-gd88e
+
+
+From bfaeb3962254439b63f1f2e0e883de462c7831be Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:29:18 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for
+ sphinxcontrib_htmlhelp.
+
+---
+ build/pkgs/sphinxcontrib_htmlhelp/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/sphinxcontrib_htmlhelp/spkg-configure.m4
+
+diff --git a/build/pkgs/sphinxcontrib_htmlhelp/spkg-configure.m4 b/build/pkgs/sphinxcontrib_htmlhelp/spkg-configure.m4
+new file mode 100644
+index 00000000..c77b003
+--- /dev/null
++++ b/build/pkgs/sphinxcontrib_htmlhelp/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([sphinxcontrib_htmlhelp], [
++  SAGE_PYTHON_PACKAGE_CHECK([sphinxcontrib_htmlhelp])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 782cde13da06e8b85806cb7cbc8aceee0364e639 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:30:23 -0500
+Subject: Trac #29665: add Gentoo package information for jupyterlab_pygments.
+
+---
+ build/pkgs/jupyterlab_pygments/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/jupyterlab_pygments/distros/gentoo.txt
+
+diff --git a/build/pkgs/jupyterlab_pygments/distros/gentoo.txt b/build/pkgs/jupyterlab_pygments/distros/gentoo.txt
+new file mode 100644
+index 00000000..c57b4f1
+--- /dev/null
++++ b/build/pkgs/jupyterlab_pygments/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/jupyterlab_pygments
+-- 
+cgit v1.0-1-gd88e
+
+
+From 39f974cfa4a8c6e5dd897f152f83ec82f40ee9f7 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 10 Nov 2021 20:31:13 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for
+ jupyterlab_pygments.
+
+---
+ build/pkgs/jupyterlab_pygments/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/jupyterlab_pygments/spkg-configure.m4
+
+diff --git a/build/pkgs/jupyterlab_pygments/spkg-configure.m4 b/build/pkgs/jupyterlab_pygments/spkg-configure.m4
+new file mode 100644
+index 00000000..e46e21f
+--- /dev/null
++++ b/build/pkgs/jupyterlab_pygments/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([jupyterlab_pygments], [
++  SAGE_PYTHON_PACKAGE_CHECK([jupyterlab_pygments])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From db704620700fd36cec3bf6125938f3ee00a9eb5e Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 30 Dec 2021 20:29:15 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for ply.
+
+---
+ build/pkgs/ply/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/ply/spkg-configure.m4
+
+diff --git a/build/pkgs/ply/spkg-configure.m4 b/build/pkgs/ply/spkg-configure.m4
+new file mode 100644
+index 00000000..ffb0030
+--- /dev/null
++++ b/build/pkgs/ply/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([ply], [SAGE_PYTHON_PACKAGE_CHECK([ply])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 6aac31dabcdfdef228d7780398a3fda1a4cc566f Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 30 Dec 2021 20:29:51 -0500
+Subject: Trac #29665: add Gentoo package information for ply.
+
+---
+ build/pkgs/ply/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/ply/distros/gentoo.txt
+
+diff --git a/build/pkgs/ply/distros/gentoo.txt b/build/pkgs/ply/distros/gentoo.txt
+new file mode 100644
+index 00000000..c8b1630
+--- /dev/null
++++ b/build/pkgs/ply/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/ply
+-- 
+cgit v1.0-1-gd88e
+
+
+From bb8d3372936ec37470d69687a0f91592129460ae Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 30 Dec 2021 20:30:33 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for gast.
+
+---
+ build/pkgs/gast/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/gast/spkg-configure.m4
+
+diff --git a/build/pkgs/gast/spkg-configure.m4 b/build/pkgs/gast/spkg-configure.m4
+new file mode 100644
+index 00000000..26ec59f
+--- /dev/null
++++ b/build/pkgs/gast/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([gast], [SAGE_PYTHON_PACKAGE_CHECK([gast])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 1cdc4046a88f1c2b4e5c162f66c6db6090b24194 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 30 Dec 2021 20:31:15 -0500
+Subject: Trac #29665: add Gentoo package information for gast.
+
+---
+ build/pkgs/gast/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/gast/distros/gentoo.txt
+
+diff --git a/build/pkgs/gast/distros/gentoo.txt b/build/pkgs/gast/distros/gentoo.txt
+new file mode 100644
+index 00000000..3be5e7e
+--- /dev/null
++++ b/build/pkgs/gast/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/gast
+-- 
+cgit v1.0-1-gd88e
+
+
+From 96068b8a3742b65d619190e1d9fa5db399e6b4f2 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 30 Dec 2021 20:32:20 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for pythran.
+
+---
+ build/pkgs/pythran/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/pythran/spkg-configure.m4
+
+diff --git a/build/pkgs/pythran/spkg-configure.m4 b/build/pkgs/pythran/spkg-configure.m4
+new file mode 100644
+index 00000000..592e95b
+--- /dev/null
++++ b/build/pkgs/pythran/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([pythran], [SAGE_PYTHON_PACKAGE_CHECK([pythran])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 1fa0fad3ae8f7e559c6fc315c6773a7d8aac0bfb Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 30 Dec 2021 20:32:55 -0500
+Subject: Trac #29665: add Gentoo package information for pythran.
+
+---
+ build/pkgs/pythran/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/pythran/distros/gentoo.txt
+
+diff --git a/build/pkgs/pythran/distros/gentoo.txt b/build/pkgs/pythran/distros/gentoo.txt
+new file mode 100644
+index 00000000..1bb7cdc
+--- /dev/null
++++ b/build/pkgs/pythran/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/pythran
+-- 
+cgit v1.0-1-gd88e
+
+
+From d26370e5b8c88e76abfb7c27e3defb71c9e9f711 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 30 Dec 2021 20:33:50 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for beniget.
+
+---
+ build/pkgs/beniget/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/beniget/spkg-configure.m4
+
+diff --git a/build/pkgs/beniget/spkg-configure.m4 b/build/pkgs/beniget/spkg-configure.m4
+new file mode 100644
+index 00000000..8ae6101
+--- /dev/null
++++ b/build/pkgs/beniget/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([beniget], [SAGE_PYTHON_PACKAGE_CHECK([beniget])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From eeeb296ed9b9694a865534103fd58e62a151ef5e Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 30 Dec 2021 20:34:22 -0500
+Subject: Trac #29665: add Gentoo package information for beniget.
+
+---
+ build/pkgs/beniget/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/beniget/distros/gentoo.txt
+
+diff --git a/build/pkgs/beniget/distros/gentoo.txt b/build/pkgs/beniget/distros/gentoo.txt
+new file mode 100644
+index 00000000..1a5972c
+--- /dev/null
++++ b/build/pkgs/beniget/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/beniget
+-- 
+cgit v1.0-1-gd88e
+
+
+From 078b2ff272d0eeff5cce40ad7eb176d9ddd7bdff Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 30 Dec 2021 20:35:37 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for alabaster.
+
+---
+ build/pkgs/alabaster/spkg-configure.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/alabaster/spkg-configure.m4
+
+diff --git a/build/pkgs/alabaster/spkg-configure.m4 b/build/pkgs/alabaster/spkg-configure.m4
+new file mode 100644
+index 00000000..4eca6e0
+--- /dev/null
++++ b/build/pkgs/alabaster/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([alabaster], [SAGE_PYTHON_PACKAGE_CHECK([alabaster])])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 7dc264353e5f64110431ff28c1b8b7e89699e9bd Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 30 Dec 2021 20:36:06 -0500
+Subject: Trac #29665: add Gentoo package information for alabaster.
+
+---
+ build/pkgs/alabaster/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/alabaster/distros/gentoo.txt
+
+diff --git a/build/pkgs/alabaster/distros/gentoo.txt b/build/pkgs/alabaster/distros/gentoo.txt
+new file mode 100644
+index 00000000..cffece6
+--- /dev/null
++++ b/build/pkgs/alabaster/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/alabaster
+-- 
+cgit v1.0-1-gd88e
+
+
+From 8011a5e675e7e61a77ce34a299ee961a9f44253f Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 30 Dec 2021 20:43:59 -0500
+Subject: Trac #29665: standard python spkg-configure.m4 for
+ importlib_metadata.
+
+---
+ build/pkgs/importlib_metadata/spkg-configure.m4 | 3 +++
+ 1 file changed, 3 insertions(+)
+ create mode 100644 build/pkgs/importlib_metadata/spkg-configure.m4
+
+diff --git a/build/pkgs/importlib_metadata/spkg-configure.m4 b/build/pkgs/importlib_metadata/spkg-configure.m4
+new file mode 100644
+index 00000000..0554e52
+--- /dev/null
++++ b/build/pkgs/importlib_metadata/spkg-configure.m4
+@@ -0,0 +1,3 @@
++SAGE_SPKG_CONFIGURE([importlib_metadata], [
++  SAGE_PYTHON_PACKAGE_CHECK([importlib_metadata])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 928ca0019e3ec6c4541a16b28bcc6710df6d010b Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 30 Dec 2021 20:44:28 -0500
+Subject: Trac #29665: add Gentoo package information for importlib_metadata.
+
+---
+ build/pkgs/importlib_metadata/distros/gentoo.txt | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 build/pkgs/importlib_metadata/distros/gentoo.txt
+
+diff --git a/build/pkgs/importlib_metadata/distros/gentoo.txt b/build/pkgs/importlib_metadata/distros/gentoo.txt
+new file mode 100644
+index 00000000..4f92786
+--- /dev/null
++++ b/build/pkgs/importlib_metadata/distros/gentoo.txt
+@@ -0,0 +1 @@
++dev-python/importlib_metadata
+-- 
+cgit v1.0-1-gd88e
+
+
+From 135f184f7498a2046065e669723e68efe2d65cee Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Thu, 30 Dec 2021 21:16:58 -0500
+Subject: Trac #29665: fix sage.misc.package doctest with system alabaster.
+
+When alabaster from the system is used, these tests won't be able to
+find its SPKG installed. Add some ellipses, and switch one test to
+look for sage_conf instead.
+---
+ src/sage/misc/package.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/sage/misc/package.py b/src/sage/misc/package.py
+index 84f3d50..c7ad206 100644
+--- a/src/sage/misc/package.py
++++ b/src/sage/misc/package.py
+@@ -386,9 +386,9 @@ def installed_packages(exclude_pip=True):
+     EXAMPLES::
+ 
+         sage: sorted(installed_packages().keys())  # optional - build
+-        [...'alabaster', ...'sage_conf', ...]
+-        sage: installed_packages()['alabaster']  # optional - build, random
+-        '0.7.12'
++        [...'sage_conf', ...]
++        sage: installed_packages()['sage_conf']  # optional - build, random
++        '9.5'
+ 
+     .. SEEALSO::
+ 
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/patches/zzz-dont_run_pytest--see_31924.patch b/srcpkgs/sagemath/patches/zzz-dont_run_pytest--see_31924.patch
new file mode 100644
index 000000000000..7ef3826aa4d2
--- /dev/null
+++ b/srcpkgs/sagemath/patches/zzz-dont_run_pytest--see_31924.patch
@@ -0,0 +1,27 @@
+diff --git a/src/bin/sage-runtests b/src/bin/sage-runtests
+index 589dc8cd37..6bb8bf99a4 100755
+--- a/src/bin/sage-runtests
++++ b/src/bin/sage-runtests
+@@ -154,21 +154,4 @@ if __name__ == "__main__":
+     DC = DocTestController(args, args.filenames)
+     err = DC.run()
+ 
+-    try:
+-        exit_code_pytest = 0
+-        import pytest
+-        pytest_options = ["--import-mode", "importlib"]
+-        if args.verbose:
+-            pytest_options.append("-v")
+-        exit_code_pytest = pytest.main(pytest_options + args.filenames)
+-        if exit_code_pytest == 5:
+-            # Exit code 5 means there were no test files, pass in this case
+-            exit_code_pytest = 0
+-
+-    except ModuleNotFoundError:
+-        print("Pytest is not installed, skip checking tests that rely on it.")
+-
+-    if err == 0:
+-        sys.exit(exit_code_pytest)
+-    else:
+-        sys.exit(err)
++    sys.exit(err)
diff --git a/srcpkgs/sagemath/patches/zzz-more_site_packages_not_in_29665.patch b/srcpkgs/sagemath/patches/zzz-more_site_packages_not_in_29665.patch
new file mode 100644
index 000000000000..093e3d56eb33
--- /dev/null
+++ b/srcpkgs/sagemath/patches/zzz-more_site_packages_not_in_29665.patch
@@ -0,0 +1,42 @@
+More site packages not included in trac 29665
+
+diff --git a/build/pkgs/gmpy2/spkg-configure.m4 b/build/pkgs/gmpy2/spkg-configure.m4
+new file mode 100644
+index 0000000000..2d0390f7db
+--- /dev/null
++++ b/build/pkgs/gmpy2/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([gmpy2], [SAGE_PYTHON_PACKAGE_CHECK([gmpy2])])
+diff --git a/build/pkgs/sphinx/spkg-configure.m4 b/build/pkgs/sphinx/spkg-configure.m4
+new file mode 100644
+index 0000000000..e149fbb2cf
+--- /dev/null
++++ b/build/pkgs/sphinx/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([sphinx], [SAGE_PYTHON_PACKAGE_CHECK([sphinx])])
+diff --git a/build/pkgs/typing_extensions/spkg-configure.m4 b/build/pkgs/typing_extensions/spkg-configure.m4
+new file mode 100644
+index 0000000000..d475fd8257
+--- /dev/null
++++ b/build/pkgs/typing_extensions/spkg-configure.m4
+@@ -0,0 +1 @@
++SAGE_SPKG_CONFIGURE([typing_extensions], [SAGE_PYTHON_PACKAGE_CHECK([typing_extensions])])
+-- 
+diff --git a/build/pkgs/gmpy2/install-requires.txt b/build/pkgs/gmpy2/install-requires.txt
+index 51d24518ef..c25feff557 100644
+--- a/build/pkgs/gmpy2/install-requires.txt
++++ b/build/pkgs/gmpy2/install-requires.txt
+@@ -1,3 +1 @@
+-# We would like to write gmpy2 >=2.1.0b5, but pipenv does not accept prereleases in version ranges
+-# https://github.com/pypa/pipenv/issues/1760
+-gmpy2 ==2.1.0rc1
++gmpy2 >=2.1
+diff --git a/build/pkgs/ptyprocess/install-requires.txt b/build/pkgs/ptyprocess/install-requires.txt
+index de89260872..7c336f636c 100644
+--- a/build/pkgs/ptyprocess/install-requires.txt
++++ b/build/pkgs/ptyprocess/install-requires.txt
+@@ -1,3 +1,3 @@
+-ptyprocess ==0.5.1
++ptyprocess
+ # https://trac.sagemath.org/ticket/31280#comment:42 and following
+ # sagelib is not compatible with ptyprocess 0.5.2, 0.6, and 0.7
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 33b40acbabeb..a32c5d18f378 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -22,11 +22,13 @@ distfiles="https://mirrors.mit.edu/sage/src/sage-$version.tar.gz"
 checksum=32ca429c0bdbb90c9999bca4ba858d1def280425d42048c4230dae005de2a0d1
 python_version=3
 
-build_options="debug system_python3"
+build_options="debug system_python3 system_site_packages"
 desc_option_debug="Build with debug symbols"
 desc_option_system_python="Build using system python 3"
-build_options_default="system_python3"
+desc_option_system_python="Build using system python site-packages"
+build_options_default="system_python3 system_site_packages"
 configure_args+=" $(vopt_with system_python3)"
+configure_args+=" $(vopt_enable system_site_packages)"
 
 # path where sage will be installed
 _SAGE_ROOT=/usr/lib/sage-${version}
@@ -163,6 +165,8 @@ do_check() {
 	fi
 	if [ "$XBPS_CHECK_PKGS" = full ]; then
 		_test_args="--long $_test_args"
+	else
+		_test_args="--warn-long 5.0 $_test_args"
 	fi
 	# since make check will build the docs, run test like this instead
 	./sage -tp ${XBPS_MAKEJOBS} ${_test_args}
@@ -182,7 +186,7 @@ makedepends+=" automake gettext gettext-devel"
 # other host dependencies
 makedepends+=" cmake curl git ninja pandoc patch pkg-config python3 tox"
 
-# already in void
+# standard dependencies
 makedepends+="
  CoinMP-devel R arb-devel boost-devel bzip2-devel ecl eclib-devel
  ecm-devel flintlib-devel freetype-devel gc-devel gd-devel giac-devel
@@ -202,7 +206,49 @@ makedepends+="
  brial-devel cliquer-devel gfan libbraiding-devel libhomfly-devel
  lrcalc-devel nauty-devel palp tachyon
  maxima-ecl primesieve-devel primecount-devel
+ ffmpeg ImageMagick
 "
 
 # TODO: optional
 # 4ti2 coxeter3 libsemigroups lrslib pdf2svg perl_mongodb polymake
+
+# TODO: standard
+# cvxopt importlib_resources
+
+# python packages for trac-29665
+_sage_python3_modules="
+ python3-Babel python3-Jinja2 python3-MarkupSafe python3-Pillow
+ python3-Pygments python3-Sphinx python3-alabaster python3-argcomplete
+ python3-argon2 python3-attrs python3-backcall python3-beniget
+ python3-bleach python3-certifi python3-cffi python3-charset-normalizer
+ python3-cycler python3-dateutil python3-decorator python3-defusedxml
+ python3-docutils python3-entrypoints python3-flit_core python3-gast
+ python3-gmpy2 python3-html5lib python3-idna python3-imagesize
+ python3-importlib_metadata python3-ipython python3-ipython_genutils
+ python3-ipython_ipykernel python3-jedi python3-jsonschema
+ python3-jupyter_client python3-jupyter_core python3-jupyter_ipywidgets
+ python3-jupyter_nbconvert python3-jupyter_nbformat
+ python3-jupyter_notebook python3-jupyterlab_pygments python3-kiwisolver
+ python3-matplotlib python3-matplotlib-inline python3-mistune
+ python3-mpmath python3-nbclient python3-nest_asyncio python3-networkx
+ python3-numpy python3-packaging python3-pandocfilters python3-parsing
+ python3-parso python3-pexpect python3-pickleshare python3-pip
+ python3-pkgconfig python3-pluggy python3-ply python3-prometheus_client
+ python3-prompt_toolkit python3-ptyprocess python3-py python3-pybind11
+ python3-pycparser python3-pyrsistent python3-pytz python3-pyzmq
+ python3-requests python3-scipy python3-send2trash python3-setuptools
+ python3-setuptools_scm python3-simplegeneric python3-six
+ python3-snowballstemmer python3-sphinxcontrib-applehelp
+ python3-sphinxcontrib-devhelp python3-sphinxcontrib-htmlhelp
+ python3-sphinxcontrib-jsmath python3-sphinxcontrib-qthelp
+ python3-sphinxcontrib-serializinghtml python3-sympy python3-terminado
+ python3-testpath python3-texttable python3-toml python3-tomli
+ python3-tornado python3-traitlets python3-typing_extensions
+ python3-tzlocal python3-urllib3 python3-wcwidth python3-webencodings
+ python3-wheel python3-zipp pythran
+ "
+
+if [ "$build_option_system_site_packages" ]; then
+	makedepends+=" $_sage_python3_modules"
+	depends+=" $_sage_python3_modules"
+fi

From 9c545f650c3af512133680cbe0c615abe6c42305 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 3 Jan 2022 20:47:52 -0300
Subject: [PATCH 24/39] sagemath: use small source tarball + upstream packages

---
 srcpkgs/sagemath/template | 97 ++++++++++++++++++++++++++-------------
 1 file changed, 64 insertions(+), 33 deletions(-)

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index a32c5d18f378..0de0061b09df 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -18,8 +18,8 @@ short_desc="Open source mathematics software"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-3.0-only, GPL-2.0-or-later, CC-BY-SA-3.0, custom:Various free"
 homepage="http://sagemath.org/"
-distfiles="https://mirrors.mit.edu/sage/src/sage-$version.tar.gz"
-checksum=32ca429c0bdbb90c9999bca4ba858d1def280425d42048c4230dae005de2a0d1
+distfiles="https://github.com/sagemath/sage/archive/refs/tags/$version.tar.gz"
+checksum=aea4c5a8d3b32af2fba644269b9daf4f62471471ba2d7d83da0f8098a5f53225
 python_version=3
 
 build_options="debug system_python3 system_site_packages"
@@ -33,42 +33,72 @@ configure_args+=" $(vopt_enable system_site_packages)"
 # path where sage will be installed
 _SAGE_ROOT=/usr/lib/sage-${version}
 
-case ${version} in
-	# url for devel is different
-	*.beta*|*.rc*) distfiles=${distfiles/sage\/src/sage\/devel} ;;
-esac
+_SAGE_UPSTREAM_MIRROR=https://mirrors.mit.edu/sage/spkg/upstream
 
-# extra upstream packages (trac-32968 / trac-33040)
 _upstream="
- https://pypi.io/packages/source/s/sphinx/Sphinx-4.3.1.tar.gz
-
- https://files.pythonhosted.org/packages/source/c/cycler/cycler-0.11.0.tar.gz
- https://files.pythonhosted.org/packages/source/k/kiwisolver/kiwisolver-1.3.2.tar.gz
- https://pypi.io/packages/source/p/pytz/pytz-2021.3.tar.gz
- https://files.pythonhosted.org/packages/source/c/cppy/cppy-1.1.0.tar.gz
- https://pypi.io/packages/source/c/certifi/certifi-2021.10.8.tar.gz
- https://files.pythonhosted.org/packages/source/p/python-dateutil/python-dateutil-2.8.2.tar.gz
- https://pypi.io/packages/source/p/pillow/Pillow-8.4.0.tar.gz
- https://files.pythonhosted.org/packages/source/p/pyparsing/pyparsing-3.0.6.tar.gz
- https://pypi.io/packages/source/m/matplotlib/matplotlib-3.5.1.tar.gz
- https://pypi.io/packages/source/s/setuptools_scm_git_archive/setuptools_scm_git_archive-1.1.tar.gz
- https://pypi.io/packages/source/f/fonttools/fonttools-4.28.4.zip
+${PYPI_SITE}/a/appnope/appnope-0.1.2.tar.gz
+${_SAGE_UPSTREAM_MIRROR}/combinatorial_designs/combinatorial_designs-20140630.tar.bz2
+${_SAGE_UPSTREAM_MIRROR}/conway_polynomials/conway_polynomials-0.5.tar.bz2
+${PYPI_SITE}/c/cppy/cppy-1.1.0.tar.gz
+${PYPI_SITE}/c/cvxopt/cvxopt-1.2.7.tar.gz
+${PYPI_SITE}/c/cypari2/cypari2-2.1.2.tar.gz
+${PYPI_SITE}/c/cysignals/cysignals-1.11.2.tar.gz
+${PYPI_SITE}/C/Cython/Cython-0.29.24.tar.gz
+${_SAGE_UPSTREAM_MIRROR}/elliptic_curves/elliptic_curves-0.8.1.tar.bz2
+${PYPI_SITE}/f/fonttools/fonttools-4.28.4.zip
+https://github.com/fplll/fpylll/releases/download/0.5.6/fpylll-0.5.6.tar.gz
+https://github.com/gap-system/gap/releases/download/v4.11.1/gap-4.11.1.tar.gz
+http://users.ox.ac.uk/~coml0531/sage/graphs-20210214.tar.bz2
+${PYPI_SITE}/i/importlib_resources/importlib_resources-5.2.2.tar.gz
+${_SAGE_UPSTREAM_MIRROR}/jmol/jmol-14.29.52.tar.bz2
+${PYPI_SITE}/j/jupyter_jsmol/jupyter_jsmol-0.2.4.tar.gz
+${_SAGE_UPSTREAM_MIRROR}/mathjax/mathjax-2.7.4.tar.gz
+${PYPI_SITE}/m/memory_allocator/memory_allocator-0.1.1.tar.gz
+${_SAGE_UPSTREAM_MIRROR}/polytopes_db/polytopes_db-20170220.tar.bz2
+${PYPI_SITE}/p/pplpy/pplpy-0.8.6.tar.gz
+${PYPI_SITE}/p/primecountpy/primecountpy-0.1.0.tar.gz
+${_SAGE_UPSTREAM_MIRROR}/ratpoints/ratpoints-2.1.3.tar.bz2
+${PYPI_SITE}/r/rpy2/rpy2-3.3.6.tar.gz
+${_SAGE_UPSTREAM_MIRROR}/sagenb_export/sagenb_export-3.3.tar.gz
+https://github.com/sagemath/sagetex/releases/download/v3.5/sagetex-3.5.tar.gz
+${PYPI_SITE}/s/setuptools_scm_git_archive/setuptools_scm_git_archive-1.1.tar.gz
+${PYPI_SITE}/s/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.1.tar.gz
+${_SAGE_UPSTREAM_MIRROR}/thebe/thebe-9624e0a0.zip
+https://github.com/sagemath/threejs-sage/archive/refs/tags/r122.tar.gz>threejs-sage-r122.tar.gz
+${PYPI_SITE}/v/vcversioner/vcversioner-2.16.0.0.tar.gz
 "
 
 checksum+="
- 32a5b3e9a1b176cc25ed048557d4d3d01af635e6b76c5bc7a43b0a34447fbd45
-
- 9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f
- fc4453705b81d03568d5b808ad8f09c77c47534f6ac2e72e733f9ca4714aa75c
- acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326
- 4eda6f1952054a270f32dc11df7c5e24b259a09fddf7bfaa5f33df9fb4a29642
- 78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872
- 0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86
- b8e2f83c56e141920c39464b852de3719dfbfb6e3c99a2d8da0edf4fb33176ed
- d9bdec0013ef1eb5a84ab39a3b3868911598afa494f5faa038647101504e2b81
- b2e9810e09c3a47b73ce9cab5a72243a1258f61e7900969097a817232246ce1c
- 6026f61089b73fa1b5ee737e95314f41cb512609b393530385ed281d0b46c062
- 581a682a7102a41421e7e484303572c565c1b8e52b1cc9fecd3c159dbe9a02f4
+dd83cd4b5b460958838f6eb3000c660b1f9caf2a5b1de4264e941512f603258a
+c9486c6d7ec71da338589a6e301723be4e55e02dcfc41f8dba11a682e3b3482e
+d8f2788a85b1c2482cc4abe1a35d3da777445e21ec49b031d36b899e3c0deb17
+4eda6f1952054a270f32dc11df7c5e24b259a09fddf7bfaa5f33df9fb4a29642
+3f9db1f4d4e820aaea81d6fc21054c89dc6327c84f935dd5a1eda1af11e1d504
+03cd45edab8716ebbfdb754e65fea72e873c73dc91aec098fe4a01e35324ac7a
+5858b1760fbe21848121b826b2463a67ac5a45caf3d73105497a68618c5a6fa6
+cdf04d07c3600860e8c2ebaad4e8f52ac3feb212453c1764a49ac08c827e8443
+5fba5470d9d91f06282ed5edfc45bf0ea1c5f7c8d4837c46234b17be1481fd50
+581a682a7102a41421e7e484303572c565c1b8e52b1cc9fecd3c159dbe9a02f4
+c69bf4b3344f60ca40743af9b9246ce51f651c2cf54d2b88a4deff18b1b5f246
+6635c5da7d82755f8339486b9cac33766f58712f297e8234fba40818902ea304
+07237c0d9853611505c389fd7bb92500c8743f5631babb4d0f45dfd8332f3741
+a65882a4d0fe5fbf702273456ba2ce74fe44892c25e42e057aca526b702a6d4b
+ebf9cd42cd8e3839cf94ec11691b98a9b00917f3485a821291b76d7ecd6ffe9d
+d2ce38e95773345d0eceffed5ecb0e5d49fe61da5e922dea754c85799cc512b3
+169996cc6449c8d615043b07e1f20e9e3cd821de2325b5a250ef42142ea654b3
+5641bea96b9e59a173639c118c2745fe16014c60012117ddf29c18abbb713408
+cb788bdfca6e00864ec0bfa67932a68ae68bfeb9c527a91be90ad218026a0ce0
+471b576a4c285758d27cc4a6f1b41afa29bfb9f3754a37f0520b35b6958eb8ce
+78fe7cc32115f0669a45d7c90faaf39f7ce3939e39e2e7e5f14c17fe4bff0676
+edd3238422f47661b8a556f0241f36d619584d2f055efa1f96c749d1403abe1e
+ce063f3286e717b3914728ad23ec7db0a0f117ba3ade5ada8a250700779f6e77
+b642321ccd94da4d04afa12f33b6cea7c8db289f3283c6e39b3a50131780bb5a
+3a7454002ddff9bf862d139130c27de0416bbc2378e1f4de4eb50d805ee96779
+6026f61089b73fa1b5ee737e95314f41cb512609b393530385ed281d0b46c062
+545f5da4bd7757e82b8a23ce3af9500c6ffeedbcb13429fca436ad1e80bd10cf
+cc1e407cbe0804f9644c207fecc074ed0fa389ba65f49da58e63fffe9bfe6923
+718767ab55876a3e957d1cfe89a322c6d9fa680fc737b9ca668aee6a3eac3bb8
+dae60c17a479781f44a4010701833f1829140b1eeccd258762a74974aa06e19b
 "
 
 for u in ${_upstream}; do
@@ -101,6 +131,7 @@ post_extract() {
 	mv -T $wrksrc $_SAGE_ROOT
 	ln -srfT $_SAGE_ROOT $wrksrc
 
+	mkdir -p $wrksrc/upstream
 	for u in ${_upstream}; do
 		cp "$XBPS_SRCDISTDIR/${pkgname}-${version}/${u##*[/>]}" $wrksrc/upstream
 	done

From d0b0a656fa4993f3cf4ef8165a13717c66b35ab7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 7 Jan 2022 13:38:02 -0300
Subject: [PATCH 25/39] sagemath: for CI use fixed random-seed=0

---
 srcpkgs/sagemath/template | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 0de0061b09df..b5b99d2c122d 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -194,6 +194,10 @@ do_check() {
 	if [ -z "$_test_args" ]; then
 		_test_args=--all
 	fi
+	if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+		# for CI use a predictable random seed
+		_test_args="--random-seed=0 $_test_args"
+	fi
 	if [ "$XBPS_CHECK_PKGS" = full ]; then
 		_test_args="--long $_test_args"
 	else

From 3813d63435820909fc5e4b1b5e5093ba50a48d2c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 7 Jan 2022 14:40:27 -0300
Subject: [PATCH 26/39] sagemath: upstream two patches

---
 ...ble-424de0923cb3d44d010e3e2f9bd7bc75d5c30234.patch} |  6 +++---
 ...rse-53e4d68ca3ba0d3b29fe78dbd99fa927fa4091b6.patch} | 10 +++++-----
 2 files changed, 8 insertions(+), 8 deletions(-)
 rename srcpkgs/sagemath/patches/{0001-sage-site-exec-only-if-it-is-executable.patch => trac-33127-test_sage_site_executable-424de0923cb3d44d010e3e2f9bd7bc75d5c30234.patch} (94%)
 rename srcpkgs/sagemath/patches/{0001-sagetex-Fix-a-warning-when-byte-compiling-sagetexpar.patch => trac-33128-fix_warning_in_sagetexparse-53e4d68ca3ba0d3b29fe78dbd99fa927fa4091b6.patch} (81%)

diff --git a/srcpkgs/sagemath/patches/0001-sage-site-exec-only-if-it-is-executable.patch b/srcpkgs/sagemath/patches/trac-33127-test_sage_site_executable-424de0923cb3d44d010e3e2f9bd7bc75d5c30234.patch
similarity index 94%
rename from srcpkgs/sagemath/patches/0001-sage-site-exec-only-if-it-is-executable.patch
rename to srcpkgs/sagemath/patches/trac-33127-test_sage_site_executable-424de0923cb3d44d010e3e2f9bd7bc75d5c30234.patch
index ce17c6d6e954..7fdb3d697222 100644
--- a/srcpkgs/sagemath/patches/0001-sage-site-exec-only-if-it-is-executable.patch
+++ b/srcpkgs/sagemath/patches/trac-33127-test_sage_site_executable-424de0923cb3d44d010e3e2f9bd7bc75d5c30234.patch
@@ -1,14 +1,14 @@
 From 424de0923cb3d44d010e3e2f9bd7bc75d5c30234 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
 Date: Sun, 26 Dec 2021 22:34:39 -0300
-Subject: [PATCH] sage-site: exec only if it is executable
+Subject: sage-site: exec only if it is executable
 
 ---
  src/bin/sage | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/src/bin/sage b/src/bin/sage
-index 4c0fa17426..153e610a2e 100755
+index 4c0fa17..153e610 100755
 --- a/src/bin/sage
 +++ b/src/bin/sage
 @@ -129,7 +129,7 @@ usage() {
@@ -39,5 +39,5 @@ index 4c0fa17426..153e610a2e 100755
              # fallthrough if there is no sage-site script
          fi
 -- 
-2.34.1
+cgit v1.0-1-gd88e
 
diff --git a/srcpkgs/sagemath/patches/0001-sagetex-Fix-a-warning-when-byte-compiling-sagetexpar.patch b/srcpkgs/sagemath/patches/trac-33128-fix_warning_in_sagetexparse-53e4d68ca3ba0d3b29fe78dbd99fa927fa4091b6.patch
similarity index 81%
rename from srcpkgs/sagemath/patches/0001-sagetex-Fix-a-warning-when-byte-compiling-sagetexpar.patch
rename to srcpkgs/sagemath/patches/trac-33128-fix_warning_in_sagetexparse-53e4d68ca3ba0d3b29fe78dbd99fa927fa4091b6.patch
index bab6d8441d42..350c41ac3928 100644
--- a/srcpkgs/sagemath/patches/0001-sagetex-Fix-a-warning-when-byte-compiling-sagetexpar.patch
+++ b/srcpkgs/sagemath/patches/trac-33128-fix_warning_in_sagetexparse-53e4d68ca3ba0d3b29fe78dbd99fa927fa4091b6.patch
@@ -1,16 +1,16 @@
-From 57e3eba28c9b4ee6bd3407d0715b8bd00aaf04a7 Mon Sep 17 00:00:00 2001
+From 53e4d68ca3ba0d3b29fe78dbd99fa927fa4091b6 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
 Date: Wed, 22 Dec 2021 19:02:08 -0300
-Subject: [PATCH] sagetex: Fix a warning when byte-compiling sagetexparse.py
+Subject: sagetex: Fix a warning when byte-compiling sagetexparse.py
 
 ---
- .../sagetex/patches/sagetex-fix-warning.patch    | 16 ++++++++++++++++
+ build/pkgs/sagetex/patches/sagetex-fix-warning.patch | 16 ++++++++++++++++
  1 file changed, 16 insertions(+)
  create mode 100644 build/pkgs/sagetex/patches/sagetex-fix-warning.patch
 
 diff --git a/build/pkgs/sagetex/patches/sagetex-fix-warning.patch b/build/pkgs/sagetex/patches/sagetex-fix-warning.patch
 new file mode 100644
-index 0000000000..d82ab675dd
+index 00000000..d82ab67
 --- /dev/null
 +++ b/build/pkgs/sagetex/patches/sagetex-fix-warning.patch
 @@ -0,0 +1,16 @@
@@ -31,5 +31,5 @@ index 0000000000..d82ab675dd
 +     self.result += t.code[1:-1] + '\n\n'
 + 
 -- 
-2.34.1
+cgit v1.0-1-gd88e
 

From e842d003762bad20303a81ad1daf5670e9ca7caa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 7 Jan 2022 19:57:59 -0300
Subject: [PATCH 27/39] sagemath: reorder upstream sources and add two missing
 ones

---
 srcpkgs/sagemath/template | 60 ++++++++++++++++++++++-----------------
 1 file changed, 34 insertions(+), 26 deletions(-)

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index b5b99d2c122d..f53cba947c88 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -36,69 +36,77 @@ _SAGE_ROOT=/usr/lib/sage-${version}
 _SAGE_UPSTREAM_MIRROR=https://mirrors.mit.edu/sage/spkg/upstream
 
 _upstream="
-${PYPI_SITE}/a/appnope/appnope-0.1.2.tar.gz
 ${_SAGE_UPSTREAM_MIRROR}/combinatorial_designs/combinatorial_designs-20140630.tar.bz2
 ${_SAGE_UPSTREAM_MIRROR}/conway_polynomials/conway_polynomials-0.5.tar.bz2
+${_SAGE_UPSTREAM_MIRROR}/elliptic_curves/elliptic_curves-0.8.1.tar.bz2
+${_SAGE_UPSTREAM_MIRROR}/jmol/jmol-14.29.52.tar.bz2
+${_SAGE_UPSTREAM_MIRROR}/mathjax/mathjax-2.7.4.tar.gz
+${_SAGE_UPSTREAM_MIRROR}/polytopes_db/polytopes_db-20170220.tar.bz2
+${_SAGE_UPSTREAM_MIRROR}/ratpoints/ratpoints-2.1.3.tar.bz2
+${_SAGE_UPSTREAM_MIRROR}/sagenb_export/sagenb_export-3.3.tar.gz
+${_SAGE_UPSTREAM_MIRROR}/thebe/thebe-9624e0a0.zip
+
+${PYPI_SITE}/a/appnope/appnope-0.1.2.tar.gz
 ${PYPI_SITE}/c/cppy/cppy-1.1.0.tar.gz
 ${PYPI_SITE}/c/cvxopt/cvxopt-1.2.7.tar.gz
 ${PYPI_SITE}/c/cypari2/cypari2-2.1.2.tar.gz
 ${PYPI_SITE}/c/cysignals/cysignals-1.11.2.tar.gz
 ${PYPI_SITE}/C/Cython/Cython-0.29.24.tar.gz
-${_SAGE_UPSTREAM_MIRROR}/elliptic_curves/elliptic_curves-0.8.1.tar.bz2
 ${PYPI_SITE}/f/fonttools/fonttools-4.28.4.zip
-https://github.com/fplll/fpylll/releases/download/0.5.6/fpylll-0.5.6.tar.gz
-https://github.com/gap-system/gap/releases/download/v4.11.1/gap-4.11.1.tar.gz
-http://users.ox.ac.uk/~coml0531/sage/graphs-20210214.tar.bz2
 ${PYPI_SITE}/i/importlib_resources/importlib_resources-5.2.2.tar.gz
-${_SAGE_UPSTREAM_MIRROR}/jmol/jmol-14.29.52.tar.bz2
 ${PYPI_SITE}/j/jupyter_jsmol/jupyter_jsmol-0.2.4.tar.gz
-${_SAGE_UPSTREAM_MIRROR}/mathjax/mathjax-2.7.4.tar.gz
 ${PYPI_SITE}/m/memory_allocator/memory_allocator-0.1.1.tar.gz
-${_SAGE_UPSTREAM_MIRROR}/polytopes_db/polytopes_db-20170220.tar.bz2
 ${PYPI_SITE}/p/pplpy/pplpy-0.8.6.tar.gz
 ${PYPI_SITE}/p/primecountpy/primecountpy-0.1.0.tar.gz
-${_SAGE_UPSTREAM_MIRROR}/ratpoints/ratpoints-2.1.3.tar.bz2
+${PYPI_SITE}/P/PyCygwin/PyCygwin-0.1.tar.gz
 ${PYPI_SITE}/r/rpy2/rpy2-3.3.6.tar.gz
-${_SAGE_UPSTREAM_MIRROR}/sagenb_export/sagenb_export-3.3.tar.gz
-https://github.com/sagemath/sagetex/releases/download/v3.5/sagetex-3.5.tar.gz
+${PYPI_SITE}/s/setuptools/setuptools-59.2.0.tar.gz
 ${PYPI_SITE}/s/setuptools_scm_git_archive/setuptools_scm_git_archive-1.1.tar.gz
 ${PYPI_SITE}/s/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.1.tar.gz
-${_SAGE_UPSTREAM_MIRROR}/thebe/thebe-9624e0a0.zip
-https://github.com/sagemath/threejs-sage/archive/refs/tags/r122.tar.gz>threejs-sage-r122.tar.gz
 ${PYPI_SITE}/v/vcversioner/vcversioner-2.16.0.0.tar.gz
+
+https://github.com/fplll/fpylll/releases/download/0.5.6/fpylll-0.5.6.tar.gz
+https://github.com/gap-system/gap/releases/download/v4.11.1/gap-4.11.1.tar.gz
+http://users.ox.ac.uk/~coml0531/sage/graphs-20210214.tar.bz2
+https://github.com/sagemath/sagetex/releases/download/v3.5/sagetex-3.5.tar.gz
+https://github.com/sagemath/threejs-sage/archive/refs/tags/r122.tar.gz>threejs-sage-r122.tar.gz
 "
 
 checksum+="
-dd83cd4b5b460958838f6eb3000c660b1f9caf2a5b1de4264e941512f603258a
 c9486c6d7ec71da338589a6e301723be4e55e02dcfc41f8dba11a682e3b3482e
 d8f2788a85b1c2482cc4abe1a35d3da777445e21ec49b031d36b899e3c0deb17
+5fba5470d9d91f06282ed5edfc45bf0ea1c5f7c8d4837c46234b17be1481fd50
+ebf9cd42cd8e3839cf94ec11691b98a9b00917f3485a821291b76d7ecd6ffe9d
+169996cc6449c8d615043b07e1f20e9e3cd821de2325b5a250ef42142ea654b3
+cb788bdfca6e00864ec0bfa67932a68ae68bfeb9c527a91be90ad218026a0ce0
+edd3238422f47661b8a556f0241f36d619584d2f055efa1f96c749d1403abe1e
+b642321ccd94da4d04afa12f33b6cea7c8db289f3283c6e39b3a50131780bb5a
+cc1e407cbe0804f9644c207fecc074ed0fa389ba65f49da58e63fffe9bfe6923
+
+dd83cd4b5b460958838f6eb3000c660b1f9caf2a5b1de4264e941512f603258a
 4eda6f1952054a270f32dc11df7c5e24b259a09fddf7bfaa5f33df9fb4a29642
 3f9db1f4d4e820aaea81d6fc21054c89dc6327c84f935dd5a1eda1af11e1d504
 03cd45edab8716ebbfdb754e65fea72e873c73dc91aec098fe4a01e35324ac7a
 5858b1760fbe21848121b826b2463a67ac5a45caf3d73105497a68618c5a6fa6
 cdf04d07c3600860e8c2ebaad4e8f52ac3feb212453c1764a49ac08c827e8443
-5fba5470d9d91f06282ed5edfc45bf0ea1c5f7c8d4837c46234b17be1481fd50
 581a682a7102a41421e7e484303572c565c1b8e52b1cc9fecd3c159dbe9a02f4
-c69bf4b3344f60ca40743af9b9246ce51f651c2cf54d2b88a4deff18b1b5f246
-6635c5da7d82755f8339486b9cac33766f58712f297e8234fba40818902ea304
-07237c0d9853611505c389fd7bb92500c8743f5631babb4d0f45dfd8332f3741
 a65882a4d0fe5fbf702273456ba2ce74fe44892c25e42e057aca526b702a6d4b
-ebf9cd42cd8e3839cf94ec11691b98a9b00917f3485a821291b76d7ecd6ffe9d
 d2ce38e95773345d0eceffed5ecb0e5d49fe61da5e922dea754c85799cc512b3
-169996cc6449c8d615043b07e1f20e9e3cd821de2325b5a250ef42142ea654b3
 5641bea96b9e59a173639c118c2745fe16014c60012117ddf29c18abbb713408
-cb788bdfca6e00864ec0bfa67932a68ae68bfeb9c527a91be90ad218026a0ce0
 471b576a4c285758d27cc4a6f1b41afa29bfb9f3754a37f0520b35b6958eb8ce
 78fe7cc32115f0669a45d7c90faaf39f7ce3939e39e2e7e5f14c17fe4bff0676
-edd3238422f47661b8a556f0241f36d619584d2f055efa1f96c749d1403abe1e
+45a5e295590c469a49b2804bfdb89059e942d768ad3b813f484d7b5bff48d226
 ce063f3286e717b3914728ad23ec7db0a0f117ba3ade5ada8a250700779f6e77
-b642321ccd94da4d04afa12f33b6cea7c8db289f3283c6e39b3a50131780bb5a
-3a7454002ddff9bf862d139130c27de0416bbc2378e1f4de4eb50d805ee96779
+157d21de9d055ab9e8ea3186d91e7f4f865e11f42deafa952d90842671fc2576
 6026f61089b73fa1b5ee737e95314f41cb512609b393530385ed281d0b46c062
 545f5da4bd7757e82b8a23ce3af9500c6ffeedbcb13429fca436ad1e80bd10cf
-cc1e407cbe0804f9644c207fecc074ed0fa389ba65f49da58e63fffe9bfe6923
-718767ab55876a3e957d1cfe89a322c6d9fa680fc737b9ca668aee6a3eac3bb8
 dae60c17a479781f44a4010701833f1829140b1eeccd258762a74974aa06e19b
+
+c69bf4b3344f60ca40743af9b9246ce51f651c2cf54d2b88a4deff18b1b5f246
+6635c5da7d82755f8339486b9cac33766f58712f297e8234fba40818902ea304
+07237c0d9853611505c389fd7bb92500c8743f5631babb4d0f45dfd8332f3741
+3a7454002ddff9bf862d139130c27de0416bbc2378e1f4de4eb50d805ee96779
+718767ab55876a3e957d1cfe89a322c6d9fa680fc737b9ca668aee6a3eac3bb8
 "
 
 for u in ${_upstream}; do

From 7bb48cbae849dee1b3e4ff695d92f450c4fa4c59 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 9 Jan 2022 12:45:47 -0300
Subject: [PATCH 28/39] sagemath: do not download anything patch

---
 .../patches/00-Do_not_download_anything.patch         | 11 +++++++++++
 1 file changed, 11 insertions(+)
 create mode 100644 srcpkgs/sagemath/patches/00-Do_not_download_anything.patch

diff --git a/srcpkgs/sagemath/patches/00-Do_not_download_anything.patch b/srcpkgs/sagemath/patches/00-Do_not_download_anything.patch
new file mode 100644
index 000000000000..35aef7b8d456
--- /dev/null
+++ b/srcpkgs/sagemath/patches/00-Do_not_download_anything.patch
@@ -0,0 +1,11 @@
+--- a/build/sage_bootstrap/tarball.py	2022-01-07 19:17:06.754747955 -0300
++++ b/build/sage_bootstrap/tarball.py	2022-01-07 19:25:31.844139381 -0300
+@@ -158,6 +158,8 @@
+                             .format(destination=destination))
+         successful_download = False
+         log.info('Attempting to download package {0} from mirrors'.format(self.filename))
++        log.info('ERROR: downloading is disabled, add file to template instead')
++        return
+         for mirror in MirrorList():
+             url = mirror + '/'.join(['spkg', 'upstream', self.package.name, self.filename])
+             log.info(url)

From 46b5019b61169d200206c7a83e8806b69723a53c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 9 Jan 2022 13:27:49 -0300
Subject: [PATCH 29/39] sagemath: update to 9.5.rc0.

---
 ...184f7498a2046065e669723e68efe2d65cee.patch |    6 +-
 ...1d4ced4264f65ab704f725f6f5879b012796.patch |  263 ----
 ...a54526829b79d5d236a40f83ddc6ce7b2696.patch | 1196 -----------------
 ...9ec8d447be5bbd3a4260e7a5e0e4653e0c34.patch |   27 -
 ...3f4f32246ad9ded6d37f1f2f12a589a81f4.patch} |    4 +-
 ...03138d0403be7c7cb303de2bc0a0e0b6793c.patch |   82 --
 ...f3a1611fed0cc66fb838eb85739646dd34d.patch} |   94 +-
 ...49c415e11d0522bff9013bc1509264b26ebf.patch |   27 +
 ...ip_doctest_singular_4.2.1--see_33134.patch |   13 +
 srcpkgs/sagemath/template                     |    6 +-
 10 files changed, 72 insertions(+), 1646 deletions(-)
 delete mode 100644 srcpkgs/sagemath/patches/trac-30766-system_python_3.10-df9f1d4ced4264f65ab704f725f6f5879b012796.patch
 delete mode 100644 srcpkgs/sagemath/patches/trac-33040-update_matplotlib_to_3.5-d865a54526829b79d5d236a40f83ddc6ce7b2696.patch
 delete mode 100644 srcpkgs/sagemath/patches/trac-33046-gap_make_symlinks_relative-521a9ec8d447be5bbd3a4260e7a5e0e4653e0c34.patch
 rename srcpkgs/sagemath/patches/{trac-33064-sage_docbuild_ignore_cache_save_permission_error-f767cf1eadfd8ab540a31c5c5ef09d56df09b90e.patch => trac-33064-sage_docbuild_ignore_cache_save_permission_error-e89193f4f32246ad9ded6d37f1f2f12a589a81f4.patch} (92%)
 delete mode 100644 srcpkgs/sagemath/patches/trac-33073-fix_segfault_on_polyhedra-177903138d0403be7c7cb303de2bc0a0e0b6793c.patch
 rename srcpkgs/sagemath/patches/{trac-33085-pass_doctests_without_dochtml-4e364ea702799d8ddee23d306ea6622f2ac412ce.patch => trac-33085-pass_doctests_without_dochtml-88dd9f3a1611fed0cc66fb838eb85739646dd34d.patch} (63%)
 create mode 100644 srcpkgs/sagemath/patches/trac-33135-ignore_deprecation_warnings-836249c415e11d0522bff9013bc1509264b26ebf.patch
 create mode 100644 srcpkgs/sagemath/patches/zzz-skip_doctest_singular_4.2.1--see_33134.patch

diff --git a/srcpkgs/sagemath/patches/trac-29665-enable_system_site_packages-135f184f7498a2046065e669723e68efe2d65cee.patch b/srcpkgs/sagemath/patches/trac-29665-enable_system_site_packages-135f184f7498a2046065e669723e68efe2d65cee.patch
index b641113927e7..0ecb27c593cd 100644
--- a/srcpkgs/sagemath/patches/trac-29665-enable_system_site_packages-135f184f7498a2046065e669723e68efe2d65cee.patch
+++ b/srcpkgs/sagemath/patches/trac-29665-enable_system_site_packages-135f184f7498a2046065e669723e68efe2d65cee.patch
@@ -5615,9 +5615,9 @@ index 84f3d50..c7ad206 100644
      EXAMPLES::
  
          sage: sorted(installed_packages().keys())  # optional - build
--        [...'alabaster', ...'sage_conf', ...]
--        sage: installed_packages()['alabaster']  # optional - build, random
--        '0.7.12'
+-        [...'gmpy2', ...'sage_conf', ...]
+-        sage: installed_packages()['gmpy2']  # optional - build, random
+-        '2.1.0b5'
 +        [...'sage_conf', ...]
 +        sage: installed_packages()['sage_conf']  # optional - build, random
 +        '9.5'
diff --git a/srcpkgs/sagemath/patches/trac-30766-system_python_3.10-df9f1d4ced4264f65ab704f725f6f5879b012796.patch b/srcpkgs/sagemath/patches/trac-30766-system_python_3.10-df9f1d4ced4264f65ab704f725f6f5879b012796.patch
deleted file mode 100644
index a1cb4c834482..000000000000
--- a/srcpkgs/sagemath/patches/trac-30766-system_python_3.10-df9f1d4ced4264f65ab704f725f6f5879b012796.patch
+++ /dev/null
@@ -1,263 +0,0 @@
-From e65ae6ca71fbe284affeb4ed88e63acc97a3fe0a Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Mon, 24 May 2021 17:06:47 -0700
-Subject: build/pkgs/python3/spkg-configure.m4: Accept system python 3.10.x
-
----
- build/pkgs/python3/spkg-configure.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/build/pkgs/python3/spkg-configure.m4 b/build/pkgs/python3/spkg-configure.m4
-index df74019..3cbb994 100644
---- a/build/pkgs/python3/spkg-configure.m4
-+++ b/build/pkgs/python3/spkg-configure.m4
-@@ -1,7 +1,7 @@
- SAGE_SPKG_CONFIGURE([python3], [
-    m4_pushdef([MIN_VERSION],               [3.7.0])
-    m4_pushdef([MIN_NONDEPRECATED_VERSION], [3.7.0])
--   m4_pushdef([LT_VERSION],                [3.10.0])
-+   m4_pushdef([LT_VERSION],                [3.11.0])
-    AC_ARG_WITH([python],
-                [AS_HELP_STRING([--with-python=PYTHON3],
-                                [Python 3 executable to use for the Sage venv; default: python3])])
--- 
-cgit v1.0-1-gd88e
-
-
-From 59173d01b4ed85077a847d2643c80bb3499c926a Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Wed, 15 Sep 2021 17:49:12 -0700
-Subject: pkgs/sage-setup/setup.cfg: Allow Python 3.10
-
----
- pkgs/sage-setup/setup.cfg | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pkgs/sage-setup/setup.cfg b/pkgs/sage-setup/setup.cfg
-index a1710d4..197fc67 100644
---- a/pkgs/sage-setup/setup.cfg
-+++ b/pkgs/sage-setup/setup.cfg
-@@ -31,7 +31,7 @@ packages =
-     sage_setup.autogen.interpreters.specs
-     sage_setup.command
- 
--python_requires = >=3.7, <3.10
-+python_requires = >=3.7, <3.11
- 
- install_requires =
-     pkgconfig
--- 
-cgit v1.0-1-gd88e
-
-
-From c902b7bc44c1b2116416962ec1194b8e59f11f06 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Fri, 17 Dec 2021 09:15:25 -0800
-Subject: src/setup.cfg.m4: Allow Python 3.10
-
----
- src/setup.cfg.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/setup.cfg.m4 b/src/setup.cfg.m4
-index 16f88f2..b8bd0c0 100644
---- a/src/setup.cfg.m4
-+++ b/src/setup.cfg.m4
-@@ -26,7 +26,7 @@ classifiers =
-     Topic :: Scientific/Engineering :: Mathematics
- 
- [options]
--python_requires = >=3.7, <3.10
-+python_requires = >=3.7, <3.11
- install_requires =
-     sage_conf
-     esyscmd(`sage-get-system-packages install-requires \
--- 
-cgit v1.0-1-gd88e
-
-
-From cb305525af1f872d00bb63387f7c68b88fb70a38 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Fri, 17 Dec 2021 09:38:43 -0800
-Subject: build/pkgs/python3/spkg-configure.m4: Warn on system python 3.10.x
-
----
- build/pkgs/python3/spkg-configure.m4 | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/build/pkgs/python3/spkg-configure.m4 b/build/pkgs/python3/spkg-configure.m4
-index 3cbb994..5e3481a 100644
---- a/build/pkgs/python3/spkg-configure.m4
-+++ b/build/pkgs/python3/spkg-configure.m4
-@@ -1,6 +1,7 @@
- SAGE_SPKG_CONFIGURE([python3], [
-    m4_pushdef([MIN_VERSION],               [3.7.0])
-    m4_pushdef([MIN_NONDEPRECATED_VERSION], [3.7.0])
-+   m4_pushdef([LT_STABLE_VERSION],         [3.10.0])
-    m4_pushdef([LT_VERSION],                [3.11.0])
-    AC_ARG_WITH([python],
-                [AS_HELP_STRING([--with-python=PYTHON3],
-@@ -116,6 +117,10 @@ and will be removed in the next development cycle.  Consider using a newer versi
- that may be available on your system or can be installed using the system package manager.
- To build Sage with a different system python, use ./configure --with-python=/path/to/python])
-         ])
-+        AX_COMPARE_VERSION([$python3_version], [ge], LT_STABLE_VERSION, [
-+            AC_MSG_WARN([Support for system python >= LT_STABLE_VERSION is experimental.
-+To build Sage with a different system python, use ./configure --with-python=/path/to/python])
-+        ])
-     ])
-     AC_SUBST([PYTHON_FOR_VENV])
- 
--- 
-cgit v1.0-1-gd88e
-
-
-From 249357dd30c54162e4b9204d6113c70b310a5087 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Sat, 18 Dec 2021 13:35:21 -0800
-Subject: sage.cpython.atexit: fix for python 3.10 (#30766)
-
----
- src/sage/cpython/atexit.pyx | 75 +++++++++++++++++++++++++++++----------------
- 1 file changed, 48 insertions(+), 27 deletions(-)
-
-diff --git a/src/sage/cpython/atexit.pyx b/src/sage/cpython/atexit.pyx
-index 5b0c6d1..3ba391b 100644
---- a/src/sage/cpython/atexit.pyx
-+++ b/src/sage/cpython/atexit.pyx
-@@ -144,43 +144,63 @@ cdef class restore_atexit:
- 
- from cpython.ref cimport PyObject
- 
--# Internal structures defined in the CPython source in
--# Modules/atexitmodule.c and subject to (but unlikely to) change.  Watch
--# https://bugs.python.org/issue32082 for a request to (eventually)
--# re-expose more of the atexit module's internals to Python
--ctypedef struct atexit_callback:
--    PyObject* func
--    PyObject* args
--    PyObject* kwargs
--
--
--ctypedef struct atexitmodule_state:
--    atexit_callback** atexit_callbacks
--    int ncallbacks
--    int callback_len
--
--
--cdef extern from "Python.h":
--    void* PyModule_GetState(object module)
--
-+# Implement "_atexit_callbacks()" for each supported python version
-+cdef extern from *:
-+    """
-+    #if PY_VERSION_HEX >= 0x030a0000
-+    /********** Python 3.10 **********/
-+    #define Py_BUILD_CORE
-+    #undef _PyGC_FINALIZED
-+    #include "internal/pycore_interp.h"
-+    #include "internal/pycore_pystate.h"
-+    static atexit_callback ** _atexit_callbacks(PyObject *self) {
-+        PyInterpreterState *interp = _PyInterpreterState_GET();
-+        struct atexit_state state = interp->atexit;
-+        return state.callbacks;
-+    }
-+    #else
-+    /********** Python < 3.10 **********/
-+    /* Internal structures defined in the CPython source in
-+     * Modules/atexitmodule.c and subject to (but unlikely to) change.  Watch
-+     * https://bugs.python.org/issue32082 for a request to (eventually)
-+     * re-expose more of the atexit module's internals to Python
-+     * typedef struct
-+     */
-+    typedef struct {
-+        PyObject *func;
-+        PyObject *args;
-+        PyObject *kwargs;
-+    } atexit_callback;
-+    typedef struct {
-+        atexit_callback **atexit_callbacks;
-+        int ncallbacks;
-+        int callback_len;
-+    } atexitmodule_state;
-+    static atexit_callback ** _atexit_callbacks(PyObject *self) {
-+        atexitmodule_state *state = PyModule_GetState(self);
-+        return state->atexit_callbacks;
-+    }
-+    #endif
-+    """
-+    ctypedef struct atexit_callback:
-+        PyObject* func
-+        PyObject* args
-+        PyObject* kwargs
-+    atexit_callback** _atexit_callbacks(object module)
- 
- def _get_exithandlers():
-     """Return list of exit handlers registered with the atexit module."""
--    cdef atexitmodule_state* state
-+    cdef atexit_callback ** callbacks
-     cdef atexit_callback callback
-     cdef list exithandlers
-     cdef int idx
-     cdef object kwargs
- 
--    state = <atexitmodule_state*>PyModule_GetState(atexit)
--
--    if not state:
--        raise RuntimeError("atexit module state missing or corrupt")
--
-     exithandlers = []
-+    callbacks = _atexit_callbacks(atexit)
- 
--    for idx in range(state.ncallbacks):
--        callback = state.atexit_callbacks[idx][0]
-+    for idx in range(atexit._ncallbacks()):
-+        callback = callbacks[idx][0]
-         if callback.kwargs:
-             kwargs = <object>callback.kwargs
-         else:
-@@ -207,4 +227,5 @@ def _set_exithandlers(exithandlers):
- 
- def _clear_exithandlers():
-     """Clear the atexit module of all registered exit handlers."""
-+
-     atexit._clear()
--- 
-cgit v1.0-1-gd88e
-
-
-From df9f1d4ced4264f65ab704f725f6f5879b012796 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
-Date: Sun, 19 Dec 2021 22:36:44 -0300
-Subject: Pass float(0.5) to time.sleep
-
-Since python 3.10, passing RealNumber breaks.
----
- src/sage_docbuild/utils.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/sage_docbuild/utils.py b/src/sage_docbuild/utils.py
-index 956d703f..3e4793e 100644
---- a/src/sage_docbuild/utils.py
-+++ b/src/sage_docbuild/utils.py
-@@ -79,7 +79,7 @@ def build_many(target, args, processes=None):
-         ....:         # Task 4 is a poison pill
-         ....:         1 / 0
-         ....:     else:
--        ....:         time.sleep(0.5)
-+        ....:         time.sleep(float(0.5))
-         ....:         print('Processed task %s' % N)
-         ....:
- 
-@@ -104,7 +104,7 @@ def build_many(target, args, processes=None):
-         ....:         # Task 4 is a poison pill
-         ....:         os.kill(os.getpid(), signal.SIGKILL)
-         ....:     else:
--        ....:         time.sleep(0.5)
-+        ....:         time.sleep(float(0.5))
-         ....:         print('Processed task %s' % N)
-         ....:
-         sage: build_many(target, range(8), processes=8)
--- 
-cgit v1.0-1-gd88e
-
diff --git a/srcpkgs/sagemath/patches/trac-33040-update_matplotlib_to_3.5-d865a54526829b79d5d236a40f83ddc6ce7b2696.patch b/srcpkgs/sagemath/patches/trac-33040-update_matplotlib_to_3.5-d865a54526829b79d5d236a40f83ddc6ce7b2696.patch
deleted file mode 100644
index 3ae6fe01822d..000000000000
--- a/srcpkgs/sagemath/patches/trac-33040-update_matplotlib_to_3.5-d865a54526829b79d5d236a40f83ddc6ce7b2696.patch
+++ /dev/null
@@ -1,1196 +0,0 @@
-From 6cd3723646a516b27864fbb6669d2a9a25fd11e0 Mon Sep 17 00:00:00 2001
-From: Antonio Rojas <arojas@archlinux.org>
-Date: Tue, 30 Mar 2021 20:05:47 +0200
-Subject: Update matplotlib to 3.4.0
-
----
- build/pkgs/matplotlib/checksums.ini       | 6 +++---
- build/pkgs/matplotlib/package-version.txt | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/build/pkgs/matplotlib/checksums.ini b/build/pkgs/matplotlib/checksums.ini
-index 75fbea5..96f2344 100644
---- a/build/pkgs/matplotlib/checksums.ini
-+++ b/build/pkgs/matplotlib/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=matplotlib-VERSION.tar.gz
--sha1=a26c32c19f39d88ad6ae67e774b677c075a36eac
--md5=0b48f34ec623e765a1bda15924ce0b56
--cksum=3626490879
-+sha1=e29cc841d52b3df2c080b05b4019a9fe7d092c13
-+md5=556395cc4ef4306025ce5138b9b68dd3
-+cksum=3473305609
- upstream_url=https://pypi.io/packages/source/m/matplotlib/matplotlib-VERSION.tar.gz
-diff --git a/build/pkgs/matplotlib/package-version.txt b/build/pkgs/matplotlib/package-version.txt
-index a0891f5..1809198 100644
---- a/build/pkgs/matplotlib/package-version.txt
-+++ b/build/pkgs/matplotlib/package-version.txt
-@@ -1 +1 @@
--3.3.4
-+3.4.0
--- 
-cgit v1.0-1-gd88e
-
-
-From 4d742f220a3b0479afab1675d4bea5a39b944f7a Mon Sep 17 00:00:00 2001
-From: Antonio Rojas <arojas@archlinux.org>
-Date: Wed, 12 May 2021 08:23:25 +0200
-Subject: Update matplotlib to 3.4.2
-
----
- build/pkgs/matplotlib/checksums.ini       | 6 +++---
- build/pkgs/matplotlib/package-version.txt | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/build/pkgs/matplotlib/checksums.ini b/build/pkgs/matplotlib/checksums.ini
-index 96f2344..9a32546 100644
---- a/build/pkgs/matplotlib/checksums.ini
-+++ b/build/pkgs/matplotlib/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=matplotlib-VERSION.tar.gz
--sha1=e29cc841d52b3df2c080b05b4019a9fe7d092c13
--md5=556395cc4ef4306025ce5138b9b68dd3
--cksum=3473305609
-+sha1=1a8a2b31fe5eaf70ea6d687dc05be3bd5cc595e5
-+md5=e34749a5f0661b8af74a1dc327fb74f6
-+cksum=1488332141
- upstream_url=https://pypi.io/packages/source/m/matplotlib/matplotlib-VERSION.tar.gz
-diff --git a/build/pkgs/matplotlib/package-version.txt b/build/pkgs/matplotlib/package-version.txt
-index 1809198..4d9d11c 100644
---- a/build/pkgs/matplotlib/package-version.txt
-+++ b/build/pkgs/matplotlib/package-version.txt
-@@ -1 +1 @@
--3.4.0
-+3.4.2
--- 
-cgit v1.0-1-gd88e
-
-
-From e406102e240c8931f24caf5f354266f76f4a91d6 Mon Sep 17 00:00:00 2001
-From: Dima Pasechnik <dima@pasechnik.info>
-Date: Sat, 17 Jul 2021 11:34:20 +0100
-Subject: qhull is a dependency
-
----
- build/pkgs/matplotlib/dependencies | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/build/pkgs/matplotlib/dependencies b/build/pkgs/matplotlib/dependencies
-index 542dab4..e32a563 100644
---- a/build/pkgs/matplotlib/dependencies
-+++ b/build/pkgs/matplotlib/dependencies
-@@ -1,4 +1,4 @@
--$(PYTHON) numpy freetype pillow dateutil pyparsing tornado six cycler | $(PYTHON_TOOLCHAIN) pytz kiwisolver certifi
-+$(PYTHON) numpy freetype pillow dateutil pyparsing tornado six cycler qhull | $(PYTHON_TOOLCHAIN) pytz kiwisolver certifi
- 
- ----------
- All lines of this file are ignored except the first.
--- 
-cgit v1.0-1-gd88e
-
-
-From 51ba6f3cd21f83b1f70faaf17a97490ab12d97a9 Mon Sep 17 00:00:00 2001
-From: Dima Pasechnik <dima@pasechnik.info>
-Date: Sat, 17 Jul 2021 11:49:33 +0100
-Subject: qhull standard, as a dep of matplotlib
-
-matplotlib has qhull as a dependency now
----
- build/pkgs/qhull/type | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/build/pkgs/qhull/type b/build/pkgs/qhull/type
-index 134d9bc..a6a7b9c 100644
---- a/build/pkgs/qhull/type
-+++ b/build/pkgs/qhull/type
-@@ -1 +1 @@
--optional
-+standard
--- 
-cgit v1.0-1-gd88e
-
-
-From 86698214e0d42b3a7a1b935da6f7723122503785 Mon Sep 17 00:00:00 2001
-From: Dima Pasechnik <dima@pasechnik.info>
-Date: Mon, 19 Jul 2021 12:42:13 +0100
-Subject: do not vendor ghull, unconditionally
-
----
- build/pkgs/matplotlib/make-setup-config.py | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/build/pkgs/matplotlib/make-setup-config.py b/build/pkgs/matplotlib/make-setup-config.py
-index b4d5d05..2a53eab 100644
---- a/build/pkgs/matplotlib/make-setup-config.py
-+++ b/build/pkgs/matplotlib/make-setup-config.py
-@@ -9,8 +9,7 @@ config.set('directories', 'basedirlist', os.environ['SAGE_LOCAL'])
- 
- config.add_section('libs')
- config.set('libs', 'system_freetype', 'True')
--if pkgconfig.installed('qhull', '>= 7.2.0'):
--    config.set('libs', 'system_qhull', 'True')
-+config.set('libs', 'system_qhull', 'True')
- # lto is problematic if we mix libraries from the OS with our own libraries,
- # which are not necessarily compiled with the same gcc version
- # https://trac.sagemath.org/ticket/27754
--- 
-cgit v1.0-1-gd88e
-
-
-From f999e9b913e4e6a69398318b0651a82ceb9e0e06 Mon Sep 17 00:00:00 2001
-From: Dima Pasechnik <dima@pasechnik.info>
-Date: Wed, 28 Jul 2021 11:31:30 +0100
-Subject: upstream patch to recitfy docbuild problem
-
-see https://github.com/matplotlib/matplotlib/pull/20748
-and trac #32262
----
- build/pkgs/matplotlib/package-version.txt                 |  2 +-
- build/pkgs/matplotlib/patches/create_staticifneeded.patch | 10 ++++++++++
- 2 files changed, 11 insertions(+), 1 deletion(-)
- create mode 100644 build/pkgs/matplotlib/patches/create_staticifneeded.patch
-
-diff --git a/build/pkgs/matplotlib/package-version.txt b/build/pkgs/matplotlib/package-version.txt
-index 4d9d11c..09d7341 100644
---- a/build/pkgs/matplotlib/package-version.txt
-+++ b/build/pkgs/matplotlib/package-version.txt
-@@ -1 +1 @@
--3.4.2
-+3.4.2.p1
-diff --git a/build/pkgs/matplotlib/patches/create_staticifneeded.patch b/build/pkgs/matplotlib/patches/create_staticifneeded.patch
-new file mode 100644
-index 00000000..7e6ed2f
---- /dev/null
-+++ b/build/pkgs/matplotlib/patches/create_staticifneeded.patch
-@@ -0,0 +1,10 @@
-+diff --git a/lib/matplotlib/sphinxext/plot_directive.py b/lib/matplotlib/sphinxext/plot_directive.py
-+index d59d9bdd71bf..d40e0c58b4a5 100644
-+--- a/lib/matplotlib/sphinxext/plot_directive.py
-++++ b/lib/matplotlib/sphinxext/plot_directive.py
-+@@ -266,6 +266,7 @@ def _copy_css_file(app, exc):
-+     if exc is None and app.builder.format == 'html':
-+         src = cbook._get_data_path('plot_directive/plot_directive.css')
-+         dst = app.outdir / Path('_static')
-++        dst.mkdir(exist_ok=True)
-+         shutil.copy(src, dst)
--- 
-cgit v1.0-1-gd88e
-
-
-From af761fa8ac78452b92fa9ff0a1dbaf9bfe787ac7 Mon Sep 17 00:00:00 2001
-From: Dima Pasechnik <dima@pasechnik.info>
-Date: Wed, 8 Sep 2021 13:33:51 +0100
-Subject: update to 3.4.3
-
----
- build/pkgs/matplotlib/checksums.ini       | 6 +++---
- build/pkgs/matplotlib/package-version.txt | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/build/pkgs/matplotlib/checksums.ini b/build/pkgs/matplotlib/checksums.ini
-index 9a32546..2783080 100644
---- a/build/pkgs/matplotlib/checksums.ini
-+++ b/build/pkgs/matplotlib/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=matplotlib-VERSION.tar.gz
--sha1=1a8a2b31fe5eaf70ea6d687dc05be3bd5cc595e5
--md5=e34749a5f0661b8af74a1dc327fb74f6
--cksum=1488332141
-+sha1=764fb3c673f45bedb472bc81c63b9c36f7973c46
-+md5=6858958370a26cccfa81abc7b6dd3622
-+cksum=2317464343
- upstream_url=https://pypi.io/packages/source/m/matplotlib/matplotlib-VERSION.tar.gz
-diff --git a/build/pkgs/matplotlib/package-version.txt b/build/pkgs/matplotlib/package-version.txt
-index 09d7341..6cb9d3d 100644
---- a/build/pkgs/matplotlib/package-version.txt
-+++ b/build/pkgs/matplotlib/package-version.txt
-@@ -1 +1 @@
--3.4.2.p1
-+3.4.3
--- 
-cgit v1.0-1-gd88e
-
-
-From 24b7a9a9c19bcfc32e1975012b2fad55736dc0ec Mon Sep 17 00:00:00 2001
-From: Dima Pasechnik <dima@pasechnik.info>
-Date: Wed, 8 Sep 2021 14:04:48 +0100
-Subject: Revert "upstream patch to recitfy docbuild problem"
-
-This reverts commit 13912acb0e04c6548e6914f8bd40f42fc2d5863c.
----
- build/pkgs/matplotlib/patches/create_staticifneeded.patch | 10 ----------
- 1 file changed, 10 deletions(-)
- delete mode 100644 build/pkgs/matplotlib/patches/create_staticifneeded.patch
-
-diff --git a/build/pkgs/matplotlib/patches/create_staticifneeded.patch b/build/pkgs/matplotlib/patches/create_staticifneeded.patch
-deleted file mode 100644
-index 7e6ed2f..00000000
---- a/build/pkgs/matplotlib/patches/create_staticifneeded.patch
-+++ /dev/null
-@@ -1,10 +0,0 @@
--diff --git a/lib/matplotlib/sphinxext/plot_directive.py b/lib/matplotlib/sphinxext/plot_directive.py
--index d59d9bdd71bf..d40e0c58b4a5 100644
----- a/lib/matplotlib/sphinxext/plot_directive.py
--+++ b/lib/matplotlib/sphinxext/plot_directive.py
--@@ -266,6 +266,7 @@ def _copy_css_file(app, exc):
--     if exc is None and app.builder.format == 'html':
--         src = cbook._get_data_path('plot_directive/plot_directive.css')
--         dst = app.outdir / Path('_static')
--+        dst.mkdir(exist_ok=True)
--         shutil.copy(src, dst)
--- 
-cgit v1.0-1-gd88e
-
-
-From 42435f4aee9cd901dba119255a02247055b7dc80 Mon Sep 17 00:00:00 2001
-From: Dima Pasechnik <dima@pasechnik.info>
-Date: Sun, 19 Sep 2021 15:51:34 +0100
-Subject: add gfortran to _prereq/distros/*
-
----
- build/pkgs/_prereq/distros/arch.txt      | 1 +
- build/pkgs/_prereq/distros/conda.txt     | 1 +
- build/pkgs/_prereq/distros/cygwin.txt    | 1 +
- build/pkgs/_prereq/distros/debian.txt    | 1 +
- build/pkgs/_prereq/distros/fedora.txt    | 1 +
- build/pkgs/_prereq/distros/freebsd.txt   | 1 +
- build/pkgs/_prereq/distros/homebrew.txt  | 3 +--
- build/pkgs/_prereq/distros/macports.txt  | 1 +
- build/pkgs/_prereq/distros/opensuse.txt  | 1 +
- build/pkgs/_prereq/distros/slackware.txt | 1 +
- build/pkgs/_prereq/distros/void.txt      | 1 +
- 11 files changed, 11 insertions(+), 2 deletions(-)
- create mode 100644 build/pkgs/_prereq/distros/macports.txt
-
-diff --git a/build/pkgs/_prereq/distros/arch.txt b/build/pkgs/_prereq/distros/arch.txt
-index 9b9bf09..f43cab4 100644
---- a/build/pkgs/_prereq/distros/arch.txt
-+++ b/build/pkgs/_prereq/distros/arch.txt
-@@ -6,5 +6,6 @@ python # system python for bootstrapping the build
- tar
- bc
- gcc
-+gcc-fortran
- # Needed for 4ti2:
- which
-diff --git a/build/pkgs/_prereq/distros/conda.txt b/build/pkgs/_prereq/distros/conda.txt
-index a02a39e..0e66d82 100644
---- a/build/pkgs/_prereq/distros/conda.txt
-+++ b/build/pkgs/_prereq/distros/conda.txt
-@@ -1,4 +1,5 @@
- compilers
-+fortran-compiler
- make
- m4
- perl
-diff --git a/build/pkgs/_prereq/distros/cygwin.txt b/build/pkgs/_prereq/distros/cygwin.txt
-index 635afe8..fc0304d 100644
---- a/build/pkgs/_prereq/distros/cygwin.txt
-+++ b/build/pkgs/_prereq/distros/cygwin.txt
-@@ -19,6 +19,7 @@ perl-ExtUtils-MakeMaker
- tar
- gcc-core
- gcc-g++
-+gcc-fortran
- # Needed according to embray at https://trac.sagemath.org/ticket/26964:
- # The need for which comes [...] from MPIR's configure script
- findutils
-diff --git a/build/pkgs/_prereq/distros/debian.txt b/build/pkgs/_prereq/distros/debian.txt
-index 50be6ac..c348ee3 100644
---- a/build/pkgs/_prereq/distros/debian.txt
-+++ b/build/pkgs/_prereq/distros/debian.txt
-@@ -26,5 +26,6 @@ gcc
- # configure: error: in `/sage':
- # configure: error: C++ preprocessor "/lib/cpp" fails sanity check
- g++
-+gfortran
- # Needed if we download some packages from a https upstream URL
- ca-certificates
-diff --git a/build/pkgs/_prereq/distros/fedora.txt b/build/pkgs/_prereq/distros/fedora.txt
-index a82e29a..d5a5ae7 100644
---- a/build/pkgs/_prereq/distros/fedora.txt
-+++ b/build/pkgs/_prereq/distros/fedora.txt
-@@ -26,6 +26,7 @@ gcc
- # configure: error: in `/sage':
- # configure: error: C++ preprocessor "/lib/cpp" fails sanity check
- gcc-c++
-+gcc-gfortran
- # Needed according to embray at https://trac.sagemath.org/ticket/26964:
- # The need for which comes [...] from MPIR's configure script
- findutils
-diff --git a/build/pkgs/_prereq/distros/freebsd.txt b/build/pkgs/_prereq/distros/freebsd.txt
-index cc708cc..ec26136 100644
---- a/build/pkgs/_prereq/distros/freebsd.txt
-+++ b/build/pkgs/_prereq/distros/freebsd.txt
-@@ -17,3 +17,4 @@ automake
- bash
- dash
- python # python metaport for bootstrapping the build
-+lang/gcc9 # gfortran
-diff --git a/build/pkgs/_prereq/distros/homebrew.txt b/build/pkgs/_prereq/distros/homebrew.txt
-index 863c22a..f537c17 100644
---- a/build/pkgs/_prereq/distros/homebrew.txt
-+++ b/build/pkgs/_prereq/distros/homebrew.txt
-@@ -8,5 +8,4 @@
- # for use in "sage -info SPKG".
- #
- # Everything on a line after a # character is ignored.
--
--# No packages needed
-+gcc
-diff --git a/build/pkgs/_prereq/distros/macports.txt b/build/pkgs/_prereq/distros/macports.txt
-new file mode 100644
-index 00000000..c2878ad
---- /dev/null
-+++ b/build/pkgs/_prereq/distros/macports.txt
-@@ -0,0 +1 @@
-+gcc10 +gfortran
-diff --git a/build/pkgs/_prereq/distros/opensuse.txt b/build/pkgs/_prereq/distros/opensuse.txt
-index 070f456..959ab26 100644
---- a/build/pkgs/_prereq/distros/opensuse.txt
-+++ b/build/pkgs/_prereq/distros/opensuse.txt
-@@ -19,6 +19,7 @@ which
- glibc-locale-base
- gcc
- gcc-c++
-+gcc-fortran
- # Needed if we download some packages from a https upstream URL
- ca-certificates
- # gunzip needed for ppl spkg
-diff --git a/build/pkgs/_prereq/distros/slackware.txt b/build/pkgs/_prereq/distros/slackware.txt
-index a976efe..11ec3b9 100644
---- a/build/pkgs/_prereq/distros/slackware.txt
-+++ b/build/pkgs/_prereq/distros/slackware.txt
-@@ -3,6 +3,7 @@ make
- guile gc libffi  # dependencies of make
- "gcc-[0-9]"      # So that slackpkg pattern matching does not pull in all gcc-* packages
- gcc-g++
-+gcc-gfortran
- libmpc glibc kernel-headers # dependencies of gcc
- perl
- m4
-diff --git a/build/pkgs/_prereq/distros/void.txt b/build/pkgs/_prereq/distros/void.txt
-index a2e7644..2769f4d 100644
---- a/build/pkgs/_prereq/distros/void.txt
-+++ b/build/pkgs/_prereq/distros/void.txt
-@@ -7,4 +7,5 @@ python3
- tar
- bc
- gcc
-+gcc-fortran
- which
--- 
-cgit v1.0-1-gd88e
-
-
-From 8af511c414982483de66a93d84865475b262efc1 Mon Sep 17 00:00:00 2001
-From: Dima Pasechnik <dima@pasechnik.info>
-Date: Tue, 16 Nov 2021 15:47:08 +0000
-Subject: rebase, update deps
-
----
- build/pkgs/cycler/checksums.ini           | 1 +
- build/pkgs/cycler/package-version.txt     | 2 +-
- build/pkgs/kiwisolver/checksums.ini       | 7 ++++---
- build/pkgs/kiwisolver/package-version.txt | 2 +-
- build/pkgs/pytz/SPKG.rst                  | 1 +
- build/pkgs/pytz/package-version.txt       | 2 +-
- 6 files changed, 9 insertions(+), 6 deletions(-)
-
-diff --git a/build/pkgs/cycler/checksums.ini b/build/pkgs/cycler/checksums.ini
-index 6c1ffe0..f6d988d 100644
---- a/build/pkgs/cycler/checksums.ini
-+++ b/build/pkgs/cycler/checksums.ini
-@@ -2,3 +2,4 @@ tarball=cycler-VERSION.tar.gz
- sha1=1bcf4a985a5f414333603f3f70a7deebbaf30439
- md5=4cb42917ac5007d1cdff6cccfe2d016b
- cksum=4189438538
-+upstream_url=https://github.com/matplotlib/cycler/archive/refs/tags/vVERSION.tar.gz
-diff --git a/build/pkgs/cycler/package-version.txt b/build/pkgs/cycler/package-version.txt
-index db2d863..d9df1bb 100644
---- a/build/pkgs/cycler/package-version.txt
-+++ b/build/pkgs/cycler/package-version.txt
-@@ -1 +1 @@
--0.10.0.p0
-+0.11.0
-diff --git a/build/pkgs/kiwisolver/checksums.ini b/build/pkgs/kiwisolver/checksums.ini
-index 1ca0ba3..fc15fad 100644
---- a/build/pkgs/kiwisolver/checksums.ini
-+++ b/build/pkgs/kiwisolver/checksums.ini
-@@ -1,4 +1,5 @@
- tarball=kiwisolver-VERSION.tar.gz
--sha1=093c2348a53fe18d42983ddbd823911b21781928
--md5=e2a1718b837e2cd001f7c06934616fcd
--cksum=4236707026
-+sha1=61811685031328a8a2a77f45593d8238432ce35e
-+md5=98d746f558685c6b6658cefc39be14df
-+cksum=1915059157
-+upstream_url=https://files.pythonhosted.org/packages/source/k/kiwisolver/kiwisolver-VERSION.tar.gz
-diff --git a/build/pkgs/kiwisolver/package-version.txt b/build/pkgs/kiwisolver/package-version.txt
-index 7dea76e..1892b92 100644
---- a/build/pkgs/kiwisolver/package-version.txt
-+++ b/build/pkgs/kiwisolver/package-version.txt
-@@ -1 +1 @@
--1.0.1
-+1.3.2
-diff --git a/build/pkgs/pytz/SPKG.rst b/build/pkgs/pytz/SPKG.rst
-index 75827d0..199f8df 100644
---- a/build/pkgs/pytz/SPKG.rst
-+++ b/build/pkgs/pytz/SPKG.rst
-@@ -5,6 +5,7 @@ Description
- -----------
- 
- World Timezone Definitions for Python
-+See https://pypi.org/project/pytz/
- 
- 
- Special Update/Build Instructions
-diff --git a/build/pkgs/pytz/package-version.txt b/build/pkgs/pytz/package-version.txt
-index d673154..c9c8e05 100644
---- a/build/pkgs/pytz/package-version.txt
-+++ b/build/pkgs/pytz/package-version.txt
-@@ -1 +1 @@
--2021.1
-+2021.3
--- 
-cgit v1.0-1-gd88e
-
-
-From 5c972e4f1e27382191f268880c5222dc9d687d11 Mon Sep 17 00:00:00 2001
-From: Dima Pasechnik <dima@pasechnik.info>
-Date: Tue, 16 Nov 2021 15:52:31 +0000
-Subject: correct checksum
-
----
- build/pkgs/pytz/checksums.ini | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/build/pkgs/pytz/checksums.ini b/build/pkgs/pytz/checksums.ini
-index ede348f..0faabac 100644
---- a/build/pkgs/pytz/checksums.ini
-+++ b/build/pkgs/pytz/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=pytz-VERSION.tar.gz
--sha1=738cff9addf39084e5655558482f865dca2c66dd
--md5=8c849bdf95414fe708a84473e42d4406
--cksum=1633513953
-+sha1=fa6729d40cfa607daee0f40cdab165976ab0e0a3
-+md5=d7b7060bbac4970afa2050c139c9fcb6
-+cksum=3161093227
- upstream_url=https://pypi.io/packages/source/p/pytz/pytz-VERSION.tar.gz
--- 
-cgit v1.0-1-gd88e
-
-
-From 00b677bcc532b75faec7ee8980e25d8ddeb395ae Mon Sep 17 00:00:00 2001
-From: Dima Pasechnik <dima@pasechnik.info>
-Date: Tue, 16 Nov 2021 16:52:32 +0000
-Subject: new dep of kiwisolver, cppy
-
----
- build/pkgs/cppy/checksums.ini       | 5 +++++
- build/pkgs/cppy/package-version.txt | 1 +
- build/pkgs/cppy/spkg-install.in     | 1 +
- build/pkgs/cppy/type                | 1 +
- 4 files changed, 8 insertions(+)
- create mode 100644 build/pkgs/cppy/checksums.ini
- create mode 100644 build/pkgs/cppy/package-version.txt
- create mode 100644 build/pkgs/cppy/spkg-install.in
- create mode 100644 build/pkgs/cppy/type
-
-diff --git a/build/pkgs/cppy/checksums.ini b/build/pkgs/cppy/checksums.ini
-new file mode 100644
-index 00000000..85eb695
---- /dev/null
-+++ b/build/pkgs/cppy/checksums.ini
-@@ -0,0 +1,5 @@
-+tarball=cppy-VERSION.tar.gz
-+sha1=61811685031328a8a2a77f45593d8238432ce35e
-+md5=98d746f558685c6b6658cefc39be14df
-+cksum=1915059157
-+upstream_url=https://files.pythonhosted.org/packages/source/c/cppy/cppy-VERSION.tar.gz
-diff --git a/build/pkgs/cppy/package-version.txt b/build/pkgs/cppy/package-version.txt
-new file mode 100644
-index 00000000..9084fa2
---- /dev/null
-+++ b/build/pkgs/cppy/package-version.txt
-@@ -0,0 +1 @@
-+1.1.0
-diff --git a/build/pkgs/cppy/spkg-install.in b/build/pkgs/cppy/spkg-install.in
-new file mode 100644
-index 00000000..deba1bb
---- /dev/null
-+++ b/build/pkgs/cppy/spkg-install.in
-@@ -0,0 +1 @@
-+cd src && sdh_pip_install .
-diff --git a/build/pkgs/cppy/type b/build/pkgs/cppy/type
-new file mode 100644
-index 00000000..a6a7b9c
---- /dev/null
-+++ b/build/pkgs/cppy/type
-@@ -0,0 +1 @@
-+standard
--- 
-cgit v1.0-1-gd88e
-
-
-From 48b7ec3849754abb1a526887a85f6fdd4e6a4d30 Mon Sep 17 00:00:00 2001
-From: Dima Pasechnik <dima@pasechnik.info>
-Date: Tue, 16 Nov 2021 16:56:36 +0000
-Subject: update matplotlib deps
-
----
- build/pkgs/certifi/checksums.ini         | 6 +++---
- build/pkgs/certifi/package-version.txt   | 2 +-
- build/pkgs/cppy/checksums.ini            | 6 +++---
- build/pkgs/cppy/dependencies             | 5 +++++
- build/pkgs/cycler/checksums.ini          | 6 +++---
- build/pkgs/dateutil/checksums.ini        | 7 ++++---
- build/pkgs/dateutil/package-version.txt  | 2 +-
- build/pkgs/kiwisolver/dependencies       | 2 +-
- build/pkgs/pillow/checksums.ini          | 6 +++---
- build/pkgs/pillow/package-version.txt    | 2 +-
- build/pkgs/pyparsing/checksums.ini       | 7 ++++---
- build/pkgs/pyparsing/package-version.txt | 2 +-
- 12 files changed, 30 insertions(+), 23 deletions(-)
- create mode 100644 build/pkgs/cppy/dependencies
-
-diff --git a/build/pkgs/certifi/checksums.ini b/build/pkgs/certifi/checksums.ini
-index bc548e0..87d8378 100644
---- a/build/pkgs/certifi/checksums.ini
-+++ b/build/pkgs/certifi/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=certifi-VERSION.tar.gz
--sha1=93145f31550b5e11dc323085d75a227856b93fd4
--md5=4b38238b7305fcb3ffbc4368be4e8845
--cksum=3424910066
-+sha1=b13e22d55867e2ca5f92e5289cfdc21ba6e343aa
-+md5=880ed9e5d04aff8f46f5ff82a3a3e395
-+cksum=613361382
- upstream_url=https://pypi.io/packages/source/c/certifi/certifi-VERSION.tar.gz
-diff --git a/build/pkgs/certifi/package-version.txt b/build/pkgs/certifi/package-version.txt
-index 6b59105..6b1fb39 100644
---- a/build/pkgs/certifi/package-version.txt
-+++ b/build/pkgs/certifi/package-version.txt
-@@ -1 +1 @@
--2021.5.30
-+2021.10.8
-diff --git a/build/pkgs/cppy/checksums.ini b/build/pkgs/cppy/checksums.ini
-index 85eb695..5c78167 100644
---- a/build/pkgs/cppy/checksums.ini
-+++ b/build/pkgs/cppy/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=cppy-VERSION.tar.gz
--sha1=61811685031328a8a2a77f45593d8238432ce35e
--md5=98d746f558685c6b6658cefc39be14df
--cksum=1915059157
-+sha1=3af4f5f14ef1f9b49d7457e2fa5c241c721db29c
-+md5=2110891d75aa12551deebba1603428c6
-+cksum=793876648
- upstream_url=https://files.pythonhosted.org/packages/source/c/cppy/cppy-VERSION.tar.gz
-diff --git a/build/pkgs/cppy/dependencies b/build/pkgs/cppy/dependencies
-new file mode 100644
-index 00000000..15df0c4
---- /dev/null
-+++ b/build/pkgs/cppy/dependencies
-@@ -0,0 +1,5 @@
-+$(PYTHON) | $(PYTHON_TOOLCHAIN)
-+
-+----------
-+All lines of this file are ignored except the first.
-+It is copied by SAGE_ROOT/build/make/install into SAGE_ROOT/build/make/Makefile.
-diff --git a/build/pkgs/cycler/checksums.ini b/build/pkgs/cycler/checksums.ini
-index f6d988d..8883ddd 100644
---- a/build/pkgs/cycler/checksums.ini
-+++ b/build/pkgs/cycler/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=cycler-VERSION.tar.gz
--sha1=1bcf4a985a5f414333603f3f70a7deebbaf30439
--md5=4cb42917ac5007d1cdff6cccfe2d016b
--cksum=4189438538
-+sha1=ea144185cf1d54d7415e3c66d705d9a232e57da5
-+md5=cf3b4846fded12fa4d2a7a291a5d6e13
-+cksum=3626319704
- upstream_url=https://github.com/matplotlib/cycler/archive/refs/tags/vVERSION.tar.gz
-diff --git a/build/pkgs/dateutil/checksums.ini b/build/pkgs/dateutil/checksums.ini
-index e08ee45..20fbeb6 100644
---- a/build/pkgs/dateutil/checksums.ini
-+++ b/build/pkgs/dateutil/checksums.ini
-@@ -1,4 +1,5 @@
- tarball=python-dateutil-VERSION.tar.gz
--sha1=bd26127e57f83a10f656b62c46524c15aeb844dd
--md5=f2a1d4b680b297b367a974664ca3a4f6
--cksum=675236266
-+sha1=c2ba10c775b7a52a4b57cac4d4110a0c0f812a82
-+md5=5970010bb72452344df3d76a10281b65
-+cksum=3093929984
-+upstream_url=https://files.pythonhosted.org/packages/source/p/python-dateutil/python-dateutil-VERSION.tar.gz
-diff --git a/build/pkgs/dateutil/package-version.txt b/build/pkgs/dateutil/package-version.txt
-index dbe5900..1817afe 100644
---- a/build/pkgs/dateutil/package-version.txt
-+++ b/build/pkgs/dateutil/package-version.txt
-@@ -1 +1 @@
--2.8.1
-+2.8.2
-diff --git a/build/pkgs/kiwisolver/dependencies b/build/pkgs/kiwisolver/dependencies
-index 15df0c4..80b9352 100644
---- a/build/pkgs/kiwisolver/dependencies
-+++ b/build/pkgs/kiwisolver/dependencies
-@@ -1,4 +1,4 @@
--$(PYTHON) | $(PYTHON_TOOLCHAIN)
-+$(PYTHON) cppy | $(PYTHON_TOOLCHAIN)
- 
- ----------
- All lines of this file are ignored except the first.
-diff --git a/build/pkgs/pillow/checksums.ini b/build/pkgs/pillow/checksums.ini
-index 7adfee1..71d2e39 100644
---- a/build/pkgs/pillow/checksums.ini
-+++ b/build/pkgs/pillow/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=Pillow-VERSION.tar.gz
--sha1=2c972f30581da0c58edb1e2bed420c2b8f6fd216
--md5=14ce2c5d19369e335c331c8f529ecf87
--cksum=976804255
-+sha1=ca8d057aec64ccd0804044bc71c17921afbe2e4e
-+md5=7a1eb5a250c7ccbd549a89e16404f09f
-+cksum=555919456
- upstream_url=https://pypi.io/packages/source/p/pillow/Pillow-VERSION.tar.gz
-diff --git a/build/pkgs/pillow/package-version.txt b/build/pkgs/pillow/package-version.txt
-index 6b409d9..a2f28f4 100644
---- a/build/pkgs/pillow/package-version.txt
-+++ b/build/pkgs/pillow/package-version.txt
-@@ -1 +1 @@
--8.1.2
-+8.4.0
-diff --git a/build/pkgs/pyparsing/checksums.ini b/build/pkgs/pyparsing/checksums.ini
-index 30aa3fa..d3c3d9b 100644
---- a/build/pkgs/pyparsing/checksums.ini
-+++ b/build/pkgs/pyparsing/checksums.ini
-@@ -1,4 +1,5 @@
- tarball=pyparsing-VERSION.tar.gz
--sha1=ca8d892c93fe2d54ea5e6f31c5798e40c58e8667
--md5=f0953e47a0112f7a65aec2305ffdf7b4
--cksum=2411150047
-+sha1=9c25e076bcf191734a44b85d1eb5d8c3324894c6
-+md5=2f5fad6c8e99ac2562ab08ad9e45b195
-+cksum=421409881
-+upstream_url=https://files.pythonhosted.org/packages/source/p/pyparsing/pyparsing-VERSION.tar.gz
-diff --git a/build/pkgs/pyparsing/package-version.txt b/build/pkgs/pyparsing/package-version.txt
-index e30309f..818bd47 100644
---- a/build/pkgs/pyparsing/package-version.txt
-+++ b/build/pkgs/pyparsing/package-version.txt
-@@ -1 +1 @@
--2.4.7
-+3.0.6
--- 
-cgit v1.0-1-gd88e
-
-
-From 26910e65f5357fc2f6505440fccc718a52908872 Mon Sep 17 00:00:00 2001
-From: Dima Pasechnik <dima@pasechnik.info>
-Date: Tue, 16 Nov 2021 17:48:55 +0000
-Subject: fix SPKG.rst's for cppy and kiwisolver
-
----
- build/pkgs/cppy/SPKG.rst       | 22 ++++++++++++++++++++++
- build/pkgs/kiwisolver/SPKG.rst |  6 ------
- 2 files changed, 22 insertions(+), 6 deletions(-)
- create mode 100644 build/pkgs/cppy/SPKG.rst
-
-diff --git a/build/pkgs/cppy/SPKG.rst b/build/pkgs/cppy/SPKG.rst
-new file mode 100644
-index 00000000..a10d0e1
---- /dev/null
-+++ b/build/pkgs/cppy/SPKG.rst
-@@ -0,0 +1,22 @@
-+cppy: C++ headers for C extension development
-+===========================================================================
-+
-+Description
-+-----------
-+
-+From: https://pypi.org/project/cppy/
-+
-+A small C++ header library which makes it easier to write Python extension
-+modules. The primary feature is a PyObject smart pointer which automatically
-+handles reference counting and provides convenience methods for performing
-+common object operations.
-+
-+License
-+-------
-+
-+Modified BSD 3-Clause-License
-+
-+Upstream Contact
-+----------------
-+
-+https://github.com/nucleic/cppy
-diff --git a/build/pkgs/kiwisolver/SPKG.rst b/build/pkgs/kiwisolver/SPKG.rst
-index afaccda..f461bf0 100644
---- a/build/pkgs/kiwisolver/SPKG.rst
-+++ b/build/pkgs/kiwisolver/SPKG.rst
-@@ -29,9 +29,3 @@ Upstream Contact
- ----------------
- 
- https://github.com/nucleic/kiwi
--
--Dependencies
--------------
--
---  python
---  setuptools
--- 
-cgit v1.0-1-gd88e
-
-
-From aedaf93a51ee4bd69cf61b7c999940d6990b911c Mon Sep 17 00:00:00 2001
-From: Dima Pasechnik <dima@pasechnik.info>
-Date: Tue, 16 Nov 2021 17:58:07 +0000
-Subject: Revert "add gfortran to _prereq/distros/*"
-
-This reverts commit 42435f4aee9cd901dba119255a02247055b7dc80.
----
- build/pkgs/_prereq/distros/arch.txt      | 1 -
- build/pkgs/_prereq/distros/conda.txt     | 1 -
- build/pkgs/_prereq/distros/cygwin.txt    | 1 -
- build/pkgs/_prereq/distros/debian.txt    | 1 -
- build/pkgs/_prereq/distros/fedora.txt    | 1 -
- build/pkgs/_prereq/distros/freebsd.txt   | 1 -
- build/pkgs/_prereq/distros/homebrew.txt  | 3 ++-
- build/pkgs/_prereq/distros/macports.txt  | 1 -
- build/pkgs/_prereq/distros/opensuse.txt  | 1 -
- build/pkgs/_prereq/distros/slackware.txt | 1 -
- build/pkgs/_prereq/distros/void.txt      | 1 -
- 11 files changed, 2 insertions(+), 11 deletions(-)
- delete mode 100644 build/pkgs/_prereq/distros/macports.txt
-
-diff --git a/build/pkgs/_prereq/distros/arch.txt b/build/pkgs/_prereq/distros/arch.txt
-index f43cab4..9b9bf09 100644
---- a/build/pkgs/_prereq/distros/arch.txt
-+++ b/build/pkgs/_prereq/distros/arch.txt
-@@ -6,6 +6,5 @@ python # system python for bootstrapping the build
- tar
- bc
- gcc
--gcc-fortran
- # Needed for 4ti2:
- which
-diff --git a/build/pkgs/_prereq/distros/conda.txt b/build/pkgs/_prereq/distros/conda.txt
-index 0e66d82..a02a39e 100644
---- a/build/pkgs/_prereq/distros/conda.txt
-+++ b/build/pkgs/_prereq/distros/conda.txt
-@@ -1,5 +1,4 @@
- compilers
--fortran-compiler
- make
- m4
- perl
-diff --git a/build/pkgs/_prereq/distros/cygwin.txt b/build/pkgs/_prereq/distros/cygwin.txt
-index fc0304d..635afe8 100644
---- a/build/pkgs/_prereq/distros/cygwin.txt
-+++ b/build/pkgs/_prereq/distros/cygwin.txt
-@@ -19,7 +19,6 @@ perl-ExtUtils-MakeMaker
- tar
- gcc-core
- gcc-g++
--gcc-fortran
- # Needed according to embray at https://trac.sagemath.org/ticket/26964:
- # The need for which comes [...] from MPIR's configure script
- findutils
-diff --git a/build/pkgs/_prereq/distros/debian.txt b/build/pkgs/_prereq/distros/debian.txt
-index c348ee3..50be6ac 100644
---- a/build/pkgs/_prereq/distros/debian.txt
-+++ b/build/pkgs/_prereq/distros/debian.txt
-@@ -26,6 +26,5 @@ gcc
- # configure: error: in `/sage':
- # configure: error: C++ preprocessor "/lib/cpp" fails sanity check
- g++
--gfortran
- # Needed if we download some packages from a https upstream URL
- ca-certificates
-diff --git a/build/pkgs/_prereq/distros/fedora.txt b/build/pkgs/_prereq/distros/fedora.txt
-index d5a5ae7..a82e29a 100644
---- a/build/pkgs/_prereq/distros/fedora.txt
-+++ b/build/pkgs/_prereq/distros/fedora.txt
-@@ -26,7 +26,6 @@ gcc
- # configure: error: in `/sage':
- # configure: error: C++ preprocessor "/lib/cpp" fails sanity check
- gcc-c++
--gcc-gfortran
- # Needed according to embray at https://trac.sagemath.org/ticket/26964:
- # The need for which comes [...] from MPIR's configure script
- findutils
-diff --git a/build/pkgs/_prereq/distros/freebsd.txt b/build/pkgs/_prereq/distros/freebsd.txt
-index ec26136..cc708cc 100644
---- a/build/pkgs/_prereq/distros/freebsd.txt
-+++ b/build/pkgs/_prereq/distros/freebsd.txt
-@@ -17,4 +17,3 @@ automake
- bash
- dash
- python # python metaport for bootstrapping the build
--lang/gcc9 # gfortran
-diff --git a/build/pkgs/_prereq/distros/homebrew.txt b/build/pkgs/_prereq/distros/homebrew.txt
-index f537c17..863c22a 100644
---- a/build/pkgs/_prereq/distros/homebrew.txt
-+++ b/build/pkgs/_prereq/distros/homebrew.txt
-@@ -8,4 +8,5 @@
- # for use in "sage -info SPKG".
- #
- # Everything on a line after a # character is ignored.
--gcc
-+
-+# No packages needed
-diff --git a/build/pkgs/_prereq/distros/macports.txt b/build/pkgs/_prereq/distros/macports.txt
-deleted file mode 100644
-index c2878ad..00000000
---- a/build/pkgs/_prereq/distros/macports.txt
-+++ /dev/null
-@@ -1 +0,0 @@
--gcc10 +gfortran
-diff --git a/build/pkgs/_prereq/distros/opensuse.txt b/build/pkgs/_prereq/distros/opensuse.txt
-index 959ab26..070f456 100644
---- a/build/pkgs/_prereq/distros/opensuse.txt
-+++ b/build/pkgs/_prereq/distros/opensuse.txt
-@@ -19,7 +19,6 @@ which
- glibc-locale-base
- gcc
- gcc-c++
--gcc-fortran
- # Needed if we download some packages from a https upstream URL
- ca-certificates
- # gunzip needed for ppl spkg
-diff --git a/build/pkgs/_prereq/distros/slackware.txt b/build/pkgs/_prereq/distros/slackware.txt
-index 11ec3b9..a976efe 100644
---- a/build/pkgs/_prereq/distros/slackware.txt
-+++ b/build/pkgs/_prereq/distros/slackware.txt
-@@ -3,7 +3,6 @@ make
- guile gc libffi  # dependencies of make
- "gcc-[0-9]"      # So that slackpkg pattern matching does not pull in all gcc-* packages
- gcc-g++
--gcc-gfortran
- libmpc glibc kernel-headers # dependencies of gcc
- perl
- m4
-diff --git a/build/pkgs/_prereq/distros/void.txt b/build/pkgs/_prereq/distros/void.txt
-index 2769f4d..a2e7644 100644
---- a/build/pkgs/_prereq/distros/void.txt
-+++ b/build/pkgs/_prereq/distros/void.txt
-@@ -7,5 +7,4 @@ python3
- tar
- bc
- gcc
--gcc-fortran
- which
--- 
-cgit v1.0-1-gd88e
-
-
-From 62792d4b191d2116774562147a5d089b88d5c1cd Mon Sep 17 00:00:00 2001
-From: Dima Pasechnik <dima@pasechnik.info>
-Date: Tue, 16 Nov 2021 18:42:30 +0000
-Subject: use pypi host for cycler url
-
----
- build/pkgs/cycler/checksums.ini | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/build/pkgs/cycler/checksums.ini b/build/pkgs/cycler/checksums.ini
-index 8883ddd..b9f7e51 100644
---- a/build/pkgs/cycler/checksums.ini
-+++ b/build/pkgs/cycler/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=cycler-VERSION.tar.gz
--sha1=ea144185cf1d54d7415e3c66d705d9a232e57da5
--md5=cf3b4846fded12fa4d2a7a291a5d6e13
--cksum=3626319704
--upstream_url=https://github.com/matplotlib/cycler/archive/refs/tags/vVERSION.tar.gz
-+sha1=576c8605d33a8f70eccabf321ecc9e2fbdb9fb72
-+md5=4d0c25f418956e91c47163179682e0ef
-+cksum=2916957464
-+upstream_url=https://files.pythonhosted.org/packages/source/c/cycler/cycler-VERSION.tar.gz
--- 
-cgit v1.0-1-gd88e
-
-
-From 6d203eb9812b244096f597f6998655110468c6ee Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Fri, 17 Dec 2021 18:34:30 -0800
-Subject: build/pkgs/matplotlib: Update to 3.5.1
-
----
- build/pkgs/matplotlib/checksums.ini       | 6 +++---
- build/pkgs/matplotlib/package-version.txt | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/build/pkgs/matplotlib/checksums.ini b/build/pkgs/matplotlib/checksums.ini
-index 2783080..b2b3d3c 100644
---- a/build/pkgs/matplotlib/checksums.ini
-+++ b/build/pkgs/matplotlib/checksums.ini
-@@ -1,5 +1,5 @@
- tarball=matplotlib-VERSION.tar.gz
--sha1=764fb3c673f45bedb472bc81c63b9c36f7973c46
--md5=6858958370a26cccfa81abc7b6dd3622
--cksum=2317464343
-+sha1=a9bb3b92594d991908a0052384c6abed81227a6f
-+md5=63adf3126167a54b1d5a506a71ecef46
-+cksum=1898324331
- upstream_url=https://pypi.io/packages/source/m/matplotlib/matplotlib-VERSION.tar.gz
-diff --git a/build/pkgs/matplotlib/package-version.txt b/build/pkgs/matplotlib/package-version.txt
-index 6cb9d3d..d5c0c99 100644
---- a/build/pkgs/matplotlib/package-version.txt
-+++ b/build/pkgs/matplotlib/package-version.txt
-@@ -1 +1 @@
--3.4.3
-+3.5.1
--- 
-cgit v1.0-1-gd88e
-
-
-From 5a68988cfb3f32884e9d2d68f484745c34c70ee1 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Fri, 17 Dec 2021 18:46:25 -0800
-Subject: build/pkgs/matplotlib/make-setup-config.py: Write mplsetup.cfg, not
- setup.cfg
-
----
- build/pkgs/matplotlib/make-setup-config.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/build/pkgs/matplotlib/make-setup-config.py b/build/pkgs/matplotlib/make-setup-config.py
-index 2a53eab..98450de 100644
---- a/build/pkgs/matplotlib/make-setup-config.py
-+++ b/build/pkgs/matplotlib/make-setup-config.py
-@@ -37,5 +37,5 @@ config.add_section('gui_support')
- for backend in ('gtk', 'gtkagg', 'tkagg', 'wxagg', 'macosx', 'windowing'):
-     config.set('gui_support', backend,  graphical_backend)
- 
--with open('src/setup.cfg', 'w') as configfile:
-+with open('src/mplsetup.cfg', 'w') as configfile:
-     config.write(configfile)
--- 
-cgit v1.0-1-gd88e
-
-
-From 767092b9dc04a4744b9e10ab4dabc0684756e038 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Fri, 17 Dec 2021 18:46:42 -0800
-Subject: build/pkgs/matplotlib/dependencies: Update dependencies
-
----
- build/pkgs/matplotlib/dependencies | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/build/pkgs/matplotlib/dependencies b/build/pkgs/matplotlib/dependencies
-index e32a563..0b3e62b 100644
---- a/build/pkgs/matplotlib/dependencies
-+++ b/build/pkgs/matplotlib/dependencies
-@@ -1,4 +1,4 @@
--$(PYTHON) numpy freetype pillow dateutil pyparsing tornado six cycler qhull | $(PYTHON_TOOLCHAIN) pytz kiwisolver certifi
-+$(PYTHON) numpy freetype pillow dateutil pyparsing tornado six cycler qhull fonttools | $(PYTHON_TOOLCHAIN) pytz kiwisolver certifi setuptools_scm_git_archive
- 
- ----------
- All lines of this file are ignored except the first.
--- 
-cgit v1.0-1-gd88e
-
-
-From 9b5a66335b9cf7b46c27c35b75ed12511660f858 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Fri, 17 Dec 2021 18:47:08 -0800
-Subject: build/pkgs/setuptools_scm_git_archive: New, matplotlib dependency
-
----
- build/pkgs/setuptools_scm_git_archive/SPKG.rst         | 18 ++++++++++++++++++
- build/pkgs/setuptools_scm_git_archive/checksums.ini    |  5 +++++
- build/pkgs/setuptools_scm_git_archive/dependencies     |  4 ++++
- .../setuptools_scm_git_archive/install-requires.txt    |  1 +
- .../setuptools_scm_git_archive/package-version.txt     |  1 +
- build/pkgs/setuptools_scm_git_archive/spkg-install.in  |  2 ++
- build/pkgs/setuptools_scm_git_archive/type             |  1 +
- 7 files changed, 32 insertions(+)
- create mode 100644 build/pkgs/setuptools_scm_git_archive/SPKG.rst
- create mode 100644 build/pkgs/setuptools_scm_git_archive/checksums.ini
- create mode 100644 build/pkgs/setuptools_scm_git_archive/dependencies
- create mode 100644 build/pkgs/setuptools_scm_git_archive/install-requires.txt
- create mode 100644 build/pkgs/setuptools_scm_git_archive/package-version.txt
- create mode 100644 build/pkgs/setuptools_scm_git_archive/spkg-install.in
- create mode 100644 build/pkgs/setuptools_scm_git_archive/type
-
-diff --git a/build/pkgs/setuptools_scm_git_archive/SPKG.rst b/build/pkgs/setuptools_scm_git_archive/SPKG.rst
-new file mode 100644
-index 00000000..540e0c2
---- /dev/null
-+++ b/build/pkgs/setuptools_scm_git_archive/SPKG.rst
-@@ -0,0 +1,18 @@
-+setuptools_scm_git_archive: setuptools_scm plugin for git archives
-+==================================================================
-+
-+Description
-+-----------
-+
-+setuptools_scm plugin for git archives
-+
-+License
-+-------
-+
-+MIT
-+
-+Upstream Contact
-+----------------
-+
-+https://pypi.org/project/setuptools-scm-git-archive/
-+
-diff --git a/build/pkgs/setuptools_scm_git_archive/checksums.ini b/build/pkgs/setuptools_scm_git_archive/checksums.ini
-new file mode 100644
-index 00000000..9a773ee
---- /dev/null
-+++ b/build/pkgs/setuptools_scm_git_archive/checksums.ini
-@@ -0,0 +1,5 @@
-+tarball=setuptools_scm_git_archive-VERSION.tar.gz
-+sha1=eda18924f3917e94cc54227660e3437d47f53bb9
-+md5=1c9351fa5cebd12e76488737a7c78f2e
-+cksum=188023730
-+upstream_url=https://pypi.io/packages/source/s/setuptools_scm_git_archive/setuptools_scm_git_archive-VERSION.tar.gz
-diff --git a/build/pkgs/setuptools_scm_git_archive/dependencies b/build/pkgs/setuptools_scm_git_archive/dependencies
-new file mode 100644
-index 00000000..0738c2d
---- /dev/null
-+++ b/build/pkgs/setuptools_scm_git_archive/dependencies
-@@ -0,0 +1,4 @@
-+$(PYTHON) | $(PYTHON_TOOLCHAIN)
-+
-+----------
-+All lines of this file are ignored except the first.
-diff --git a/build/pkgs/setuptools_scm_git_archive/install-requires.txt b/build/pkgs/setuptools_scm_git_archive/install-requires.txt
-new file mode 100644
-index 00000000..538474f
---- /dev/null
-+++ b/build/pkgs/setuptools_scm_git_archive/install-requires.txt
-@@ -0,0 +1 @@
-+setuptools-scm-git-archive
-diff --git a/build/pkgs/setuptools_scm_git_archive/package-version.txt b/build/pkgs/setuptools_scm_git_archive/package-version.txt
-new file mode 100644
-index 00000000..9459d4b
---- /dev/null
-+++ b/build/pkgs/setuptools_scm_git_archive/package-version.txt
-@@ -0,0 +1 @@
-+1.1
-diff --git a/build/pkgs/setuptools_scm_git_archive/spkg-install.in b/build/pkgs/setuptools_scm_git_archive/spkg-install.in
-new file mode 100644
-index 00000000..37ac1a5
---- /dev/null
-+++ b/build/pkgs/setuptools_scm_git_archive/spkg-install.in
-@@ -0,0 +1,2 @@
-+cd src
-+sdh_pip_install .
-diff --git a/build/pkgs/setuptools_scm_git_archive/type b/build/pkgs/setuptools_scm_git_archive/type
-new file mode 100644
-index 00000000..a6a7b9c
---- /dev/null
-+++ b/build/pkgs/setuptools_scm_git_archive/type
-@@ -0,0 +1 @@
-+standard
--- 
-cgit v1.0-1-gd88e
-
-
-From d865a54526829b79d5d236a40f83ddc6ce7b2696 Mon Sep 17 00:00:00 2001
-From: Matthias Koeppe <mkoeppe@math.ucdavis.edu>
-Date: Sat, 18 Dec 2021 12:33:27 -0800
-Subject: build/pkgs/fonttools: New
-
----
- build/pkgs/fonttools/SPKG.rst             | 18 ++++++++++++++++++
- build/pkgs/fonttools/checksums.ini        |  5 +++++
- build/pkgs/fonttools/dependencies         |  4 ++++
- build/pkgs/fonttools/install-requires.txt |  1 +
- build/pkgs/fonttools/package-version.txt  |  1 +
- build/pkgs/fonttools/spkg-install.in      |  3 +++
- build/pkgs/fonttools/type                 |  1 +
- 7 files changed, 33 insertions(+)
- create mode 100644 build/pkgs/fonttools/SPKG.rst
- create mode 100644 build/pkgs/fonttools/checksums.ini
- create mode 100644 build/pkgs/fonttools/dependencies
- create mode 100644 build/pkgs/fonttools/install-requires.txt
- create mode 100644 build/pkgs/fonttools/package-version.txt
- create mode 100644 build/pkgs/fonttools/spkg-install.in
- create mode 100644 build/pkgs/fonttools/type
-
-diff --git a/build/pkgs/fonttools/SPKG.rst b/build/pkgs/fonttools/SPKG.rst
-new file mode 100644
-index 00000000..7882c8b
---- /dev/null
-+++ b/build/pkgs/fonttools/SPKG.rst
-@@ -0,0 +1,18 @@
-+fonttools: Tools to manipulate font files
-+=========================================
-+
-+Description
-+-----------
-+
-+Tools to manipulate font files
-+
-+License
-+-------
-+
-+MIT
-+
-+Upstream Contact
-+----------------
-+
-+https://pypi.org/project/fonttools/
-+
-diff --git a/build/pkgs/fonttools/checksums.ini b/build/pkgs/fonttools/checksums.ini
-new file mode 100644
-index 00000000..1a0ba14
---- /dev/null
-+++ b/build/pkgs/fonttools/checksums.ini
-@@ -0,0 +1,5 @@
-+tarball=fonttools-VERSION.zip
-+sha1=8d6f8120ad4b3d00dd92cfea3a2e0b4ae1d72bc7
-+md5=c1605575dcc45ef35455ae1d606868b3
-+cksum=3346598630
-+upstream_url=https://pypi.io/packages/source/f/fonttools/fonttools-VERSION.zip
-diff --git a/build/pkgs/fonttools/dependencies b/build/pkgs/fonttools/dependencies
-new file mode 100644
-index 00000000..9c73666
---- /dev/null
-+++ b/build/pkgs/fonttools/dependencies
-@@ -0,0 +1,4 @@
-+$(PYTHON) | $(PYTHON_TOOLCHAIN) cython
-+
-+----------
-+All lines of this file are ignored except the first.
-diff --git a/build/pkgs/fonttools/install-requires.txt b/build/pkgs/fonttools/install-requires.txt
-new file mode 100644
-index 00000000..d32bfca
---- /dev/null
-+++ b/build/pkgs/fonttools/install-requires.txt
-@@ -0,0 +1 @@
-+fonttools
-diff --git a/build/pkgs/fonttools/package-version.txt b/build/pkgs/fonttools/package-version.txt
-new file mode 100644
-index 00000000..1f30b28
---- /dev/null
-+++ b/build/pkgs/fonttools/package-version.txt
-@@ -0,0 +1 @@
-+4.28.4
-diff --git a/build/pkgs/fonttools/spkg-install.in b/build/pkgs/fonttools/spkg-install.in
-new file mode 100644
-index 00000000..8855291
---- /dev/null
-+++ b/build/pkgs/fonttools/spkg-install.in
-@@ -0,0 +1,3 @@
-+cd src
-+export FONTTOOLS_WITH_CYTHON=1
-+sdh_pip_install .
-diff --git a/build/pkgs/fonttools/type b/build/pkgs/fonttools/type
-new file mode 100644
-index 00000000..a6a7b9c
---- /dev/null
-+++ b/build/pkgs/fonttools/type
-@@ -0,0 +1 @@
-+standard
--- 
-cgit v1.0-1-gd88e
-
diff --git a/srcpkgs/sagemath/patches/trac-33046-gap_make_symlinks_relative-521a9ec8d447be5bbd3a4260e7a5e0e4653e0c34.patch b/srcpkgs/sagemath/patches/trac-33046-gap_make_symlinks_relative-521a9ec8d447be5bbd3a4260e7a5e0e4653e0c34.patch
deleted file mode 100644
index 485fb0176f45..000000000000
--- a/srcpkgs/sagemath/patches/trac-33046-gap_make_symlinks_relative-521a9ec8d447be5bbd3a4260e7a5e0e4653e0c34.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 521a9ec8d447be5bbd3a4260e7a5e0e4653e0c34 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
-Date: Sun, 28 Nov 2021 18:57:34 -0300
-Subject: build/pkgs/gap/spkg-install: make symlinks relative
-
----
- build/pkgs/gap/spkg-install.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/build/pkgs/gap/spkg-install.in b/build/pkgs/gap/spkg-install.in
-index 32d1fb9..2ceadf9 100644
---- a/build/pkgs/gap/spkg-install.in
-+++ b/build/pkgs/gap/spkg-install.in
-@@ -80,8 +80,8 @@ chmod +x "$SAGE_DESTDIR$SAGE_BIN/gap"
- 
- # Create symlinks under $GAP_ROOT for these executables, as they are expected
- # (especially when building kernel packages) to exist
--ln -sf "$SAGE_BIN/gap-bin" "$DESTDIR_GAP_ROOT/gap"
--ln -sf "$SAGE_BIN/gac" "$DESTDIR_GAP_ROOT/gac"
-+ln -sf "../../bin/gap-bin" "$DESTDIR_GAP_ROOT/gap"
-+ln -sf "../../bin/gac" "$DESTDIR_GAP_ROOT/gac"
- 
- # Fix the $GAP_ROOT/bin/<arch>/src symlink to be relative (otherwise it links
- # to the actual path of the sources GAP was compiled from)
--- 
-cgit v1.0-1-gd88e
-
diff --git a/srcpkgs/sagemath/patches/trac-33064-sage_docbuild_ignore_cache_save_permission_error-f767cf1eadfd8ab540a31c5c5ef09d56df09b90e.patch b/srcpkgs/sagemath/patches/trac-33064-sage_docbuild_ignore_cache_save_permission_error-e89193f4f32246ad9ded6d37f1f2f12a589a81f4.patch
similarity index 92%
rename from srcpkgs/sagemath/patches/trac-33064-sage_docbuild_ignore_cache_save_permission_error-f767cf1eadfd8ab540a31c5c5ef09d56df09b90e.patch
rename to srcpkgs/sagemath/patches/trac-33064-sage_docbuild_ignore_cache_save_permission_error-e89193f4f32246ad9ded6d37f1f2f12a589a81f4.patch
index 20fa12e570eb..04f04cfd6718 100644
--- a/srcpkgs/sagemath/patches/trac-33064-sage_docbuild_ignore_cache_save_permission_error-f767cf1eadfd8ab540a31c5c5ef09d56df09b90e.patch
+++ b/srcpkgs/sagemath/patches/trac-33064-sage_docbuild_ignore_cache_save_permission_error-e89193f4f32246ad9ded6d37f1f2f12a589a81f4.patch
@@ -1,4 +1,4 @@
-From f767cf1eadfd8ab540a31c5c5ef09d56df09b90e Mon Sep 17 00:00:00 2001
+From e89193f4f32246ad9ded6d37f1f2f12a589a81f4 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
 Date: Tue, 21 Dec 2021 13:08:44 -0300
 Subject: sage_docbuild: do not fail when cache cannot be saved
@@ -8,7 +8,7 @@ Subject: sage_docbuild: do not fail when cache cannot be saved
  1 file changed, 6 insertions(+), 3 deletions(-)
 
 diff --git a/src/sage_docbuild/__init__.py b/src/sage_docbuild/__init__.py
-index 8a5c1a1..e188c9b 100644
+index 466ca82..f8c8ebd 100644
 --- a/src/sage_docbuild/__init__.py
 +++ b/src/sage_docbuild/__init__.py
 @@ -856,9 +856,12 @@ class ReferenceSubBuilder(DocBuilder):
diff --git a/srcpkgs/sagemath/patches/trac-33073-fix_segfault_on_polyhedra-177903138d0403be7c7cb303de2bc0a0e0b6793c.patch b/srcpkgs/sagemath/patches/trac-33073-fix_segfault_on_polyhedra-177903138d0403be7c7cb303de2bc0a0e0b6793c.patch
deleted file mode 100644
index 6bc5193b75ee..000000000000
--- a/srcpkgs/sagemath/patches/trac-33073-fix_segfault_on_polyhedra-177903138d0403be7c7cb303de2bc0a0e0b6793c.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 5f492e3b7f45e65e8db8ae74d6b3aee20912a14b Mon Sep 17 00:00:00 2001
-From: Jonathan Kliem <jonathan.kliem@fu-berlin.de>
-Date: Fri, 24 Dec 2021 11:56:56 +0100
-Subject: fix alignment on 32-bit machines
-
----
- src/sage/data_structures/bitset_intrinsics.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/sage/data_structures/bitset_intrinsics.h b/src/sage/data_structures/bitset_intrinsics.h
-index f55b6bd..88ac659 100644
---- a/src/sage/data_structures/bitset_intrinsics.h
-+++ b/src/sage/data_structures/bitset_intrinsics.h
-@@ -29,7 +29,7 @@ const mp_bitcnt_t LIMB_SIZE = sizeof(mp_limb_t);
- #elif __SSE4_1__
-     const mp_bitcnt_t ALIGNMENT = 16;
- #else
--    const mp_bitcnt_t ALIGNMENT = 8;
-+    const mp_bitcnt_t ALIGNMENT = LIMB_SIZE;
- #endif
- 
- // We assume that ``GMP_LIMB_BITS`` is a divisor of 64
--- 
-cgit v1.0-1-gd88e
-
-
-From 179a508cb136b860d6ef36410811f07a14658492 Mon Sep 17 00:00:00 2001
-From: Jonathan Kliem <jonathan.kliem@fu-berlin.de>
-Date: Sun, 26 Dec 2021 19:13:16 +0100
-Subject: work around an issue with ubuntu-bionic
-
----
- src/sage/data_structures/bitset_intrinsics.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/sage/data_structures/bitset_intrinsics.h b/src/sage/data_structures/bitset_intrinsics.h
-index 88ac659..c21f5e2 100644
---- a/src/sage/data_structures/bitset_intrinsics.h
-+++ b/src/sage/data_structures/bitset_intrinsics.h
-@@ -29,7 +29,7 @@ const mp_bitcnt_t LIMB_SIZE = sizeof(mp_limb_t);
- #elif __SSE4_1__
-     const mp_bitcnt_t ALIGNMENT = 16;
- #else
--    const mp_bitcnt_t ALIGNMENT = LIMB_SIZE;
-+    const mp_bitcnt_t ALIGNMENT = sizeof(mp_limb_t);
- #endif
- 
- // We assume that ``GMP_LIMB_BITS`` is a divisor of 64
--- 
-cgit v1.0-1-gd88e
-
-
-From 177903138d0403be7c7cb303de2bc0a0e0b6793c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
-Date: Sun, 26 Dec 2021 23:26:12 -0300
-Subject: fix a test on 32-bit machines
-
----
- .../geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pyx   | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/src/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pyx b/src/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pyx
-index 69a659c..0478b6c 100644
---- a/src/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pyx
-+++ b/src/sage/geometry/polyhedron/combinatorial_polyhedron/list_of_faces.pyx
-@@ -156,10 +156,11 @@ cdef class ListOfFaces:
-             sage: from memory_allocator.test import TestMemoryAllocator
-             sage: t = TestMemoryAllocator()
-             sage: m = t.size_t_max()
-+            # The following is only certain to fail on 64-bit
-             sage: ListOfFaces(1, m, 1)
--            Traceback (most recent call last):
-+            Traceback (most recent call last):          # 64-bit
-             ...
--            MemoryError: failed to allocate ...
-+            MemoryError: failed to allocate ...         # 64-bit
-         """
-         face_list_free(self.data)
- 
--- 
-cgit v1.0-1-gd88e
-
diff --git a/srcpkgs/sagemath/patches/trac-33085-pass_doctests_without_dochtml-4e364ea702799d8ddee23d306ea6622f2ac412ce.patch b/srcpkgs/sagemath/patches/trac-33085-pass_doctests_without_dochtml-88dd9f3a1611fed0cc66fb838eb85739646dd34d.patch
similarity index 63%
rename from srcpkgs/sagemath/patches/trac-33085-pass_doctests_without_dochtml-4e364ea702799d8ddee23d306ea6622f2ac412ce.patch
rename to srcpkgs/sagemath/patches/trac-33085-pass_doctests_without_dochtml-88dd9f3a1611fed0cc66fb838eb85739646dd34d.patch
index 3794aa7f019b..04fca4815a00 100644
--- a/srcpkgs/sagemath/patches/trac-33085-pass_doctests_without_dochtml-4e364ea702799d8ddee23d306ea6622f2ac412ce.patch
+++ b/srcpkgs/sagemath/patches/trac-33085-pass_doctests_without_dochtml-88dd9f3a1611fed0cc66fb838eb85739646dd34d.patch
@@ -1,4 +1,4 @@
-From 7d3381b21e4716cfa8a33915621a12f0eba74233 Mon Sep 17 00:00:00 2001
+From 18d0477153af6f453a0e84f78030535f6a36ce87 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
 Date: Sun, 26 Dec 2021 18:21:18 -0300
 Subject: doctests: remove dochtml label from some tests that don't need docs
@@ -10,56 +10,56 @@ Subject: doctests: remove dochtml label from some tests that don't need docs
  2 files changed, 8 insertions(+), 8 deletions(-)
 
 diff --git a/src/sage/docs/conf.py b/src/sage/docs/conf.py
-index f2efb65..da41efa 100644
+index c788623..527ed90 100644
 --- a/src/sage/docs/conf.py
 +++ b/src/sage/docs/conf.py
 @@ -719,8 +719,8 @@ def call_intersphinx(app, env, node, contnode):
      Check that the link from the thematic tutorials to the reference
      manual is relative, see :trac:`20118`::
  
--        sage: from sage.env import SAGE_DOC  # optional - dochtml
--        sage: thematic_index = os.path.join(SAGE_DOC, "html", "en", "thematic_tutorials", "index.html")  # optional - dochtml
+-        sage: from sage.env import SAGE_DOC  # optional - sagemath_doc_html
+-        sage: thematic_index = os.path.join(SAGE_DOC, "html", "en", "thematic_tutorials", "index.html")  # optional - sagemath_doc_html
 +        sage: from sage.env import SAGE_DOC
 +        sage: thematic_index = os.path.join(SAGE_DOC, "html", "en", "thematic_tutorials", "index.html")
-         sage: for line in open(thematic_index).readlines():  # optional - dochtml
+         sage: for line in open(thematic_index).readlines():  # optional - sagemath_doc_html
          ....:     if "padics" in line:
          ....:         _ = sys.stdout.write(line)
 diff --git a/src/sage/misc/sagedoc.py b/src/sage/misc/sagedoc.py
-index eb70516..b4848ed 100644
+index 4c56aea..583ca06 100644
 --- a/src/sage/misc/sagedoc.py
 +++ b/src/sage/misc/sagedoc.py
 @@ -18,8 +18,8 @@ TESTS:
  Check that argspecs of extension function/methods appear correctly,
  see :trac:`12849`::
  
--    sage: from sage.env import SAGE_DOC  # optional - dochtml
--    sage: docfilename = os.path.join(SAGE_DOC, 'html', 'en', 'reference', 'calculus', 'sage', 'symbolic', 'expression.html')  # optional - dochtml
+-    sage: from sage.env import SAGE_DOC  # optional - sagemath_doc_html
+-    sage: docfilename = os.path.join(SAGE_DOC, 'html', 'en', 'reference', 'calculus', 'sage', 'symbolic', 'expression.html')  # optional - sagemath_doc_html
 +    sage: from sage.env import SAGE_DOC
 +    sage: docfilename = os.path.join(SAGE_DOC, 'html', 'en', 'reference', 'calculus', 'sage', 'symbolic', 'expression.html')
-     sage: with open(docfilename) as fobj:  # optional - dochtml
+     sage: with open(docfilename) as fobj:  # optional - sagemath_doc_html
      ....:     for line in fobj:
      ....:         if "#sage.symbolic.expression.Expression.numerical_approx" in line:
-@@ -839,12 +839,12 @@ def _search_src_or_doc(what, string, extra1='', extra2='', extra3='',
+@@ -845,12 +845,12 @@ def _search_src_or_doc(what, string, extra1='', extra2='', extra3='',
  
      ::
  
--        sage: from sage.misc.sagedoc import _search_src_or_doc  # optional - dochtml
--        sage: len(_search_src_or_doc('src', r'matrix\(', 'incidence_structures', 'self', 'combinat', interact=False).splitlines()) > 1  # optional - dochtml
+-        sage: from sage.misc.sagedoc import _search_src_or_doc  # optional - sagemath_doc_html
+-        sage: len(_search_src_or_doc('src', r'matrix\(', 'incidence_structures', 'self', 'combinat', interact=False).splitlines()) > 1  # optional - sagemath_doc_html
 +        sage: from sage.misc.sagedoc import _search_src_or_doc
 +        sage: len(_search_src_or_doc('src', r'matrix\(', 'incidence_structures', 'self', 'combinat', interact=False).splitlines()) > 1
          True
-         sage: 'abvar/homology' in _search_src_or_doc('doc', 'homology', 'variety', interact=False)  # optional - dochtml, long time (4s on sage.math, 2012)
+         sage: 'abvar/homology' in _search_src_or_doc('doc', 'homology', 'variety', interact=False)  # optional - sagemath_doc_html, long time (4s on sage.math, 2012)
          True
--        sage: 'divisors' in _search_src_or_doc('src', '^ *def prime', interact=False)  # optional - dochtml
+-        sage: 'divisors' in _search_src_or_doc('src', '^ *def prime', interact=False)  # optional - sagemath_doc_html
 +        sage: 'divisors' in _search_src_or_doc('src', '^ *def prime', interact=False)
          True
  
      When passing ``interactive=True``, in a terminal session this will pass the
-@@ -1363,7 +1363,7 @@ class _sage_doc:
+@@ -1369,7 +1369,7 @@ class _sage_doc:
  
-         sage: browse_sage_doc._open("reference", testing=True)[0]  # optional - dochtml, indirect doctest
+         sage: browse_sage_doc._open("reference", testing=True)[0]  # optional - sagemath_doc_html, indirect doctest
          'http://localhost:8000/doc/live/reference/index.html'
--        sage: browse_sage_doc(identity_matrix, 'rst')[-107:-47]  # optional - dochtml
+-        sage: browse_sage_doc(identity_matrix, 'rst')[-107:-47]  # optional - sagemath_doc_html
 +        sage: browse_sage_doc(identity_matrix, 'rst')[-107:-47]
          'Full MatrixSpace of 3 by 3 sparse matrices over Integer Ring'
      """
@@ -68,7 +68,7 @@ index eb70516..b4848ed 100644
 cgit v1.0-1-gd88e
 
 
-From 42a76c3f82edecc9c6c53c661251677e3e907584 Mon Sep 17 00:00:00 2001
+From 88dd9f3a1611fed0cc66fb838eb85739646dd34d Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
 Date: Sun, 26 Dec 2021 18:22:13 -0300
 Subject: doctests: add dochtml label to some tests that need docs installed
@@ -78,7 +78,7 @@ Subject: doctests: add dochtml label to some tests that need docs installed
  1 file changed, 5 insertions(+), 5 deletions(-)
 
 diff --git a/src/sage_docbuild/__init__.py b/src/sage_docbuild/__init__.py
-index 4a71c91..dd233bd 100644
+index f8c8ebd..d329009 100644
 --- a/src/sage_docbuild/__init__.py
 +++ b/src/sage_docbuild/__init__.py
 @@ -105,7 +105,7 @@ def builder_helper(type):
@@ -86,7 +86,7 @@ index 4a71c91..dd233bd 100644
          sage: from sage_docbuild import _build_many as build_many
          sage: helper = builder_helper("html")
 -        sage: try:
-+        sage: try:  # optional - dochtml
++        sage: try:  # optional - sagemath_doc_html
          ....:     build_many(build_ref_doc, [("docname", "en", "html", {})])
          ....: except Exception as E:
          ....:     "Non-exception during docbuild: abort pool operation" in str(E)
@@ -95,7 +95,7 @@ index 4a71c91..dd233bd 100644
              sage: from sage_docbuild import DocBuilder
              sage: b = DocBuilder('tutorial')
 -            sage: b._output_dir('html')
-+            sage: b._output_dir('html')         # optional - dochtml
++            sage: b._output_dir('html')         # optional - sagemath_doc_html
              '.../html/en/tutorial'
          """
          d = os.path.join(SAGE_DOC, type, self.lang, self.name)
@@ -104,7 +104,7 @@ index 4a71c91..dd233bd 100644
              sage: from sage_docbuild import DocBuilder
              sage: b = DocBuilder('tutorial')
 -            sage: b._doctrees_dir()
-+            sage: b._doctrees_dir()             # optional - docthml
++            sage: b._doctrees_dir()             # optional - sagemath_doc_html
              '.../doctrees/en/tutorial'
          """
          d = os.path.join(SAGE_DOC, 'doctrees', self.lang, self.name)
@@ -113,7 +113,7 @@ index 4a71c91..dd233bd 100644
              sage: from sage_docbuild import ReferenceBuilder
              sage: b = ReferenceBuilder('reference')
 -            sage: b._output_dir('html')
-+            sage: b._output_dir('html')         # optional - dochtml
++            sage: b._output_dir('html')         # optional - sagemath_doc_html
              '.../html/en/reference'
          """
          if lang is None:
@@ -122,56 +122,10 @@ index 4a71c91..dd233bd 100644
              sage: from sage_docbuild import ReferenceTopBuilder
              sage: b = ReferenceTopBuilder('reference')
 -            sage: b._output_dir('html')
-+            sage: b._output_dir('html')         # optional - dochtml
++            sage: b._output_dir('html')         # optional - sagemath_doc_html
              '.../html/en/reference'
          """
          if lang is None:
 -- 
 cgit v1.0-1-gd88e
 
-
-From 4e364ea702799d8ddee23d306ea6622f2ac412ce Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
-Date: Sun, 26 Dec 2021 18:22:49 -0300
-Subject: doctests: use dochtml as default option only when html docs are
- installed
-
----
- src/bin/sage-runtests | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/src/bin/sage-runtests b/src/bin/sage-runtests
-index 589dc8c..6e6fa5b 100755
---- a/src/bin/sage-runtests
-+++ b/src/bin/sage-runtests
-@@ -8,6 +8,7 @@ import sys
- DOT_SAGE = os.environ.get('DOT_SAGE', os.path.join(os.environ.get('HOME'),
-                                                    '.sage'))
- SAGE_ROOT = os.environ.get('SAGE_ROOT')
-+SAGE_DOC = os.environ.get('SAGE_DOC')
- 
- # Override to not pick up user configuration, see Trac #20270
- os.environ['SAGE_STARTUP_FILE'] = os.path.join(DOT_SAGE, 'init-doctests.sage')
-@@ -15,7 +16,7 @@ os.environ['SAGE_STARTUP_FILE'] = os.path.join(DOT_SAGE, 'init-doctests.sage')
- 
- def _get_optional_defaults():
-     """Return the default value for the --optional flag."""
--    optional = ['sage', 'dochtml', 'optional']
-+    optional = ['sage', 'optional']
- 
-     # This should be good-enough to determine if we are in a sage source
-     # repository working tree
-@@ -24,6 +25,10 @@ def _get_optional_defaults():
-             os.path.isfile(os.path.join(SAGE_ROOT, 'sage'))):
-         optional.append('build')
- 
-+    # Check if the html docs are installed
-+    if (SAGE_DOC and os.path.isdir(os.path.join(SAGE_DOC, 'html'))):
-+        optional.append('dochtml')
-+
-     return ','.join(optional)
- 
- 
--- 
-cgit v1.0-1-gd88e
-
diff --git a/srcpkgs/sagemath/patches/trac-33135-ignore_deprecation_warnings-836249c415e11d0522bff9013bc1509264b26ebf.patch b/srcpkgs/sagemath/patches/trac-33135-ignore_deprecation_warnings-836249c415e11d0522bff9013bc1509264b26ebf.patch
new file mode 100644
index 000000000000..d32f1e4d5e9f
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-33135-ignore_deprecation_warnings-836249c415e11d0522bff9013bc1509264b26ebf.patch
@@ -0,0 +1,27 @@
+From 836249c415e11d0522bff9013bc1509264b26ebf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Sun, 9 Jan 2022 16:51:22 -0300
+Subject: trac 33135: add filter to ignore deprecation warnings
+
+---
+ src/sage/all.py | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/sage/all.py b/src/sage/all.py
+index 01ef327..19ca3d4 100644
+--- a/src/sage/all.py
++++ b/src/sage/all.py
+@@ -96,6 +96,10 @@ warnings.filterwarnings('ignore', category=DeprecationWarning,
+ warnings.filterwarnings('ignore', category=DeprecationWarning,
+                         module='pythran')
+ 
++warnings.filterwarnings('ignore', category=DeprecationWarning,
++                        message='The distutils(.sysconfig module| package) is deprecated',
++                        module='numpy|sage.env|sage.features')
++
+ ################ end setup warnings ###############################
+ 
+ 
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/patches/zzz-skip_doctest_singular_4.2.1--see_33134.patch b/srcpkgs/sagemath/patches/zzz-skip_doctest_singular_4.2.1--see_33134.patch
new file mode 100644
index 000000000000..438078a92036
--- /dev/null
+++ b/srcpkgs/sagemath/patches/zzz-skip_doctest_singular_4.2.1--see_33134.patch
@@ -0,0 +1,13 @@
+diff --git a/src/sage/rings/polynomial/hilbert.pyx b/src/sage/rings/polynomial/hilbert.pyx
+index 4cd91d0a46..323b168c4e 100644
+--- a/src/sage/rings/polynomial/hilbert.pyx
++++ b/src/sage/rings/polynomial/hilbert.pyx
+@@ -578,7 +578,7 @@ def hilbert_poincare_series(I, grading=None):
+ 
+     This example exceeded the capabilities of Singular before version 4.2.1p2::
+ 
+-        sage: J.hilbert_numerator(algorithm='singular')
++        sage: J.hilbert_numerator(algorithm='singular')   # not tested - requires singular 4.2.1p2
+         120*t^33 - 3465*t^32 + 48180*t^31 - 429374*t^30 + 2753520*t^29 - 13522410*t^28 + 52832780*t^27 - 168384150*t^26 + 445188744*t^25 - 987193350*t^24 + 1847488500*t^23 + 1372406746*t^22 - 403422496*t^21 - 8403314*t^20 - 471656596*t^19 + 1806623746*t^18 + 752776200*t^17 + 752776200*t^16 - 1580830020*t^15 + 1673936550*t^14 - 1294246800*t^13 + 786893250*t^12 - 382391100*t^11 + 146679390*t^10 - 42299400*t^9 + 7837830*t^8 - 172260*t^7 - 468930*t^6 + 183744*t^5 - 39270*t^4 + 5060*t^3 - 330*t^2 + 1
+ 
+     """
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index f53cba947c88..f688629fc26d 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -1,6 +1,6 @@
 # Template file for 'sagemath'
 pkgname=sagemath
-version=9.5.beta9
+version=9.5.rc0
 revision=1
 wrksrc=sage-$version
 build_style=configure
@@ -19,7 +19,7 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-3.0-only, GPL-2.0-or-later, CC-BY-SA-3.0, custom:Various free"
 homepage="http://sagemath.org/"
 distfiles="https://github.com/sagemath/sage/archive/refs/tags/$version.tar.gz"
-checksum=aea4c5a8d3b32af2fba644269b9daf4f62471471ba2d7d83da0f8098a5f53225
+checksum=8012e3ac35290fa9b2cb837eeca149925784c2378b486731226944e4afd8a4e6
 python_version=3
 
 build_options="debug system_python3 system_site_packages"
@@ -128,7 +128,7 @@ nostrip=yes
 noshlibprovides=yes
 
 # don't rewrite python shebang as sage uses its own python (for now)
-_no_python_shebang=yes
+#_no_python_shebang=yes
 
 # compile python code in sage venv
 pycompile_dirs="$_SAGE_ROOT/venv/"

From 6d9ff86cc183786bf0cfcd90f8b451515ab0ade9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 10 Jan 2022 16:32:54 -0300
Subject: [PATCH 30/39] sagemath: use system gap

---
 ...f491e5ce599ba185f5e93f02e0fcebd76c9e.patch | 57 +++++++++++++++++++
 .../patches/zzz-skip_doctest_system_gap.patch | 13 +++++
 srcpkgs/sagemath/template                     | 15 ++++-
 3 files changed, 82 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/sagemath/patches/trac-29644-system_gap-2a41f491e5ce599ba185f5e93f02e0fcebd76c9e.patch
 create mode 100644 srcpkgs/sagemath/patches/zzz-skip_doctest_system_gap.patch

diff --git a/srcpkgs/sagemath/patches/trac-29644-system_gap-2a41f491e5ce599ba185f5e93f02e0fcebd76c9e.patch b/srcpkgs/sagemath/patches/trac-29644-system_gap-2a41f491e5ce599ba185f5e93f02e0fcebd76c9e.patch
new file mode 100644
index 000000000000..da88a369db0d
--- /dev/null
+++ b/srcpkgs/sagemath/patches/trac-29644-system_gap-2a41f491e5ce599ba185f5e93f02e0fcebd76c9e.patch
@@ -0,0 +1,57 @@
+From 2c981351bb60089530b0598d3e9a909a23d4d4d8 Mon Sep 17 00:00:00 2001
+From: Thierry Thomas <thierry@FreeBSD.org>
+Date: Mon, 22 Mar 2021 03:04:12 +0100
+Subject: 29644: Add spkg-configure.m4 for gap
+
+---
+ build/pkgs/gap/spkg-configure.m4 | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+ create mode 100644 build/pkgs/gap/spkg-configure.m4
+
+diff --git a/build/pkgs/gap/spkg-configure.m4 b/build/pkgs/gap/spkg-configure.m4
+new file mode 100644
+index 00000000..91cd089
+--- /dev/null
++++ b/build/pkgs/gap/spkg-configure.m4
+@@ -0,0 +1,8 @@
++SAGE_SPKG_CONFIGURE([gap], [
++    SAGE_SPKG_DEPCHECK([gmp], [
++       AC_CHECK_HEADER([gap/system.h], [
++        AC_SEARCH_LIBS([GAP_COMM], [gap], [
++        ], [sage_spkg_install_gap=yes])
++       ], [sage_spkg_install_gap=yes])
++    ])
++])
+-- 
+cgit v1.0-1-gd88e
+
+
+From 2a41f491e5ce599ba185f5e93f02e0fcebd76c9e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Samuel=20Leli=C3=A8vre?= <samuel.lelievre@gmail.com>
+Date: Mon, 22 Mar 2021 03:05:31 +0100
+Subject: 29644: Add distro information for gap
+
+---
+ build/pkgs/gap/distros/fedora.txt | 1 +
+ build/pkgs/gap/distros/gentoo.txt | 1 +
+ 2 files changed, 2 insertions(+)
+ create mode 100644 build/pkgs/gap/distros/fedora.txt
+ create mode 100644 build/pkgs/gap/distros/gentoo.txt
+
+diff --git a/build/pkgs/gap/distros/fedora.txt b/build/pkgs/gap/distros/fedora.txt
+new file mode 100644
+index 00000000..ea4feae
+--- /dev/null
++++ b/build/pkgs/gap/distros/fedora.txt
+@@ -0,0 +1 @@
++gap
+diff --git a/build/pkgs/gap/distros/gentoo.txt b/build/pkgs/gap/distros/gentoo.txt
+new file mode 100644
+index 00000000..ea64ec9
+--- /dev/null
++++ b/build/pkgs/gap/distros/gentoo.txt
+@@ -0,0 +1 @@
++sci-mathematics/gap
+-- 
+cgit v1.0-1-gd88e
+
diff --git a/srcpkgs/sagemath/patches/zzz-skip_doctest_system_gap.patch b/srcpkgs/sagemath/patches/zzz-skip_doctest_system_gap.patch
new file mode 100644
index 000000000000..f132591d48ac
--- /dev/null
+++ b/srcpkgs/sagemath/patches/zzz-skip_doctest_system_gap.patch
@@ -0,0 +1,13 @@
+diff --git a/src/sage_setup/optional_extension.py b/src/sage_setup/optional_extension.py
+index f252849384..4034e3e196 100644
+--- a/src/sage_setup/optional_extension.py
++++ b/src/sage_setup/optional_extension.py
+@@ -80,7 +80,7 @@ def OptionalExtension(*args, **kwds):
+         sage: print(ext.__class__.__name__)
+         CythonizeExtension
+         sage: ext = OptionalExtension("foo", ["foo.c"], package="gap")
+-        sage: print(ext.__class__.__name__)
++        sage: print(ext.__class__.__name__)     # not tested - fails with system gap
+         Extension
+     """
+     try:
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index f688629fc26d..02b0af4ad16d 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -66,7 +66,6 @@ ${PYPI_SITE}/s/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.1.tar.gz
 ${PYPI_SITE}/v/vcversioner/vcversioner-2.16.0.0.tar.gz
 
 https://github.com/fplll/fpylll/releases/download/0.5.6/fpylll-0.5.6.tar.gz
-https://github.com/gap-system/gap/releases/download/v4.11.1/gap-4.11.1.tar.gz
 http://users.ox.ac.uk/~coml0531/sage/graphs-20210214.tar.bz2
 https://github.com/sagemath/sagetex/releases/download/v3.5/sagetex-3.5.tar.gz
 https://github.com/sagemath/threejs-sage/archive/refs/tags/r122.tar.gz>threejs-sage-r122.tar.gz
@@ -103,7 +102,6 @@ ce063f3286e717b3914728ad23ec7db0a0f117ba3ade5ada8a250700779f6e77
 dae60c17a479781f44a4010701833f1829140b1eeccd258762a74974aa06e19b
 
 c69bf4b3344f60ca40743af9b9246ce51f651c2cf54d2b88a4deff18b1b5f246
-6635c5da7d82755f8339486b9cac33766f58712f297e8234fba40818902ea304
 07237c0d9853611505c389fd7bb92500c8743f5631babb4d0f45dfd8332f3741
 3a7454002ddff9bf862d139130c27de0416bbc2378e1f4de4eb50d805ee96779
 718767ab55876a3e957d1cfe89a322c6d9fa680fc737b9ca668aee6a3eac3bb8
@@ -159,6 +157,13 @@ pre_configure() {
 	export MAKE="make -j ${XBPS_MAKEJOBS}"
 }
 
+post_configure() {
+	# we set some variables, right after configure has created sage_conf.py
+	cat <<-EOF >> pkgs/sage-conf/sage_conf.py
+	GAP_ROOT_DIR = "/usr/share/gap"
+	EOF
+}
+
 # DISABLED pytest since it brings more harm than good
 # it seems currently all it does is to look for files matching
 # *_test.py and run pytest on those, but I don't think these are meant
@@ -248,7 +253,11 @@ makedepends+="
  gengetopt texinfo
  brial-devel cliquer-devel gfan libbraiding-devel libhomfly-devel
  lrcalc-devel nauty-devel palp tachyon
- maxima-ecl primesieve-devel primecount-devel
+ maxima-ecl primesieve-devel primecount-devel gap-devel
+"
+
+# optional dependencies
+makedepends+="
  ffmpeg ImageMagick
 "
 

From e6af628f1f119d69dd6d12864e816d18f4414b70 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 13 Jan 2022 03:21:19 -0300
Subject: [PATCH 31/39] sagemath: fixes for system gap

---
 .../zzz-fixes_for_system_gap--see_29644.patch | 96 +++++++++++++++++++
 .../patches/zzz-skip_doctest_system_gap.patch | 13 ---
 srcpkgs/sagemath/template                     |  1 +
 3 files changed, 97 insertions(+), 13 deletions(-)
 create mode 100644 srcpkgs/sagemath/patches/zzz-fixes_for_system_gap--see_29644.patch
 delete mode 100644 srcpkgs/sagemath/patches/zzz-skip_doctest_system_gap.patch

diff --git a/srcpkgs/sagemath/patches/zzz-fixes_for_system_gap--see_29644.patch b/srcpkgs/sagemath/patches/zzz-fixes_for_system_gap--see_29644.patch
new file mode 100644
index 000000000000..741d2b23a7f5
--- /dev/null
+++ b/srcpkgs/sagemath/patches/zzz-fixes_for_system_gap--see_29644.patch
@@ -0,0 +1,96 @@
+From 346b4ea4c92f4287d3c097b92817cf2abfcddd8c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
+Date: Thu, 13 Jan 2022 01:41:31 -0300
+Subject: [PATCH] gap: fixes for using system gap
+
+ - fix _get_shared_lib_path() so we don't need to configure GAP_SO
+ - fix gap_root() so we don't need to configure GAP_ROOT_DIR
+ - skip a useless test that cannot succeed on system gap
+ - use gap_root() in saved_workspace.py instead of GAP_ROOT_DIR
+---
+ src/sage/env.py                      |  2 +-
+ src/sage/libs/gap/saved_workspace.py |  4 ++--
+ src/sage/libs/gap/util.pyx           | 11 +++++++++++
+ src/sage_setup/optional_extension.py |  2 +-
+ 4 files changed, 15 insertions(+), 4 deletions(-)
+
+diff --git a/src/sage/env.py b/src/sage/env.py
+index c4953cfa65..c16696d298 100644
+--- a/src/sage/env.py
++++ b/src/sage/env.py
+@@ -293,7 +293,7 @@ def _get_shared_lib_path(*libnames: str) -> Optional[str]:
+             if sys.platform == 'darwin':
+                 ext = 'dylib'
+             else:
+-                ext = 'so'
++                ext = 'so*'
+ 
+             if SAGE_LOCAL:
+                 search_directories.append(Path(SAGE_LOCAL) / 'lib')
+diff --git a/src/sage/libs/gap/saved_workspace.py b/src/sage/libs/gap/saved_workspace.py
+index ad5adec36d..59c498795f 100644
+--- a/src/sage/libs/gap/saved_workspace.py
++++ b/src/sage/libs/gap/saved_workspace.py
+@@ -8,7 +8,7 @@ workspaces.
+ 
+ import os
+ import glob
+-from sage.env import GAP_ROOT_DIR
++from sage.libs.gap.util import gap_root
+ from sage.interfaces.gap_workspace import gap_workspace_file
+ 
+ 
+@@ -31,7 +31,7 @@ def timestamp():
+     """
+     libgap_dir = os.path.dirname(__file__)
+     libgap_files = glob.glob(os.path.join(libgap_dir, '*'))
+-    gap_packages = glob.glob(os.path.join(GAP_ROOT_DIR, 'pkg', '*'))
++    gap_packages = glob.glob(os.path.join(gap_root(), 'pkg', '*'))
+     files = libgap_files + gap_packages
+     if len(files) == 0:
+         print('Unable to find LibGAP files.')
+diff --git a/src/sage/libs/gap/util.pyx b/src/sage/libs/gap/util.pyx
+index 08c4c40cc0..c7dd557c35 100644
+--- a/src/sage/libs/gap/util.pyx
++++ b/src/sage/libs/gap/util.pyx
+@@ -23,6 +23,7 @@ from cysignals.signals cimport sig_on, sig_off
+ import os
+ import warnings
+ import sage.env
++import subprocess
+ 
+ from .gap_includes cimport *
+ from .element cimport *
+@@ -178,6 +179,16 @@ def gap_root():
+     if os.path.exists(sage.env.GAP_ROOT_DIR):
+         return sage.env.GAP_ROOT_DIR
+ 
++    gap_expr = 'JoinStringsWithSeparator(KERNEL_INFO().GAP_ROOT_PATHS,";")'
++    gap_root_paths = subprocess.getoutput(
++        f"gap -r -q --bare --nointeract -c 'Display({gap_expr});'"
++        ).strip().split(';')
++
++    for gapdir in gap_root_paths:
++        if os.path.exists(os.path.join(gapdir, 'sysinfo.gap')):
++            sage.env.GAP_ROOT_DIR = gapdir
++            return gapdir
++
+     # Attempt to figure out the appropriate GAP_ROOT by reading the
+     # local/bin/gap shell script; this is an ugly hack that exists for
+     # historical reasons; the best approach to setting where Sage looks for
+diff --git a/src/sage_setup/optional_extension.py b/src/sage_setup/optional_extension.py
+index f252849384..4034e3e196 100644
+--- a/src/sage_setup/optional_extension.py
++++ b/src/sage_setup/optional_extension.py
+@@ -80,7 +80,7 @@ def OptionalExtension(*args, **kwds):
+         sage: print(ext.__class__.__name__)
+         CythonizeExtension
+         sage: ext = OptionalExtension("foo", ["foo.c"], package="gap")
+-        sage: print(ext.__class__.__name__)
++        sage: print(ext.__class__.__name__)     # not tested - fails with system gap
+         Extension
+     """
+     try:
+-- 
+2.34.1
+
diff --git a/srcpkgs/sagemath/patches/zzz-skip_doctest_system_gap.patch b/srcpkgs/sagemath/patches/zzz-skip_doctest_system_gap.patch
deleted file mode 100644
index f132591d48ac..000000000000
--- a/srcpkgs/sagemath/patches/zzz-skip_doctest_system_gap.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/sage_setup/optional_extension.py b/src/sage_setup/optional_extension.py
-index f252849384..4034e3e196 100644
---- a/src/sage_setup/optional_extension.py
-+++ b/src/sage_setup/optional_extension.py
-@@ -80,7 +80,7 @@ def OptionalExtension(*args, **kwds):
-         sage: print(ext.__class__.__name__)
-         CythonizeExtension
-         sage: ext = OptionalExtension("foo", ["foo.c"], package="gap")
--        sage: print(ext.__class__.__name__)
-+        sage: print(ext.__class__.__name__)     # not tested - fails with system gap
-         Extension
-     """
-     try:
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 02b0af4ad16d..0d8ce1f7a70a 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -161,6 +161,7 @@ post_configure() {
 	# we set some variables, right after configure has created sage_conf.py
 	cat <<-EOF >> pkgs/sage-conf/sage_conf.py
 	GAP_ROOT_DIR = "/usr/share/gap"
+	GAP_SO = "$(objdump -p /usr/lib/libgap.so | awk '/SONAME/{print $2}')"
 	EOF
 }
 

From 5bbde033153721268b2b4b408479183276606d36 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 13 Jan 2022 15:47:33 -0300
Subject: [PATCH 32/39] New package: sagemath-test

---
 srcpkgs/sagemath-test/template                | 32 +++++++++++++++++++
 .../patches/zzz-skip_doctest_shebang.patch    | 11 +++++++
 2 files changed, 43 insertions(+)
 create mode 100644 srcpkgs/sagemath-test/template
 create mode 100644 srcpkgs/sagemath/patches/zzz-skip_doctest_shebang.patch

diff --git a/srcpkgs/sagemath-test/template b/srcpkgs/sagemath-test/template
new file mode 100644
index 000000000000..3e0b1c3233fd
--- /dev/null
+++ b/srcpkgs/sagemath-test/template
@@ -0,0 +1,32 @@
+# Template file for 'sagemath-test'
+pkgname=sagemath-test
+version=1
+revision=1
+build_style=meta
+checkdepends="sagemath"
+short_desc="Dummy package to test sagemath"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-2.0-or-later"
+homepage="none"
+
+# TODO: install base-voidstrap, uninstall base-chroot, and remove orphans
+# so we can check sagemath depends are enough to run sage on void
+
+do_check() {
+	if [ -f ${XBPS_DISTDIR}/sagemath-check ] ; then
+		_test_args=$(sed -e 's/#.*//;/^\s*$/d' ${XBPS_DISTDIR}/sagemath-check)
+	fi
+	if [ -z "$_test_args" ]; then
+		_test_args=--all
+	fi
+	if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+		# for CI use a predictable random seed
+		_test_args="--random-seed=0 $_test_args"
+	fi
+	if [ "$XBPS_CHECK_PKGS" = full ]; then
+		_test_args="--long $_test_args"
+	else
+		_test_args="--warn-long 5.0 $_test_args"
+	fi
+	/usr/bin/sage* -tp ${XBPS_MAKEJOBS} ${_test_args}
+}
diff --git a/srcpkgs/sagemath/patches/zzz-skip_doctest_shebang.patch b/srcpkgs/sagemath/patches/zzz-skip_doctest_shebang.patch
new file mode 100644
index 000000000000..04fa2acbf3ec
--- /dev/null
+++ b/srcpkgs/sagemath/patches/zzz-skip_doctest_shebang.patch
@@ -0,0 +1,11 @@
+--- a/src/sage/tests/cmdline.py
++++ b/src/sage/tests/cmdline.py
+@@ -488,7 +488,7 @@ def test_executable(args, input="", timeout=100.0, pydebug_ignore_warnings=False
+         0
+ 
+         sage: (out, err, ret) = test_executable(["sage", "--cython"])
+-        sage: print(err)
++        sage: print(err)  # not tested - broken when shebang is rewritten
+         Cython (http://cython.org) is a compiler for code written in the
+         Cython language.  Cython is based on Pyrex by Greg Ewing.
+         ...

From f1665cb9fc05b98d4e92d084538a913ea892555d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 14 Jan 2022 11:34:23 -0300
Subject: [PATCH 33/39] sagemath: cleanup and one patch

---
 .../zzz-skip_doctest_sage_setup_find.patch    | 12 ++++++++
 srcpkgs/sagemath/template                     | 30 ++++---------------
 2 files changed, 18 insertions(+), 24 deletions(-)
 create mode 100644 srcpkgs/sagemath/patches/zzz-skip_doctest_sage_setup_find.patch

diff --git a/srcpkgs/sagemath/patches/zzz-skip_doctest_sage_setup_find.patch b/srcpkgs/sagemath/patches/zzz-skip_doctest_sage_setup_find.patch
new file mode 100644
index 000000000000..15aed02f9aaa
--- /dev/null
+++ b/srcpkgs/sagemath/patches/zzz-skip_doctest_sage_setup_find.patch
@@ -0,0 +1,12 @@
+--- a/src/sage_setup/find.py
++++ b/src/sage_setup/find.py
+@@ -301,7 +301,7 @@ def find_extra_files(src_dir, modules, cythonized_dir, special_filenames=[]):
+         sage: extras["sage/libs/mpfr"]
+         [...sage/libs/mpfr/types.pxd...]
+         sage: extras["sage/ext/interpreters"]
+-        ['.../src/sage/ext/interpreters/wrapper_cdf.pxd', ...wrapper_cdf.h...]
++        ['.../src/sage/ext/interpreters/wrapper_cdf.pxd', ...]
+     """
+     from Cython.Utils import is_package_dir
+ 
+--
diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 0d8ce1f7a70a..f25cb745c9c4 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -4,7 +4,8 @@ version=9.5.rc0
 revision=1
 wrksrc=sage-$version
 build_style=configure
-configure_args="--enable-build-as-root"
+configure_args="--enable-build-as-root --with-system-python3
+ --enable-system-site-packages"
 make_check_target=ptest
 # for now skip building docs
 make_build_target=build
@@ -22,13 +23,8 @@ distfiles="https://github.com/sagemath/sage/archive/refs/tags/$version.tar.gz"
 checksum=8012e3ac35290fa9b2cb837eeca149925784c2378b486731226944e4afd8a4e6
 python_version=3
 
-build_options="debug system_python3 system_site_packages"
+build_options="debug"
 desc_option_debug="Build with debug symbols"
-desc_option_system_python="Build using system python 3"
-desc_option_system_python="Build using system python site-packages"
-build_options_default="system_python3 system_site_packages"
-configure_args+=" $(vopt_with system_python3)"
-configure_args+=" $(vopt_enable system_site_packages)"
 
 # path where sage will be installed
 _SAGE_ROOT=/usr/lib/sage-${version}
@@ -112,9 +108,6 @@ for u in ${_upstream}; do
 	skip_extraction+=" ${u##*[/>]}"
 done
 
-# for now, skip check in ci, since we still have a few tests failing
-#make_check=ci-skip
-
 # for now, just build native; we'll worry about cross later
 # besides, some dependencies are nocross (e.g. ntl)
 nocross=yes
@@ -165,16 +158,6 @@ post_configure() {
 	EOF
 }
 
-# DISABLED pytest since it brings more harm than good
-# it seems currently all it does is to look for files matching
-# *_test.py and run pytest on those, but I don't think these are meant
-# to be run on pytest (and one even gives a failure...)
-#
-# post_build() {
-# 	# install pytest for more tests
-# 	./sage -i pytest
-# }
-
 do_install() {
 	vlicense COPYING.txt
 	vdoc README.md
@@ -301,7 +284,6 @@ _sage_python3_modules="
  python3-wheel python3-zipp pythran
  "
 
-if [ "$build_option_system_site_packages" ]; then
-	makedepends+=" $_sage_python3_modules"
-	depends+=" $_sage_python3_modules"
-fi
+# python packages are build and runtime dependencies
+makedepends+=" $_sage_python3_modules"
+depends+=" $_sage_python3_modules"

From 9cf0dc6b53b8c186b8f8f1005cce6b4c3b54289a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 14 Jan 2022 11:34:32 -0300
Subject: [PATCH 34/39] sagemath: update to 9.5.rc1.

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

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index f25cb745c9c4..f5d9d0f0fabd 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -1,6 +1,6 @@
 # Template file for 'sagemath'
 pkgname=sagemath
-version=9.5.rc0
+version=9.5.rc1
 revision=1
 wrksrc=sage-$version
 build_style=configure
@@ -20,7 +20,7 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-3.0-only, GPL-2.0-or-later, CC-BY-SA-3.0, custom:Various free"
 homepage="http://sagemath.org/"
 distfiles="https://github.com/sagemath/sage/archive/refs/tags/$version.tar.gz"
-checksum=8012e3ac35290fa9b2cb837eeca149925784c2378b486731226944e4afd8a4e6
+checksum=b015c54f7411669ef70bac2b2fde260e7f45724bcff170957b1f9fd08131f2c3
 python_version=3
 
 build_options="debug"

From 82de86f42dacade0c16773e9a50f7099985e0e5a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 14 Jan 2022 14:53:11 -0300
Subject: [PATCH 35/39] sagemath: patch not needed with singular 4.3.0

---
 ...zzz-skip_doctest_singular_4.2.1--see_33134.patch | 13 -------------
 1 file changed, 13 deletions(-)
 delete mode 100644 srcpkgs/sagemath/patches/zzz-skip_doctest_singular_4.2.1--see_33134.patch

diff --git a/srcpkgs/sagemath/patches/zzz-skip_doctest_singular_4.2.1--see_33134.patch b/srcpkgs/sagemath/patches/zzz-skip_doctest_singular_4.2.1--see_33134.patch
deleted file mode 100644
index 438078a92036..000000000000
--- a/srcpkgs/sagemath/patches/zzz-skip_doctest_singular_4.2.1--see_33134.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/sage/rings/polynomial/hilbert.pyx b/src/sage/rings/polynomial/hilbert.pyx
-index 4cd91d0a46..323b168c4e 100644
---- a/src/sage/rings/polynomial/hilbert.pyx
-+++ b/src/sage/rings/polynomial/hilbert.pyx
-@@ -578,7 +578,7 @@ def hilbert_poincare_series(I, grading=None):
- 
-     This example exceeded the capabilities of Singular before version 4.2.1p2::
- 
--        sage: J.hilbert_numerator(algorithm='singular')
-+        sage: J.hilbert_numerator(algorithm='singular')   # not tested - requires singular 4.2.1p2
-         120*t^33 - 3465*t^32 + 48180*t^31 - 429374*t^30 + 2753520*t^29 - 13522410*t^28 + 52832780*t^27 - 168384150*t^26 + 445188744*t^25 - 987193350*t^24 + 1847488500*t^23 + 1372406746*t^22 - 403422496*t^21 - 8403314*t^20 - 471656596*t^19 + 1806623746*t^18 + 752776200*t^17 + 752776200*t^16 - 1580830020*t^15 + 1673936550*t^14 - 1294246800*t^13 + 786893250*t^12 - 382391100*t^11 + 146679390*t^10 - 42299400*t^9 + 7837830*t^8 - 172260*t^7 - 468930*t^6 + 183744*t^5 - 39270*t^4 + 5060*t^3 - 330*t^2 + 1
- 
-     """

From 78954abece6cc63bae5c38fe88da4fc102b5fd51 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 14 Jan 2022 14:53:25 -0300
Subject: [PATCH 36/39] sagemath: install /usr/bin/sage

---
 srcpkgs/sagemath/template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index f5d9d0f0fabd..49821fc982e4 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -181,7 +181,8 @@ do_install() {
 	vmkdir usr/bin
 	# for now use sage-${version}_${revision} so it doesn't override
 	# other sage installed in the system
-	ln -sfT $_SAGE_ROOT/sage ${DESTDIR}/usr/bin/sage-${version}_${revision}
+	ln -sfT $_SAGE_ROOT/sage ${DESTDIR}/usr/bin/sage-${version}
+	ln -sfT sage-${version} ${DESTDIR}/usr/bin/sage
 }
 
 do_check() {

From 234786bd283f2ac86da1d5b8300e5a4d6d5cab31 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 14 Jan 2022 16:31:25 -0300
Subject: [PATCH 37/39] New package: python3-cvxopt-1.2.7

---
 srcpkgs/python3-cvxopt/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-cvxopt/template

diff --git a/srcpkgs/python3-cvxopt/template b/srcpkgs/python3-cvxopt/template
new file mode 100644
index 000000000000..0fb769b294e0
--- /dev/null
+++ b/srcpkgs/python3-cvxopt/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-cvxopt'
+pkgname=python3-cvxopt
+version=1.2.7
+revision=1
+wrksrc="cvxopt-${version}"
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+makedepends="python3-devel blas-devel lapack-devel SuiteSparse-devel gsl-devel glpk-devel"
+checkdepends="python3-pytest"
+short_desc="Python software for convex optimization"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-3.0-or-later"
+homepage="http://cvxopt.org/"
+distfiles="${PYPI_SITE}/c/cvxopt/cvxopt-${version}.tar.gz"
+checksum=3f9db1f4d4e820aaea81d6fc21054c89dc6327c84f935dd5a1eda1af11e1d504
+
+pre_build() {
+	export CVXOPT_BUILD_GSL=1
+	export CVXOPT_BUILD_GLPK=1
+}

From a03c501181a8ce606aecb5e608ab3a3d09ba4e93 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 14 Jan 2022 22:53:51 -0300
Subject: [PATCH 38/39] New package: python3-importlib_resources-5.4.0

---
 srcpkgs/python3-importlib_resources/template | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 srcpkgs/python3-importlib_resources/template

diff --git a/srcpkgs/python3-importlib_resources/template b/srcpkgs/python3-importlib_resources/template
new file mode 100644
index 000000000000..b1551717d17f
--- /dev/null
+++ b/srcpkgs/python3-importlib_resources/template
@@ -0,0 +1,16 @@
+# Template file for 'python3-importlib_resources'
+pkgname=python3-importlib_resources
+version=5.4.0
+revision=1
+wrksrc="importlib_resources-${version}"
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3-zipp"
+short_desc="Read resources from Python packages"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="Apache-2.0"
+homepage="https://github.com/python/importlib_resources"
+distfiles="${PYPI_SITE}/i/importlib_resources/importlib_resources-${version}.tar.gz"
+checksum=d756e2f85dd4de2ba89be0b21dba2a3bbec2e871a42a3a16719258a11f87506b
+# doesn't work
+make_check=no

From 15ba4005179ad11ad43a97a7f870c284b74b15df Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 14 Jan 2022 23:12:52 -0300
Subject: [PATCH 39/39] sagemath: use system cvxopt and importlib_resources

---
 srcpkgs/sagemath/template | 46 ++++++++++++++++++++++-----------------
 1 file changed, 26 insertions(+), 20 deletions(-)

diff --git a/srcpkgs/sagemath/template b/srcpkgs/sagemath/template
index 49821fc982e4..4db9705c3287 100644
--- a/srcpkgs/sagemath/template
+++ b/srcpkgs/sagemath/template
@@ -31,6 +31,7 @@ _SAGE_ROOT=/usr/lib/sage-${version}
 
 _SAGE_UPSTREAM_MIRROR=https://mirrors.mit.edu/sage/spkg/upstream
 
+# packages were sage is the upstream
 _upstream="
 ${_SAGE_UPSTREAM_MIRROR}/combinatorial_designs/combinatorial_designs-20140630.tar.bz2
 ${_SAGE_UPSTREAM_MIRROR}/conway_polynomials/conway_polynomials-0.5.tar.bz2
@@ -41,15 +42,27 @@ ${_SAGE_UPSTREAM_MIRROR}/polytopes_db/polytopes_db-20170220.tar.bz2
 ${_SAGE_UPSTREAM_MIRROR}/ratpoints/ratpoints-2.1.3.tar.bz2
 ${_SAGE_UPSTREAM_MIRROR}/sagenb_export/sagenb_export-3.3.tar.gz
 ${_SAGE_UPSTREAM_MIRROR}/thebe/thebe-9624e0a0.zip
+"
+checksum+="
+c9486c6d7ec71da338589a6e301723be4e55e02dcfc41f8dba11a682e3b3482e
+d8f2788a85b1c2482cc4abe1a35d3da777445e21ec49b031d36b899e3c0deb17
+5fba5470d9d91f06282ed5edfc45bf0ea1c5f7c8d4837c46234b17be1481fd50
+ebf9cd42cd8e3839cf94ec11691b98a9b00917f3485a821291b76d7ecd6ffe9d
+169996cc6449c8d615043b07e1f20e9e3cd821de2325b5a250ef42142ea654b3
+cb788bdfca6e00864ec0bfa67932a68ae68bfeb9c527a91be90ad218026a0ce0
+edd3238422f47661b8a556f0241f36d619584d2f055efa1f96c749d1403abe1e
+b642321ccd94da4d04afa12f33b6cea7c8db289f3283c6e39b3a50131780bb5a
+cc1e407cbe0804f9644c207fecc074ed0fa389ba65f49da58e63fffe9bfe6923
+"
 
+# packages from pypi (python modules)
+_upstream+="
 ${PYPI_SITE}/a/appnope/appnope-0.1.2.tar.gz
 ${PYPI_SITE}/c/cppy/cppy-1.1.0.tar.gz
-${PYPI_SITE}/c/cvxopt/cvxopt-1.2.7.tar.gz
 ${PYPI_SITE}/c/cypari2/cypari2-2.1.2.tar.gz
 ${PYPI_SITE}/c/cysignals/cysignals-1.11.2.tar.gz
 ${PYPI_SITE}/C/Cython/Cython-0.29.24.tar.gz
 ${PYPI_SITE}/f/fonttools/fonttools-4.28.4.zip
-${PYPI_SITE}/i/importlib_resources/importlib_resources-5.2.2.tar.gz
 ${PYPI_SITE}/j/jupyter_jsmol/jupyter_jsmol-0.2.4.tar.gz
 ${PYPI_SITE}/m/memory_allocator/memory_allocator-0.1.1.tar.gz
 ${PYPI_SITE}/p/pplpy/pplpy-0.8.6.tar.gz
@@ -60,32 +73,14 @@ ${PYPI_SITE}/s/setuptools/setuptools-59.2.0.tar.gz
 ${PYPI_SITE}/s/setuptools_scm_git_archive/setuptools_scm_git_archive-1.1.tar.gz
 ${PYPI_SITE}/s/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.1.tar.gz
 ${PYPI_SITE}/v/vcversioner/vcversioner-2.16.0.0.tar.gz
-
-https://github.com/fplll/fpylll/releases/download/0.5.6/fpylll-0.5.6.tar.gz
-http://users.ox.ac.uk/~coml0531/sage/graphs-20210214.tar.bz2
-https://github.com/sagemath/sagetex/releases/download/v3.5/sagetex-3.5.tar.gz
-https://github.com/sagemath/threejs-sage/archive/refs/tags/r122.tar.gz>threejs-sage-r122.tar.gz
 "
-
 checksum+="
-c9486c6d7ec71da338589a6e301723be4e55e02dcfc41f8dba11a682e3b3482e
-d8f2788a85b1c2482cc4abe1a35d3da777445e21ec49b031d36b899e3c0deb17
-5fba5470d9d91f06282ed5edfc45bf0ea1c5f7c8d4837c46234b17be1481fd50
-ebf9cd42cd8e3839cf94ec11691b98a9b00917f3485a821291b76d7ecd6ffe9d
-169996cc6449c8d615043b07e1f20e9e3cd821de2325b5a250ef42142ea654b3
-cb788bdfca6e00864ec0bfa67932a68ae68bfeb9c527a91be90ad218026a0ce0
-edd3238422f47661b8a556f0241f36d619584d2f055efa1f96c749d1403abe1e
-b642321ccd94da4d04afa12f33b6cea7c8db289f3283c6e39b3a50131780bb5a
-cc1e407cbe0804f9644c207fecc074ed0fa389ba65f49da58e63fffe9bfe6923
-
 dd83cd4b5b460958838f6eb3000c660b1f9caf2a5b1de4264e941512f603258a
 4eda6f1952054a270f32dc11df7c5e24b259a09fddf7bfaa5f33df9fb4a29642
-3f9db1f4d4e820aaea81d6fc21054c89dc6327c84f935dd5a1eda1af11e1d504
 03cd45edab8716ebbfdb754e65fea72e873c73dc91aec098fe4a01e35324ac7a
 5858b1760fbe21848121b826b2463a67ac5a45caf3d73105497a68618c5a6fa6
 cdf04d07c3600860e8c2ebaad4e8f52ac3feb212453c1764a49ac08c827e8443
 581a682a7102a41421e7e484303572c565c1b8e52b1cc9fecd3c159dbe9a02f4
-a65882a4d0fe5fbf702273456ba2ce74fe44892c25e42e057aca526b702a6d4b
 d2ce38e95773345d0eceffed5ecb0e5d49fe61da5e922dea754c85799cc512b3
 5641bea96b9e59a173639c118c2745fe16014c60012117ddf29c18abbb713408
 471b576a4c285758d27cc4a6f1b41afa29bfb9f3754a37f0520b35b6958eb8ce
@@ -96,7 +91,16 @@ ce063f3286e717b3914728ad23ec7db0a0f117ba3ade5ada8a250700779f6e77
 6026f61089b73fa1b5ee737e95314f41cb512609b393530385ed281d0b46c062
 545f5da4bd7757e82b8a23ce3af9500c6ffeedbcb13429fca436ad1e80bd10cf
 dae60c17a479781f44a4010701833f1829140b1eeccd258762a74974aa06e19b
+"
 
+# other upstream packages
+_upstream+="
+https://github.com/fplll/fpylll/releases/download/0.5.6/fpylll-0.5.6.tar.gz
+http://users.ox.ac.uk/~coml0531/sage/graphs-20210214.tar.bz2
+https://github.com/sagemath/sagetex/releases/download/v3.5/sagetex-3.5.tar.gz
+https://github.com/sagemath/threejs-sage/archive/refs/tags/r122.tar.gz>threejs-sage-r122.tar.gz
+"
+checksum+="
 c69bf4b3344f60ca40743af9b9246ce51f651c2cf54d2b88a4deff18b1b5f246
 07237c0d9853611505c389fd7bb92500c8743f5631babb4d0f45dfd8332f3741
 3a7454002ddff9bf862d139130c27de0416bbc2378e1f4de4eb50d805ee96779
@@ -283,6 +287,8 @@ _sage_python3_modules="
  python3-tornado python3-traitlets python3-typing_extensions
  python3-tzlocal python3-urllib3 python3-wcwidth python3-webencodings
  python3-wheel python3-zipp pythran
+
+ python3-cvxopt python3-importlib_resources
  "
 
 # python packages are build and runtime dependencies

  parent reply	other threads:[~2022-01-15  2:13 UTC|newest]

Thread overview: 250+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-11 14:12 [PR PATCH] [WIP] New package: sagemath-9.5.beta5 tornaria
2021-11-11 16:08 ` dkwo
2021-11-12  7:27 ` fosslinux
2021-11-12 20:16 ` dkwo
2021-11-12 20:22 ` dkwo
2021-11-12 20:28 ` dkwo
2021-11-12 20:37 ` dkwo
2021-11-12 22:06 ` fosslinux
2021-11-12 22:12 ` [PR REVIEW] " Duncaen
2021-11-13  1:27 ` tornaria
2021-11-13  1:30 ` tornaria
2021-11-13  1:33 ` tornaria
2021-11-13  3:14 ` [PR PATCH] [Updated] " tornaria
2021-11-13  3:18 ` tornaria
2021-11-13  8:59 ` dkwo
2021-11-13  9:02 ` dkwo
2021-11-13  9:28 ` dkwo
2021-11-13  9:36 ` dkwo
2021-11-13 10:22 ` dkwo
2021-11-13 10:48 ` dkwo
2021-11-13 10:50 ` [PR PATCH] [Updated] " tornaria
2021-11-13 10:59 ` tornaria
2021-11-13 11:05 ` tornaria
2021-11-13 11:42 ` tornaria
2021-11-13 12:30 ` dkwo
2021-11-13 13:48 ` dkwo
2021-11-13 13:50 ` dkwo
2021-11-13 13:53 ` leahneukirchen
2021-11-13 14:20 ` leahneukirchen
2021-11-13 14:22 ` leahneukirchen
2021-11-13 14:55 ` leahneukirchen
2021-11-13 14:58 ` leahneukirchen
2021-11-13 15:00 ` dkwo
2021-11-13 15:07 ` leahneukirchen
2021-11-13 15:11 ` leahneukirchen
2021-11-13 15:28 ` dkwo
2021-11-13 15:34 ` leahneukirchen
2021-11-14  4:42 ` ericonr
2021-11-14  4:43 ` ericonr
2021-11-14 14:27 ` leahneukirchen
2021-11-14 15:20 ` tornaria
2021-11-14 16:31 ` leahneukirchen
2021-11-14 21:28 ` [PR PATCH] [Updated] " tornaria
2021-11-14 21:47 ` tornaria
2021-11-15 15:58 ` leahneukirchen
2021-11-15 16:16 ` tornaria
2021-11-17  9:20 ` dkwo
2021-11-20 22:12 ` [PR PATCH] [Updated] " tornaria
2021-11-21  9:37 ` dkwo
2021-11-21 14:00 ` tornaria
2021-11-21 19:44 ` dkwo
2021-11-22 12:51 ` tornaria
2021-11-22 13:17 ` [WIP] New package: sagemath-9.5.beta7 dkwo
2021-11-22 14:30 ` [PR PATCH] [Updated] " tornaria
2021-11-22 14:35 ` tornaria
2021-11-22 14:55 ` tornaria
2021-11-22 15:22 ` tornaria
2021-11-22 15:30 ` dkwo
2021-11-22 15:30 ` dkwo
2021-11-22 15:41 ` dkwo
2021-11-22 16:30 ` dkwo
2021-11-22 16:35 ` tornaria
2021-11-22 17:09 ` dkwo
2021-11-22 17:28 ` tornaria
2021-11-22 17:52 ` dkwo
2021-11-22 23:41 ` tornaria
2021-11-23  3:22 ` [PR PATCH] [Updated] " tornaria
2021-11-23  3:25 ` tornaria
2021-11-23  9:22 ` dkwo
2021-11-23 12:16 ` tornaria
2021-11-24 19:28 ` tornaria
2021-11-25 22:41 ` tornaria
2021-11-26  3:04 ` [PR PATCH] [Updated] " tornaria
2021-11-26  3:12 ` tornaria
2021-11-26  9:30 ` dkwo
2021-11-26  9:31 ` dkwo
2021-11-26  9:33 ` dkwo
2021-11-26 13:10 ` tornaria
2021-11-27 14:08 ` dkwo
2021-11-28 12:32 ` tornaria
2021-11-28 13:42 ` tornaria
2021-11-28 13:52 ` tornaria
2021-11-28 23:21 ` [PR PATCH] [Updated] " tornaria
2021-11-28 23:27 ` tornaria
2021-11-28 23:32 ` tornaria
2021-12-02 16:38 ` dkwo
2021-12-02 16:44 ` leahneukirchen
2021-12-02 17:04 ` dkwo
2021-12-02 17:12 ` leahneukirchen
2021-12-04 15:37 ` [PR PATCH] [Updated] " tornaria
2021-12-04 15:38 ` tornaria
2021-12-04 15:47 ` tornaria
2021-12-05 10:22 ` dkwo
2021-12-10 21:28 ` dkwo
2021-12-10 21:31 ` dkwo
2021-12-11  2:29 ` ericonr
2021-12-11 17:58 ` dkwo
2021-12-13  3:13 ` [PR PATCH] [Updated] " tornaria
2021-12-13  9:25 ` dkwo
2021-12-13 13:17 ` tornaria
2021-12-13 13:28 ` dkwo
2021-12-13 15:25 ` dkwo
2021-12-13 17:10 ` tornaria
2021-12-13 17:48 ` tornaria
2021-12-13 20:34 ` dkwo
2021-12-13 21:00 ` dkwo
2021-12-13 21:13 ` dkwo
2021-12-14 17:36 ` ericonr
2021-12-15 10:41 ` dkwo
2021-12-15 14:57 ` tornaria
2021-12-15 14:59 ` tornaria
2021-12-15 15:04 ` dkwo
2021-12-15 15:19 ` dkwo
2021-12-16 23:11 ` tornaria
2021-12-17 20:08 ` dkwo
2021-12-20  2:23 ` tornaria
2021-12-20  2:35 ` [PR PATCH] [Updated] " tornaria
2021-12-23 17:18 ` [WIP] New package: sagemath-9.5.beta8 dkwo
2021-12-23 17:47 ` dkwo
2021-12-23 18:28 ` tornaria
2021-12-23 19:20 ` dkwo
2021-12-23 19:39 ` tornaria
2021-12-23 19:50 ` tornaria
2021-12-23 20:41 ` dkwo
2021-12-23 22:08 ` tornaria
2021-12-24  9:08 ` dkwo
2021-12-24 11:36 ` tornaria
2021-12-24 11:53 ` dkwo
2021-12-24 12:15 ` tornaria
2021-12-24 16:10 ` tornaria
2021-12-24 16:35 ` tornaria
2021-12-24 17:39 ` tornaria
2021-12-25  8:44 ` dkwo
2021-12-25 13:33 ` tornaria
2021-12-25 15:29 ` tornaria
2021-12-25 15:59 ` ericonr
2021-12-25 15:59 ` ericonr
2021-12-25 16:21 ` tornaria
2021-12-26  2:11 ` ericonr
2021-12-26  9:28 ` dkwo
2021-12-26 10:33 ` dkwo
2021-12-26 10:34 ` dkwo
2021-12-26 10:36 ` dkwo
2021-12-27  0:08 ` [PR PATCH] [Updated] " tornaria
2021-12-27  4:12 ` tornaria
2021-12-27 16:28 ` dkwo
2021-12-27 16:29 ` dkwo
2021-12-27 16:37 ` tornaria
2021-12-27 17:15 ` tornaria
2021-12-27 21:52 ` ericonr
2021-12-27 23:21 ` [PR PATCH] [Updated] " tornaria
2021-12-28 15:50 ` [WIP] New package: sagemath-9.5.beta9 dkwo
2021-12-28 17:37 ` tornaria
2021-12-28 18:31 ` dkwo
2021-12-28 18:55 ` dkwo
2021-12-28 21:23 ` tornaria
2021-12-28 22:08 ` tornaria
2021-12-28 22:12 ` tornaria
2021-12-28 22:15 ` tornaria
2021-12-28 23:22 ` tornaria
2021-12-29 12:37 ` dkwo
2022-01-03 20:02 ` [PR PATCH] [Updated] " tornaria
2022-01-03 20:50 ` tornaria
2022-01-04 17:52 ` dkwo
2022-01-04 17:57 ` dkwo
2022-01-04 18:14 ` tornaria
2022-01-04 18:14 ` [PR PATCH] [Closed]: " tornaria
2022-01-04 18:17 ` tornaria
2022-01-04 18:17 ` tornaria
2022-01-04 18:28 ` tornaria
2022-01-04 18:48 ` tornaria
2022-01-05  9:56 ` dkwo
2022-01-07 10:55 ` dkwo
2022-01-07 10:57 ` dkwo
2022-01-07 10:59 ` dkwo
2022-01-07 15:04 ` tornaria
2022-01-07 15:13 ` tornaria
2022-01-08 16:51 ` [PR PATCH] [Updated] " tornaria
2022-01-10  3:22 ` tornaria
2022-01-11 13:00 ` [WIP] New package: sagemath-9.5.rc0 dkwo
2022-01-11 13:39 ` tornaria
2022-01-11 14:39 ` tornaria
2022-01-12 23:43 ` [PR PATCH] [Updated] " tornaria
2022-01-12 23:47 ` tornaria
2022-01-13  2:34 ` tornaria
2022-01-13 18:50 ` [PR PATCH] [Updated] " tornaria
2022-01-13 19:11 ` tornaria
2022-01-14 14:34 ` [PR PATCH] [Updated] " tornaria
2022-01-14 14:36 ` tornaria
2022-01-14 14:48 ` tornaria
2022-01-14 15:21 ` [PR PATCH] [Updated] [WIP] New package: sagemath-9.5.rc1 tornaria
2022-01-14 15:24 ` tornaria
2022-01-14 15:27 ` leahneukirchen
2022-01-14 15:31 ` tornaria
2022-01-14 16:35 ` leahneukirchen
2022-01-14 16:57 ` tornaria
2022-01-14 17:04 ` leahneukirchen
2022-01-14 17:39 ` leahneukirchen
2022-01-15  2:13 ` tornaria [this message]
2022-01-15  4:48 ` [PR PATCH] [Updated] " tornaria
2022-01-15 13:35 ` tornaria
2022-01-15 13:57 ` tornaria
2022-01-15 17:55 ` dkwo
2022-01-15 18:23 ` tornaria
2022-01-15 18:24 ` tornaria
2022-01-15 18:27 ` [PR PATCH] [Updated] " tornaria
2022-01-15 18:31 ` tornaria
2022-01-17  5:10 ` [PR PATCH] [Updated] " tornaria
2022-01-17  5:17 ` [WIP] New package: sagemath-9.5.rc2 tornaria
2022-01-17  5:31 ` tornaria
2022-01-17  5:54 ` [PR PATCH] [Updated] " tornaria
2022-01-17  5:55 ` tornaria
2022-01-17  9:37 ` dkwo
2022-01-17 10:42 ` tornaria
2022-01-17 10:50 ` dkwo
2022-01-17 13:07 ` [PR PATCH] [Updated] " tornaria
2022-01-17 16:20 ` dkwo
2022-01-17 17:05 ` dkwo
2022-01-17 17:17 ` tornaria
2022-01-17 17:24 ` dkwo
2022-01-18  1:46 ` [PR PATCH] [Updated] " tornaria
2022-01-18  1:47 ` tornaria
2022-01-18  9:05 ` dkwo
2022-01-18  9:56 ` [PR PATCH] [Updated] " tornaria
2022-01-18 21:55 ` tornaria
2022-01-19 11:01 ` tornaria
2022-01-19 11:09 ` tornaria
2022-01-19 13:37 ` tornaria
2022-01-19 16:51 ` [PR PATCH] [Updated] " tornaria
2022-01-19 17:08 ` tornaria
2022-01-19 17:22 ` dkwo
2022-01-20 13:17 ` [WIP] New package: sagemath-9.5.rc3 dkwo
2022-01-20 15:41 ` tornaria
2022-01-20 15:53 ` dkwo
2022-01-20 16:04 ` dkwo
2022-01-20 16:04 ` dkwo
2022-01-25 20:37 ` [PR PATCH] [Updated] " tornaria
2022-01-25 21:27 ` [WIP] New package: sagemath-9.5.rc4 leahneukirchen
2022-01-25 23:19 ` tornaria
2022-01-26 13:07 ` [PR PATCH] [Updated] " tornaria
2022-01-30 22:13 ` tornaria
2022-01-30 22:41 ` [WIP] New package: sagemath-9.5 tornaria
2022-01-31  9:01 ` dkwo
2022-01-31  9:40 ` dkwo
2022-02-02 21:03 ` [PR PATCH] [Updated] " tornaria
2022-02-02 21:41 ` tornaria
2022-02-03  0:31 ` tornaria
2022-02-03  2:48 ` tornaria
2022-02-03 13:31 ` [PR PATCH] [Merged]: " leahneukirchen
2022-02-03 15:41 ` Vindaar

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=20220115021333.yFEbDUKgLtZCddkh7MDBaoXNkgVti1YULNI9X1UN5ws@z \
    --to=tornaria@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    --subject='Re: [PR PATCH] [Updated] [WIP] New package: sagemath-9.5.rc1' \
    /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

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).