about summary refs log tree commit diff
path: root/pkgs/applications/science
diff options
context:
space:
mode:
authorMauricio Collares <mauricio@collares.org>2021-06-30 18:20:22 -0300
committerMauricio Collares <mauricio@collares.org>2021-06-30 20:26:16 -0300
commit17e024867f0db475e5eb080c2e6e225a32bbce17 (patch)
tree0610834d5743dedfc0fd7ef595aecc3c2dc9d44d /pkgs/applications/science
parent289d84a58ef86b0b6dbbb44e32c70fbc8bfa2855 (diff)
sage: import sphinx and sympy update patches, update pari 2.13 patch
Diffstat (limited to 'pkgs/applications/science')
-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.nix54
2 files changed, 37 insertions, 30 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
deleted file mode 100644
index f17897d4c89f6..0000000000000
--- a/pkgs/applications/science/math/sage/patches/sphinx-3.5-code-output.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-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 57234c660a5a8..1ed174ebd4607 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -16,7 +16,12 @@ let
   fetchSageDiff = { base, name, rev, sha256, ...}@args: (
     fetchpatch ({
       inherit name sha256;
-      url = "https://git.sagemath.org/sage.git/patch?id2=${base}&id=${rev}";
+
+      # We used to use
+      # "https://git.sagemath.org/sage.git/patch?id2=${base}&id=${rev}"
+      # but the former way does not squash multiple patches together.
+      url = "https://github.com/sagemath/sage/compare/${base}...${rev}.diff";
+
       # We don't care about sage's own build system (which builds all its dependencies).
       # Exclude build system changes to avoid conflicts.
       excludes = [ "build/*" ];
@@ -79,13 +84,6 @@ 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 {
@@ -95,16 +93,38 @@ stdenv.mkDerivation rec {
       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 {
+    # pari 2.13 update
+    # https://trac.sagemath.org/ticket/30801
+    #
+    # the last commit in that ticket is
+    # c78b1470fccd915e2fa93f95f2fefba6220fb1f7, but commits after
+    # 10a4531721d2700fd717e2b3a1364508ffd971c3 only deal with 32-bit
+    # and post-26635 breakage, none of which is relevant to us. since
+    # there are post-9.4.beta0 rebases after that, we just skip later
+    # commits.
+    (fetchSageDiff {
+      base = "9.3";
       name = "pari-2.13.1.patch";
-      url = "https://github.com/sagemath/sagetrac-mirror/compare/d6c5cd9be78cc448ee4c54bac93385b1244a234c...10a4531721d2700fd717e2b3a1364508ffd971c3.diff";
-      sha256 = "sha256-zMjRMEReoiTvmt+vvV0Ij1jtyLSLwSXBEVXqgvmq1D4=";
+      rev = "10a4531721d2700fd717e2b3a1364508ffd971c3";
+      sha256 = "sha256-gffWKK9CMREaNOb5zb63iZUgON4FvsPrMQNqe+5ZU9E=";
+    })
+
+    # sympy 1.8 update
+    # https://trac.sagemath.org/ticket/31647
+    (fetchSageDiff {
+      base = "9.4.beta0";
+      name = "sympy-1.8.patch";
+      rev = "fa864b36e15696450c36d54215b1e68183b29d25";
+      sha256 = "sha256-fj/9QEZlVF0fw9NpWflkTuBSKpGjCE6b96ECBgdn77o=";
+    })
+
+    # sphinx 4 update
+    # https://trac.sagemath.org/ticket/31696
+    (fetchSageDiff {
+      base = "9.4.beta3";
+      name = "sphinx-4.patch";
+      rev = "bc84af8c795b7da433d2000afc3626ee65ba28b8";
+      sha256 = "sha256-5Kvs9jarC8xRIU1rdmvIWxQLC25ehiTLJpg5skh8WNM=";
     })
   ];