about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/science/math
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/science/math')
-rw-r--r--nixpkgs/pkgs/applications/science/math/R/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/science/math/cplex/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/science/math/gap/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/gmsh/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/math/gurobi/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/patches/do-not-test-package-manifests.patch26
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch57
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/sage-src.nix66
-rw-r--r--nixpkgs/pkgs/applications/science/math/sage/sage-with-env.nix7
10 files changed, 90 insertions, 99 deletions
diff --git a/nixpkgs/pkgs/applications/science/math/R/default.nix b/nixpkgs/pkgs/applications/science/math/R/default.nix
index ed107765b467..a791f9a57727 100644
--- a/nixpkgs/pkgs/applications/science/math/R/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/R/default.nix
@@ -8,11 +8,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "R-3.6.0";
+  name = "R-3.6.1";
 
   src = fetchurl {
     url = "https://cran.r-project.org/src/base/R-3/${name}.tar.gz";
-    sha256 = "02bmylmzrm9sdidirmwy233lghmd2346z725ca71ari68lzarz1n";
+    sha256 = "128kifbq0w25y8aq77w289ddax5i5w2djcfsqgffrb3i7syrxajv";
   };
 
   dontUseImakeConfigure = true;
@@ -27,10 +27,6 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./no-usr-local-search-paths.patch
-    (fetchpatch {
-      url = "https://github.com/wch/r-source/commit/aeb75e12863019be06fe6c762ab705bf5ed8b38c.patch";
-      sha256 = "03xv1g1yw1dbhx4paw6pn6hkawj8sny86km3748l1vnasbham82g";
-      })
   ];
 
   prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
