about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/science/math
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/science/math')
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/arpack/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/brial/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/cudnn/default.nix9
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/ecos/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/m4ri/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/openblas/0001-Disable-optimised-aarch64-dgemm_beta-pending-fix.patch26
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/or-tools/build.patch5
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/or-tools/default.nix22
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/or-tools/protobuf.patch10
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/osi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/petsc/default.nix34
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/scalapack/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/scs/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/suitesparse/default.nix3
15 files changed, 88 insertions, 72 deletions
diff --git a/nixpkgs/pkgs/development/libraries/science/math/arpack/default.nix b/nixpkgs/pkgs/development/libraries/science/math/arpack/default.nix
index 36576de05631..89f3aa94247b 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/arpack/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/arpack/default.nix
@@ -30,9 +30,9 @@ stdenv.mkDerivation {
   ];
 
   preCheck = if stdenv.isDarwin then ''
-    export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:`pwd`/lib
+    export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH''${DYLD_LIBRARY_PATH:+:}`pwd`/lib
   '' else ''
-    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/lib
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}`pwd`/lib
   '' + ''
     # Prevent tests from using all cores
     export OMP_NUM_THREADS=2
diff --git a/nixpkgs/pkgs/development/libraries/science/math/brial/default.nix b/nixpkgs/pkgs/development/libraries/science/math/brial/default.nix
index 56a78b00cd64..4ffe147b27f2 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/brial/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/brial/default.nix
@@ -8,14 +8,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.6";
+  version = "1.2.7";
   pname = "brial";
 
   src = fetchFromGitHub {
     owner = "BRiAl";
     repo = "BRiAl";
     rev = version;
-    sha256 = "1mc1zjr3mxcx6bg0js5k9jx65japg7644b0aj1al75m4nwh2ygab";
+    sha256 = "1s0wmbb42sq6a5kxgzsz5srphclmfa4cvxdx2h9kzp0da2zcp3cm";
   };
 
   # FIXME package boost-test and enable checks
diff --git a/nixpkgs/pkgs/development/libraries/science/math/cudnn/default.nix b/nixpkgs/pkgs/development/libraries/science/math/cudnn/default.nix
index 8cd74939959d..765d634a91f9 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/cudnn/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/cudnn/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, cudatoolkit_7, cudatoolkit_7_5, cudatoolkit_8, cudatoolkit_9_0, cudatoolkit_9_1, cudatoolkit_9_2, cudatoolkit_10_0, cudatoolkit_10_1 }:
+{ callPackage, cudatoolkit_7, cudatoolkit_7_5, cudatoolkit_8, cudatoolkit_9_0, cudatoolkit_9_1, cudatoolkit_9_2, cudatoolkit_10_0, cudatoolkit_10_1, cudatoolkit_10_2 }:
 
 let
   generic = args: callPackage (import ./generic.nix (removeAttrs args ["cudatoolkit"])) {
@@ -72,5 +72,12 @@ in rec {
     sha256 = "0qc9f1xpyfibwqrpqxxq2v9h6w90j0dbx564akwy44c1dls5f99m";
   };
 
+  cudnn_cudatoolkit_10_2 = generic rec {
+    version = "7.6.5";
+    cudatoolkit = cudatoolkit_10_2;
+    srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.6.5.32.tgz";
+    sha256 = "084c13vzjdkb5s1996yilybg6dgav1lscjr1xdcgvlmfrbr6f0k0";
+  };
+
   cudnn_cudatoolkit_10 = cudnn_cudatoolkit_10_1;
 }
diff --git a/nixpkgs/pkgs/development/libraries/science/math/ecos/default.nix b/nixpkgs/pkgs/development/libraries/science/math/ecos/default.nix
index 77973a954494..2ba69a34a4a7 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/ecos/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/ecos/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ecos";
-  version = "2.0.6";
+  version = "2.0.7";
 
   src = fetchFromGitHub {
     owner = "embotech";
     repo = "ecos";
-    rev = "v${version}";
-    sha256 = "11v958j66wq30gxpjpkgl7n3rvla845lygz8fl39pgf1vk9sdyc7";
+    rev = version;
+    sha256 = "1hsndim5kjvcwk5svqa4igawzahj982180xj1d7yd0dbjlgxc7w7";
   };
 
   buildPhase = ''
@@ -29,9 +29,10 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A lightweight conic solver for second-order cone programming";
-    homepage = https://www.embotech.com/ECOS;
+    homepage = "https://www.embotech.com/ECOS";
+    downloadPage = "https://github.com/embotech/ecos/releases";
     license = licenses.gpl3;
     platforms = platforms.all;
