···1-diff --git a/src/sage/misc/sagedoc.py b/src/sage/misc/sagedoc.py
2-index 6bad826a88..f4d7b8651c 100644
3---- a/src/sage/misc/sagedoc.py
4-+++ b/src/sage/misc/sagedoc.py
5-@@ -24,7 +24,7 @@ see :trac:`12849`::
6- ....: for line in fobj:
7- ....: if "#sage.symbolic.expression.Expression.numerical_approx" in line:
8- ....: print(line)
9-- <code class="sig-name descname">numerical_approx</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">prec</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">digits</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">algorithm</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span>...
10-+ <code class="sig-name descname"><span class="pre">numerical_approx</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prec</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">digits</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">algorithm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span>...
11-12- Check that sphinx is not imported at Sage start-up::
13-
···0000000000000
+37-17
pkgs/applications/science/math/sage/sage-src.nix
···16 fetchSageDiff = { base, name, rev, sha256, ...}@args: (
17 fetchpatch ({
18 inherit name sha256;
19- url = "https://git.sagemath.org/sage.git/patch?id2=${base}&id=${rev}";
0000020 # We don't care about sage's own build system (which builds all its dependencies).
21 # Exclude build system changes to avoid conflicts.
22 excludes = [ "build/*" ];
···79 # ignore a deprecation warning for usage of `cmp` in the attrs library in the doctests
80 ./patches/ignore-cmp-deprecation.patch
8182- # sphinx 3.5 pretty-prints code slightly differently than sphinx
83- # 3.1--3.3. a similar patch is available at the sphinx 4 ticket
84- # (https://trac.sagemath.org/ticket/31696), but sphinx 3.5 uses
85- # <code> tags while sphinx 4 uses <span> tags so we cannot just
86- # import the patch from trac.
87- ./patches/sphinx-3.5-code-output.patch
88-89 # remove use of matplotlib function deprecated in 3.4
90 # https://trac.sagemath.org/ticket/31827
91 (fetchSageDiff {
···95 sha256 = "sha256-SXcUGBMOoE9HpuBzgKC3P6cUmM5MiktXbe/7dVdrfWo=";
96 })
9798- # https://trac.sagemath.org/ticket/30801. this patch has
99- # positive_review but has not been merged upstream yet, so we
100- # don't use fetchSageDiff because it returns a file that contains
101- # each commit as a separate patch instead of a single diff, and
102- # some commits from the pari update branch are already in 9.3.rc5
103- # (auto-resolvable merge conflicts).
104- (fetchpatch {
0000105 name = "pari-2.13.1.patch";
106- url = "https://github.com/sagemath/sagetrac-mirror/compare/d6c5cd9be78cc448ee4c54bac93385b1244a234c...10a4531721d2700fd717e2b3a1364508ffd971c3.diff";
107- sha256 = "sha256-zMjRMEReoiTvmt+vvV0Ij1jtyLSLwSXBEVXqgvmq1D4=";
000000000000000000108 })
109 ];
110
···16 fetchSageDiff = { base, name, rev, sha256, ...}@args: (
17 fetchpatch ({
18 inherit name sha256;
19+20+ # We used to use
21+ # "https://git.sagemath.org/sage.git/patch?id2=${base}&id=${rev}"
22+ # but the former way does not squash multiple patches together.
23+ url = "https://github.com/sagemath/sage/compare/${base}...${rev}.diff";
24+25 # We don't care about sage's own build system (which builds all its dependencies).
26 # Exclude build system changes to avoid conflicts.
27 excludes = [ "build/*" ];
···84 # ignore a deprecation warning for usage of `cmp` in the attrs library in the doctests
85 ./patches/ignore-cmp-deprecation.patch
86000000087 # remove use of matplotlib function deprecated in 3.4
88 # https://trac.sagemath.org/ticket/31827
89 (fetchSageDiff {
···93 sha256 = "sha256-SXcUGBMOoE9HpuBzgKC3P6cUmM5MiktXbe/7dVdrfWo=";
94 })
9596+ # pari 2.13 update
97+ # https://trac.sagemath.org/ticket/30801
98+ #
99+ # the last commit in that ticket is
100+ # c78b1470fccd915e2fa93f95f2fefba6220fb1f7, but commits after
101+ # 10a4531721d2700fd717e2b3a1364508ffd971c3 only deal with 32-bit
102+ # and post-26635 breakage, none of which is relevant to us. since
103+ # there are post-9.4.beta0 rebases after that, we just skip later
104+ # commits.
105+ (fetchSageDiff {
106+ base = "9.3";
107 name = "pari-2.13.1.patch";
108+ rev = "10a4531721d2700fd717e2b3a1364508ffd971c3";
109+ sha256 = "sha256-gffWKK9CMREaNOb5zb63iZUgON4FvsPrMQNqe+5ZU9E=";
110+ })
111+112+ # sympy 1.8 update
113+ # https://trac.sagemath.org/ticket/31647
114+ (fetchSageDiff {
115+ base = "9.4.beta0";
116+ name = "sympy-1.8.patch";
117+ rev = "fa864b36e15696450c36d54215b1e68183b29d25";
118+ sha256 = "sha256-fj/9QEZlVF0fw9NpWflkTuBSKpGjCE6b96ECBgdn77o=";
119+ })
120+121+ # sphinx 4 update
122+ # https://trac.sagemath.org/ticket/31696
123+ (fetchSageDiff {
124+ base = "9.4.beta3";
125+ name = "sphinx-4.patch";
126+ rev = "bc84af8c795b7da433d2000afc3626ee65ba28b8";
127+ sha256 = "sha256-5Kvs9jarC8xRIU1rdmvIWxQLC25ehiTLJpg5skh8WNM=";
128 })
129 ];
130
···50 pytest-pep8 = pytestpep8; # added 2021-01-04
51 pytestpep8 = throw "pytestpep8 was removed because it is abandoned and no longer compatible with pytest v6.0"; # added 2020-12-10
52 qasm2image = throw "qasm2image is no longer maintained (since November 2018), and is not compatible with the latest pythonPackages.qiskit versions."; # added 2020-12-09
053 selectors34 = throw "selectors34 has been removed: functionality provided by Python itself; archived by upstream."; # Added 2021-06-10
54 setuptools_scm = setuptools-scm; # added 2021-06-03
55 smart_open = smart-open; # added 2021-03-14
···50 pytest-pep8 = pytestpep8; # added 2021-01-04
51 pytestpep8 = throw "pytestpep8 was removed because it is abandoned and no longer compatible with pytest v6.0"; # added 2020-12-10
52 qasm2image = throw "qasm2image is no longer maintained (since November 2018), and is not compatible with the latest pythonPackages.qiskit versions."; # added 2020-12-09
53+ rotate-backups = throw "pythonPackages.rotate-backups was removed in favor of the top-level rotate-backups"; # added 2021-07-01
54 selectors34 = throw "selectors34 has been removed: functionality provided by Python itself; archived by upstream."; # Added 2021-06-10
55 setuptools_scm = setuptools-scm; # added 2021-06-03
56 smart_open = smart-open; # added 2021-03-14