diff --git a/nixpkgs/pkgs/applications/science/math/cplex/default.nix b/nixpkgs/pkgs/applications/science/math/cplex/default.nix
index dc0e9ea1aa5d..a14839d3eccc 100644
--- a/nixpkgs/pkgs/applications/science/math/cplex/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/cplex/default.nix
@@ -71,6 +71,11 @@ stdenv.mkDerivation rec {
       fi
     done
   '';
+
+  passthru = {
+    libArch = "x86-64_linux";
+    libSuffix = "${version}0";
+  };
   
   meta = with stdenv.lib; {
     description = "Optimization solver for mathematical programming";
diff --git a/nixpkgs/pkgs/applications/science/math/gap/default.nix b/nixpkgs/pkgs/applications/science/math/gap/default.nix
index 9b42bcd9f13a..7eb10d1f9525 100644
--- a/nixpkgs/pkgs/applications/science/math/gap/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/gap/default.nix
@@ -61,11 +61,11 @@ in
 stdenv.mkDerivation rec {
   pname = "gap";
   # https://www.gap-system.org/Releases/
-  version = "4.10.1";
+  version = "4.10.2";
 
   src = fetchurl {
     url = "https://www.gap-system.org/pub/gap/gap-${lib.versions.major version}.${lib.versions.minor version}/tar.bz2/gap-${version}.tar.bz2";
-    sha256 = "136s0zvhcw41fshj5zgsrjcy2kd58cdh2m3ddp5rdizi4rx54f10";
+    sha256 = "0cp6ddk0469zzv1m1vair6gm27ic6c5m77ri8rn0znq3gaps6x94";
   };
 
   # remove all non-essential packages (which take up a lot of space)
diff --git a/nixpkgs/pkgs/applications/science/math/gmsh/default.nix b/nixpkgs/pkgs/applications/science/math/gmsh/default.nix
index 80b2764cdc0a..1a3ba8096e29 100644
--- a/nixpkgs/pkgs/applications/science/math/gmsh/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/gmsh/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, cmake, openblasCompat, gfortran, gmm, fltk, libjpeg
 , zlib, libGLU_combined, libGLU, xorg }:
 
-let version = "4.3.0"; in
+let version = "4.4.0"; in
 
 stdenv.mkDerivation {
   name = "gmsh-${version}";
 
   src = fetchurl {
     url = "http://gmsh.info/src/gmsh-${version}-source.tgz";
-    sha256 = "0ab4p2dilk4rfw1qc817rmy56qkhxaajpnqdnvahbhcbf3skd8jl";
+    sha256 = "0b0h15cmi6zy31cii7r9jmfm9xksljff255dn6l9frhdjymkmx7l";
   };
 
   buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU_combined
diff --git a/nixpkgs/pkgs/applications/science/math/gurobi/default.nix b/nixpkgs/pkgs/applications/science/math/gurobi/default.nix
index be14d1411285..ee9bdcc6f1b0 100644
--- a/nixpkgs/pkgs/applications/science/math/gurobi/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/gurobi/default.nix
@@ -1,8 +1,10 @@
-{ stdenv, fetchurl, autoPatchelfHook, python }:
+{ stdenv, lib, fetchurl, autoPatchelfHook, python }:
 
-stdenv.mkDerivation rec {
+let
+  majorVersion = "8.1";
+in stdenv.mkDerivation rec {
   name = "gurobi-${version}";
-  version = "8.1.0";
+  version = "${majorVersion}.0";
 
   src = with stdenv.lib; fetchurl {
     url = "http://packages.gurobi.com/${versions.majorMinor version}/gurobi${version}_linux64.tar.gz";
@@ -44,6 +46,8 @@ stdenv.mkDerivation rec {
     ln -s $out/lib/gurobi-javadoc.jar $out/share/java/
   '';
 
+  passthru.libSuffix = lib.replaceStrings ["."] [""] majorVersion;
+
   meta = with stdenv.lib; {
     description = "Optimization solver for mathematical programming";
     homepage = https://www.gurobi.com;
diff --git a/nixpkgs/pkgs/applications/science/math/sage/default.nix b/nixpkgs/pkgs/applications/science/math/sage/default.nix
index 061b3beeb3f2..caf51c3da251 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/default.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/default.nix
@@ -130,7 +130,7 @@ let
   singular = pkgs.singular.override { inherit flint; };
 
   # https://trac.sagemath.org/ticket/26625
-  maxima-ecl = pkgs.maxima-ecl-5_41;
+  maxima-ecl = pkgs.maxima-ecl;
 
   # *not* to confuse with the python package "pynac"
   pynac = pkgs.pynac.override { inherit singular flint; };
diff --git a/nixpkgs/pkgs/applications/science/math/sage/patches/do-not-test-package-manifests.patch b/nixpkgs/pkgs/applications/science/math/sage/patches/do-not-test-package-manifests.patch
deleted file mode 100644
index 9e3f0f5ae880..000000000000
--- a/nixpkgs/pkgs/applications/science/math/sage/patches/do-not-test-package-manifests.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/src/sage/misc/package.py b/src/sage/misc/package.py
-index 3bca15d53b..7cf04ff8d1 100644
---- a/src/sage/misc/package.py
-+++ b/src/sage/misc/package.py
-@@ -478,16 +478,16 @@ def package_manifest(package):
- 
-     EXAMPLES::
- 
--        sage: from sage.misc.package import package_manifest
--        sage: sagetex_manifest = package_manifest('sagetex')
--        sage: sagetex_manifest['package_name'] == 'sagetex'
-+        sage: from sage.misc.package import package_manifest # optional - buildsystem
-+        sage: sagetex_manifest = package_manifest('sagetex') # optional - buildsystem
-+        sage: sagetex_manifest['package_name'] == 'sagetex' # optional - buildsystem
-         True
--        sage: 'files' in sagetex_manifest
-+        sage: 'files' in sagetex_manifest # optional - buildsystem
-         True
- 
-     Test a nonexistent package::
- 
--        sage: package_manifest('dummy-package')
-+        sage: package_manifest('dummy-package') # optional - buildsystem
-         Traceback (most recent call last):
-         ...
-         KeyError: 'dummy-package'
diff --git a/nixpkgs/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch b/nixpkgs/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch
new file mode 100644
index 000000000000..933344aa5591
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch
@@ -0,0 +1,57 @@
+diff --git a/src/sage_setup/docbuild/__init__.py b/src/sage_setup/docbuild/__init__.py
+index 0f2700168a..60f71357d2 100644
+--- a/src/sage_setup/docbuild/__init__.py
++++ b/src/sage_setup/docbuild/__init__.py
+@@ -86,26 +86,6 @@ def builder_helper(type):
+     """
+     Returns a function which builds the documentation for
+     output type ``type``.
+-
+-    TESTS:
+-
+-    Check that :trac:`25161` has been resolved::
+-
+-        sage: from sage_setup.docbuild import DocBuilder, setup_parser
+-        sage: DocBuilder._options = setup_parser().parse_args([])[0] # builder_helper needs _options to be set
+-
+-        sage: import sage_setup.docbuild.sphinxbuild
+-        sage: def raiseBaseException():
+-        ....:     raise BaseException("abort pool operation")
+-        sage: original_runsphinx, sage_setup.docbuild.sphinxbuild.runsphinx = sage_setup.docbuild.sphinxbuild.runsphinx, raiseBaseException
+-
+-        sage: from sage_setup.docbuild import builder_helper, build_many, build_ref_doc
+-        sage: helper = builder_helper("html")
+-        sage: try:
+-        ....:     build_many(build_ref_doc, [("docname", "en", "html", {})])
+-        ....: except Exception as E:
+-        ....:     "Non-exception during docbuild: abort pool operation" in str(E)
+-        True
+     """
+     def f(self, *args, **kwds):
+         output_dir = self._output_dir(type)
+@@ -127,10 +107,9 @@ def builder_helper(type):
+         logger.debug(build_command)
+ 
+         # Run Sphinx with Sage's special logger
+-        sys.argv = ["sphinx-build"] + build_command.split()
+-        from .sphinxbuild import runsphinx
++        args = "python -um sage_setup.docbuild.sphinxbuild -N".split() + build_command.split()
+         try:
+-            runsphinx()
++            subprocess.check_call(args)
+         except Exception:
+             if ABORT_ON_ERROR:
+                 raise
+diff --git a/src/sage_setup/docbuild/sphinxbuild.py b/src/sage_setup/docbuild/sphinxbuild.py
+index 9a2fba79bc..77c8ed3592 100644
+--- a/src/sage_setup/docbuild/sphinxbuild.py
++++ b/src/sage_setup/docbuild/sphinxbuild.py
+@@ -318,3 +318,8 @@ def runsphinx():
+         sys.stderr = saved_stderr
+         sys.stdout.flush()
+         sys.stderr.flush()
++
++if __name__ == '__main__':
++    import sys
++    sys.argv[0] = "sphinx-build"
++    runsphinx()
diff --git a/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix b/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix
index e0050efe6bdd..51460154c5de 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/sage-src.nix
@@ -10,14 +10,14 @@
 # all get the same sources with the same patches applied.
 
 stdenv.mkDerivation rec {
-  version = "8.7";
+  version = "8.8";
   pname = "sage-src";
 
   src = fetchFromGitHub {
     owner = "sagemath";
     repo = "sage";
     rev = version;
-    sha256 = "05vvrd6syh0hlmrk6kzjrwd0hpmvxp8vr8p3mkjb0jh5p2kjdd27";
+    sha256 = "0jm7zdkz8wfgrmf6620jfr8kgvprrz3qfl8gzx6rl5z5cm734b6x";
   };
 
   # Patches needed because of particularities of nix or the way this is packaged.
@@ -45,46 +45,23 @@ stdenv.mkDerivation rec {
     # Fixes a potential race condition which can lead to transient doctest failures.
     ./patches/fix-ecl-race.patch
 
-    # Parallelize docubuild using subprocesses, fixing an isolation issue. See
-    # https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE
-    (fetchpatch {
-      name = "sphinx-docbuild-subprocesses.patch";
-      url = "https://salsa.debian.org/science-team/sagemath/raw/8a215b17e6f791ddfae6df8ce6d01dfb89acb434/debian/patches/df-subprocess-sphinx.patch";
-      sha256 = "07p9i0fwjgapmfvmi436yn6v60p8pvmxqjc93wsssqgh5kd8qw3n";
-      stripLen = 1;
-    })
-
-    # Part of the build system. Should become unnecessary with sage 8.8.
-    # Upstream discussion here: https://trac.sagemath.org/ticket/27124#comment:33
-    ./patches/do-not-test-package-manifests.patch
-
     # Not necessary since library location is set explicitly
     # https://trac.sagemath.org/ticket/27660#ticket
     ./patches/do-not-test-find-library.patch
 
-    # https://trac.sagemath.org/ticket/27697#ticket
-    (fetchpatch {
-      name = "pplpy-doc-location-configurable.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?h=c4d966e7cb0c7b87c55d52dc6f46518433a2a0a2";
-      sha256 = "0pqbbsx8mriwny422s9mp3z5d095cnam32sm62q4mxk8g8jb9vm9";
-    })
 
     # https://trac.sagemath.org/ticket/28007
     ./patches/threejs-offline.patch
+
+    # Parallelize docubuild using subprocesses, fixing an isolation issue. See
+    # https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE
+    ./patches/sphinx-docbuild-subprocesses.patch
   ];
 
   # Since sage unfortunately does not release bugfix releases, packagers must
   # fix those bugs themselves. This is for critical bugfixes, where "critical"
   # == "causes (transient) doctest failures / somebody complained".
-  bugfixPatches = [
-    # Transient doctest failure in src/sage/modular/abvar/torsion_subgroup.py
-    # https://trac.sagemath.org/ticket/27477
-    (fetchpatch {
-      name = "sig_on_in_matrix_sparce.patch";
-      url = "https://git.sagemath.org/sage.git/patch?id2=10407524b18659e14e184114b61c043fb816f3c2&id=c9b0cc9d0b8748ab85e568f8f57f316c5e8cbe54";
-      sha256 = "0wgp7yvn9sm1ynlhcr4l0hzmvr2n28llg4xc01p6k1zz4im64c17";
-    })
-  ];
+  bugfixPatches = [ ];
 
   # Patches needed because of package updates. We could just pin the versions of
   # dependencies, but that would lead to rebuilds, confusion and the burdons of
@@ -116,35 +93,6 @@ stdenv.mkDerivation rec {
       stripLen = 1;
     })
 
-    # https://trac.sagemath.org/ticket/26451
-    (fetchSageDiff {
-      name = "sphinx-1.8.patch";
-      base = "8.7";
-      rev = "737afd8f314bd1e16feaec562bb4b5efa2effa8b";
-      sha256 = "0n56ss88ds662bp49j23z5c2i6hsn3jynxw13wv76hyl0h7l1hjh";
-    })
-
-    # https://trac.sagemath.org/ticket/27653
-    (fetchpatch {
-      name = "sympy-1.4.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?h=3277ba76d0ba7174608a31a0c6623e9210c63e3d";
-      sha256 = "09avaanwmdgqv14mmllbgw9z2scf4lc0y0kzdhlriiq8ss9j8iir";
-    })
-
-    # https://trac.sagemath.org/ticket/27094
-    (fetchpatch {
-      name = "gap-4.10.1.patch";
-      url = "https://git.sagemath.org/sage.git/patch?id=d3483110474591ea6cc8e3210cd884f3e0018b3e";
-      sha256 = "028i6h8l8npwzx5z0ax0rcywl85gc83qw1jf93zf523msdfcsk0n";
-    })
-
-    # https://trac.sagemath.org/ticket/27738
-    (fetchpatch {
-      name = "R-3.6.0.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?h=8b7dbd0805d02d0e8674a272e161ceb24a637966";
-      sha256 = "1c81f13z1w62s06yvp43gz6vkp8mxcs289n6l4gj9xj10slimzff";
-    })
-
     # https://trac.sagemath.org/ticket/26932
     (fetchSageDiff {
       name = "givaro-4.1.0_fflas-ffpack-2.4.0_linbox-1.6.0.patch";
diff --git a/nixpkgs/pkgs/applications/science/math/sage/sage-with-env.nix b/nixpkgs/pkgs/applications/science/math/sage/sage-with-env.nix
index 5bb7eda47d5d..e4b1aeae016a 100644
--- a/nixpkgs/pkgs/applications/science/math/sage/sage-with-env.nix
+++ b/nixpkgs/pkgs/applications/science/math/sage/sage-with-env.nix
@@ -99,6 +99,13 @@ stdenv.mkDerivation rec {
     for pkg in ${lib.concatStringsSep " " input_names}; do
       touch "installed/$pkg"
     done
+
+    # threejs version is in format 0.<version>.minor, but sage currently still
+    # relies on installed_packages for the online version of threejs to work
+    # and expects the format r<version>. This is a hotfix for now.
+    # upstream: https://trac.sagemath.org/ticket/26434
+    rm "installed/threejs"*
+    touch "installed/threejs-r${lib.versions.minor three.version}"
   '';
 
   installPhase = ''