-    maintainers = [ maintainers.bhipple ];
+    maintainers = with maintainers; [ bhipple ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/science/math/m4ri/default.nix b/nixpkgs/pkgs/development/libraries/science/math/m4ri/default.nix
index 50e0c576e696..e6c5cac77d29 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/m4ri/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/m4ri/default.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "20200115";
+  version = "20200125";
   pname = "m4ri";
 
   src = fetchFromBitbucket {
     owner = "malb";
     repo = "m4ri";
     rev = "release-${version}";
-    sha256 = "1c17casrw6dvwj067kfcgyjjajfisz56s30wjv7fwaw55mqrny19";
+    sha256 = "1dxgbv6zdyki3h61qlv7003wzhy6x14zmcaz9x19md1i7ng07w1k";
   };
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/libraries/science/math/openblas/0001-Disable-optimised-aarch64-dgemm_beta-pending-fix.patch b/nixpkgs/pkgs/development/libraries/science/math/openblas/0001-Disable-optimised-aarch64-dgemm_beta-pending-fix.patch
new file mode 100644
index 000000000000..1da1f3fb3190
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/science/math/openblas/0001-Disable-optimised-aarch64-dgemm_beta-pending-fix.patch
@@ -0,0 +1,26 @@
+From 6cb9aa7c69c20a677ca9fb1bc5fa1580e3236fbd Mon Sep 17 00:00:00 2001
+From: Tom Hall <tahall256@protonmail.ch>
+Date: Sat, 14 Mar 2020 11:55:45 +0000
+Subject: [PATCH] Disable optimised aarch64 dgemm_beta pending fix
+
+Identified as source of https://github.com/xianyi/OpenBLAS/issues/2496,
+but not yet fixed.
+---
+ kernel/arm64/KERNEL.ARMV8 | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/kernel/arm64/KERNEL.ARMV8 b/kernel/arm64/KERNEL.ARMV8
+index fe32d313..33d12f94 100644
+--- a/kernel/arm64/KERNEL.ARMV8
++++ b/kernel/arm64/KERNEL.ARMV8
+@@ -102,7 +102,6 @@ CDOTKERNEL     = zdot.S
+ ZDOTKERNEL     = zdot.S
+ DSDOTKERNEL    = dot.S
+ 
+-DGEMM_BETA     = dgemm_beta.S
+ SGEMM_BETA     = sgemm_beta.S
+ 
+ SGEMMKERNEL    =  sgemm_kernel_$(SGEMM_UNROLL_M)x$(SGEMM_UNROLL_N).S
+-- 
+2.24.1
+
diff --git a/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix b/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix
index a26cf38a9d09..38ad31cc6257 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/openblas/default.nix
@@ -88,12 +88,12 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "openblas";
-  version = "0.3.7";
+  version = "0.3.8";
   src = fetchFromGitHub {
     owner = "xianyi";
     repo = "OpenBLAS";
     rev = "v${version}";
-    sha256 = "0vs1dlzyla02wajpkfzz8x3lfpgmwiaaizq2nmdjbkzkb7jnxhhz";
+    sha256 = "0s017qqi4n6jzrxl9cyx625wj26smnyn5g8s699s7h8v1srlrw6p";
   };
 
   inherit blas64;
@@ -123,6 +123,12 @@ stdenv.mkDerivation rec {
     buildPackages.stdenv.cc
   ];
 
+  # Disable an optimisation which seems to cause issues, pending an
+  # upstream fix: https://github.com/xianyi/OpenBLAS/issues/2496
+  patches = stdenv.lib.optionals stdenv.hostPlatform.isAarch64 [
+    ./0001-Disable-optimised-aarch64-dgemm_beta-pending-fix.patch
+  ];
+
   makeFlags = mkMakeFlagsFromConfig (config // {
     FC = "${stdenv.cc.targetPrefix}gfortran";
     CC = "${stdenv.cc.targetPrefix}${if stdenv.cc.isClang then "clang" else "cc"}";
diff --git a/nixpkgs/pkgs/development/libraries/science/math/or-tools/build.patch b/nixpkgs/pkgs/development/libraries/science/math/or-tools/build.patch
deleted file mode 100644
index a67e137ff4af..000000000000
--- a/nixpkgs/pkgs/development/libraries/science/math/or-tools/build.patch
+++ /dev/null
@@ -1,5 +0,0 @@
---- a/makefiles/Makefile.python.mk
-+++ b/makefiles/Makefile.python.mk
-@@ -1070 +1070 @@ $(PYPI_ARCHIVE_TEMP_DIR)/ortools/ortools/data: $(PYDATA_LIBS) | $(PYPI_ARCHIVE_T
--$(PYPI_ARCHIVE_TEMP_DIR)/ortools/ortools/util: $(PYUTIL_LIBS) | $(PYPI_ARCHIVE_TEMP_DIR)/ortools/ortools
-+$(PYPI_ARCHIVE_TEMP_DIR)/ortools/ortools/util: $(PYSORTED_INTERVAL_LIST_LIBS) | $(PYPI_ARCHIVE_TEMP_DIR)/ortools/ortools
diff --git a/nixpkgs/pkgs/development/libraries/science/math/or-tools/default.nix b/nixpkgs/pkgs/development/libraries/science/math/or-tools/default.nix
index 15aea5803bf1..688d14256819 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/or-tools/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/or-tools/default.nix
@@ -1,24 +1,22 @@
 { stdenv, fetchFromGitHub, cmake, abseil-cpp, gflags, which
-, lsb-release, glog, protobuf, cbc, zlib
-, ensureNewerSourcesForZipFilesHook, python, swig
-, pythonProtobuf }:
+, lsb-release, glog, protobuf3_11, cbc, zlib
+, ensureNewerSourcesForZipFilesHook, python, swig }:
 
-stdenv.mkDerivation rec {
+let
+  protobuf = protobuf3_11;
+  pythonProtobuf = python.pkgs.protobuf.override { inherit protobuf; };
+
+in stdenv.mkDerivation rec {
   pname = "or-tools";
-  version = "7.3";
+  version = "7.5";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "or-tools";
     rev = "v${version}";
-    sha256 = "0q06vxmds6nm3dpjw4y5jzr8j98qgfb9i8pbm9pfhmqigv791hwc";
+    sha256 = "1p9jwdwzcsaa58ap912hdf2w27vna3xl9g4lh6kjskddwi8l3wac";
   };
 
-  patches = [
-    ./build.patch # https://github.com/google/or-tools/pull/1619
-    ./protobuf.patch # Otherwise it tries to install protobuf from pypi.
-  ];
-
   # The original build system uses cmake which does things like pull
   # in dependencies through git and Makefile creation time. We
   # obviously don't want to do this so instead we provide the
@@ -69,7 +67,7 @@ stdenv.mkDerivation rec {
     description = ''
       Google's software suite for combinatorial optimization.
     '';
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ andersk ];
     platforms = with platforms; linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/science/math/or-tools/protobuf.patch b/nixpkgs/pkgs/development/libraries/science/math/or-tools/protobuf.patch
deleted file mode 100644
index b0cce40434c6..000000000000
--- a/nixpkgs/pkgs/development/libraries/science/math/or-tools/protobuf.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/makefiles/Makefile.third_party.unix.mk
-+++ b/makefiles/Makefile.third_party.unix.mk
-@@ -24,1 +24,1 @@ GLOG_TAG = 0.4.0
--PROTOBUF_TAG = 3.9.0
-+PROTOBUF_TAG = 3.7.0
---- a/makefiles/Makefile.third_party.win.mk
-+++ b/makefiles/Makefile.third_party.win.mk
-@@ -40 +40 @@ GLOG_TAG = 0.4.0
--PROTOBUF_TAG = 3.9.0
-+PROTOBUF_TAG = 3.7.0
diff --git a/nixpkgs/pkgs/development/libraries/science/math/osi/default.nix b/nixpkgs/pkgs/development/libraries/science/math/osi/default.nix
index 6dc7e746fd35..b6f367ff4fe9 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/osi/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/osi/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "osi";
-  version = "0.108.4";
+  version = "0.108.6";
 
   src = fetchurl {
     url = "https://www.coin-or.org/download/source/Osi/Osi-${version}.tgz";
-    sha256 = "13bwhdh01g37vp3kjwl9nvij5s5ikh5f7zgrqgwrqfyk35q2x9s5";
+    sha256 = "1n2jlpq4aikbp0ncs16f7q1pj7yk6kny1bh4fmjaqnwrjw63zvsp";
   };
 
   buildInputs =
diff --git a/nixpkgs/pkgs/development/libraries/science/math/petsc/default.nix b/nixpkgs/pkgs/development/libraries/science/math/petsc/default.nix
index c2eda9dac48b..492ad63f27b6 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/petsc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/petsc/default.nix
@@ -1,17 +1,12 @@
-{ stdenv
-, fetchurl
-, blas
-, gfortran
-, liblapack
-, python }:
+{ stdenv , fetchurl , blas , gfortran , liblapack , python }:
 
 stdenv.mkDerivation rec {
   pname = "petsc";
-  version = "3.8.4";
+  version = "3.12.4";
 
   src = fetchurl {
     url = "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-${version}.tar.gz";
-    sha256 = "1iy49gagxncx09d88kxnwkj876p35683mpfk33x37165si6xqy4z";
+    sha256 = "1hw4f12v2xwrs37gjh83dbixhg0yxandqx7s7k5vlfx91l9l3aan";
   };
 
   nativeBuildInputs = [ blas gfortran.cc.lib liblapack python ];
@@ -26,7 +21,7 @@ stdenv.mkDerivation rec {
     configureFlagsArray=(
       $configureFlagsArray
       "--CC=$CC"
-      "--with-cxx=0"
+      "--with-cxx=g++"
       "--with-fc=0"
       "--with-mpi=0"
       "--with-blas-lib=[${blas}/lib/libblas.a,${gfortran.cc.lib}/lib/libgfortran.a]"
@@ -34,17 +29,14 @@ stdenv.mkDerivation rec {
     )
   '';
 
-  postInstall = ''
-    rm $out/bin/petscmpiexec
-    rm $out/bin/popup
-    rm $out/bin/uncrustify.cfg
-    rm -rf $out/bin/win32fe
-  '';
-
-  meta = {
-    description = "Library of linear algebra algorithms for solving partial differential equations";
-    homepage = https://www.mcs.anl.gov/petsc/index.html;
-    platforms = stdenv.lib.platforms.all;
-    license = stdenv.lib.licenses.bsd2;
+  meta = with stdenv.lib; {
+    description = ''
+      Library of linear algebra algorithms for solving partial differential
+      equations
+    '';
+    homepage = "https://www.mcs.anl.gov/petsc/index.html";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ wucke13 ];
+    platforms = platforms.all;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/science/math/scalapack/default.nix b/nixpkgs/pkgs/development/libraries/science/math/scalapack/default.nix
index bff0d9a85fa2..a226dd2fc63d 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/scalapack/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/scalapack/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "scalapack";
-  version = "2.1";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "Reference-ScaLAPACK";
     repo = pname;
     rev = "v${version}";
-    sha256 = "042q9kc383h7y0had9a37702z4s0szavss063ljvfdsbjy07gzb1";
+    sha256 = "1c10d18gj3kvpmyv5q246x35hjxaqn4ygy1cygaydhyxnm4klzdj";
   };
 
   nativeBuildInputs = [ cmake openssh ];
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     # Run single threaded
     export OMP_NUM_THREADS=1
 
-    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/lib
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}`pwd`/lib
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/science/math/scs/default.nix b/nixpkgs/pkgs/development/libraries/science/math/scs/default.nix
index 51a72585c0cf..db808b093fee 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/scs/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/scs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "scs";
-  version = "2.0.2";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "cvxgrp";
     repo = "scs";
-    rev = "v${version}";
-    sha256 = "17lbcmcsniqlyzgbzmjipfd0rrk25a8hzh7l5wl2wp1iwsd8c3a9";
+    rev = version;
+    sha256 = "14g5m3lcvrbwpq1bq0liq00jh0gm1947lg3z4jfsp43f6p5alb20";
   };
 
   # Actually link and add libgfortran to the rpath
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     longDescription = ''
       Numerical optimization package for solving large-scale convex cone problems
     '';
-    homepage = https://github.com/cvxgrp/scs;
+    homepage = "https://github.com/cvxgrp/scs";
     license = licenses.mit;
     platforms = platforms.all;
     maintainers = [ maintainers.bhipple ];
diff --git a/nixpkgs/pkgs/development/libraries/science/math/suitesparse/default.nix b/nixpkgs/pkgs/development/libraries/science/math/suitesparse/default.nix
index a6c803be260a..f72574cff583 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/suitesparse/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/suitesparse/default.nix
@@ -56,6 +56,7 @@ stdenv.mkDerivation rec {
 
     # Build individual shared libraries
     make library        \
+        JOBS=$NIX_BUILD_CORES \
         BLAS=-lopenblas \
         LAPACK=""       \
         ${stdenv.lib.optionalString openblas.blas64 "CFLAGS=-DBLAS64"}
@@ -64,7 +65,7 @@ stdenv.mkDerivation rec {
     # Bundling is done by building the static libraries, extracting objects from
     # them and combining the objects into one shared library.
     mkdir -p static
-    make static AR_TARGET=$(pwd)/static/'$(LIBRARY).a'
+    make static JOBS=$NIX_BUILD_CORES AR_TARGET=$(pwd)/static/'$(LIBRARY).a'
     (
         cd static
         for i in lib*.a; do