summaryrefslogtreecommitdiff
path: root/pkgs/applications/science/math/sage
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/science/math/sage')
-rw-r--r--pkgs/applications/science/math/sage/patches/sphinx-3.5-code-output.patch13
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix32
-rw-r--r--pkgs/applications/science/math/sage/sagedoc.nix2
3 files changed, 44 insertions, 3 deletions
diff --git a/pkgs/applications/science/math/sage/patches/sphinx-3.5-code-output.patch b/pkgs/applications/science/math/sage/patches/sphinx-3.5-code-output.patch
new file mode 100644
index 000000000000..f17897d4c89f
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/sphinx-3.5-code-output.patch
@@ -0,0 +1,13 @@
+diff --git a/src/sage/misc/sagedoc.py b/src/sage/misc/sagedoc.py
+index 6bad826a88..f4d7b8651c 100644
+--- a/src/sage/misc/sagedoc.py
++++ b/src/sage/misc/sagedoc.py
+@@ -24,7 +24,7 @@ see :trac:`12849`::
+ ....: for line in fobj:
+ ....: if "#sage.symbolic.expression.Expression.numerical_approx" in line:
+ ....: print(line)
+- <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>...
++ <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>...
+
+ Check that sphinx is not imported at Sage start-up::
+
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index 91e855777f0e..57234c660a5a 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -24,14 +24,14 @@ let
);
in
stdenv.mkDerivation rec {
- version = "9.3.rc4";
+ version = "9.3";
pname = "sage-src";
src = fetchFromGitHub {
owner = "sagemath";
repo = "sage";
rev = version;
- sha256 = "sha256-LDY07By2j6JagkgT9zeDJ93+m2/oXXEnDRTDzmR8ftk=";
+ sha256 = "sha256-l9DX8jcDdKA7GJ6xU+nBsmlZxrcZ9ZUAJju621ooBEo=";
};
# Patches needed because of particularities of nix or the way this is packaged.
@@ -78,6 +78,34 @@ stdenv.mkDerivation rec {
# ignore a deprecation warning for usage of `cmp` in the attrs library in the doctests
./patches/ignore-cmp-deprecation.patch
+
+ # sphinx 3.5 pretty-prints code slightly differently than sphinx
+ # 3.1--3.3. a similar patch is available at the sphinx 4 ticket
+ # (https://trac.sagemath.org/ticket/31696), but sphinx 3.5 uses
+ # <code> tags while sphinx 4 uses <span> tags so we cannot just
+ # import the patch from trac.
+ ./patches/sphinx-3.5-code-output.patch
+
+ # remove use of matplotlib function deprecated in 3.4
+ # https://trac.sagemath.org/ticket/31827
+ (fetchSageDiff {
+ base = "9.3";
+ name = "remove-matplotlib-deprecated-function.patch";
+ rev = "32b2bcaefddc4fa3d2aee6fa690ce1466cbb5948";
+ sha256 = "sha256-SXcUGBMOoE9HpuBzgKC3P6cUmM5MiktXbe/7dVdrfWo=";
+ })
+
+ # https://trac.sagemath.org/ticket/30801. this patch has
+ # positive_review but has not been merged upstream yet, so we
+ # don't use fetchSageDiff because it returns a file that contains
+ # each commit as a separate patch instead of a single diff, and
+ # some commits from the pari update branch are already in 9.3.rc5
+ # (auto-resolvable merge conflicts).
+ (fetchpatch {
+ name = "pari-2.13.1.patch";
+ url = "https://github.com/sagemath/sagetrac-mirror/compare/d6c5cd9be78cc448ee4c54bac93385b1244a234c...10a4531721d2700fd717e2b3a1364508ffd971c3.diff";
+ sha256 = "sha256-zMjRMEReoiTvmt+vvV0Ij1jtyLSLwSXBEVXqgvmq1D4=";
+ })
];
patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;
diff --git a/pkgs/applications/science/math/sage/sagedoc.nix b/pkgs/applications/science/math/sage/sagedoc.nix
index 603c1a585c79..f4a8bf19b69c 100644
--- a/pkgs/applications/science/math/sage/sagedoc.nix
+++ b/pkgs/applications/science/math/sage/sagedoc.nix
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
mv html/en/_static{,.tmp}
for _dir in `find -name _static` ; do
rm -r $_dir
- ln -s /share/doc/sage/html/en/_static $_dir
+ ln -s html/en/_static $_dir
done
mv html/en/_static{.tmp,}
'';