summary refs log tree commit diff
path: root/pkgs/development/libraries/sundials
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2019-07-02 19:57:22 +0200
committerFlorian Klink <flokli@flokli.de>2019-09-08 15:15:09 -0700
commit7e9e22f4d57816a74a7050a8edc0e85d63427fea (patch)
tree555f02ec430627daaa66af6461c3a12460044bea /pkgs/development/libraries/sundials
parent5f48e89f37f3bf5dd30ea54d9f1f03e019ad595f (diff)
downloadnixpkgs-7e9e22f4d57816a74a7050a8edc0e85d63427fea.tar
nixpkgs-7e9e22f4d57816a74a7050a8edc0e85d63427fea.tar.gz
nixpkgs-7e9e22f4d57816a74a7050a8edc0e85d63427fea.tar.bz2
nixpkgs-7e9e22f4d57816a74a7050a8edc0e85d63427fea.tar.lz
nixpkgs-7e9e22f4d57816a74a7050a8edc0e85d63427fea.tar.xz
nixpkgs-7e9e22f4d57816a74a7050a8edc0e85d63427fea.tar.zst
nixpkgs-7e9e22f4d57816a74a7050a8edc0e85d63427fea.zip
sundials_3: init at 3.2.1
That's needed for scikits.odes.
Upstream bug to migrate to sundials 4:
https://github.com/bmcage/odes/issues/98
Diffstat (limited to 'pkgs/development/libraries/sundials')
-rw-r--r--pkgs/development/libraries/sundials/3.x.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/pkgs/development/libraries/sundials/3.x.nix b/pkgs/development/libraries/sundials/3.x.nix
new file mode 100644
index 00000000000..999b73af7b4
--- /dev/null
+++ b/pkgs/development/libraries/sundials/3.x.nix
@@ -0,0 +1,49 @@
+{ stdenv
+, cmake
+, fetchurl
+, python
+, liblapack
+, gfortran
+, lapackSupport ? true }:
+
+let liblapackShared = liblapack.override {
+  shared = true;
+};
+
+in stdenv.mkDerivation rec {
+  pname = "sundials";
+  version = "3.2.1";
+
+  buildInputs = [ python ] ++ stdenv.lib.optionals (lapackSupport) [ gfortran ];
+  nativeBuildInputs = [ cmake ];
+
+  src = fetchurl {
+    url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz";
+    sha256 = "0238r1qnwqz13wcjzfsbcfi8rfnlxcjjmxq2vpf2qf5jgablvna7";
+  };
+
+  patches = [ (fetchurl {
+    # https://github.com/LLNL/sundials/pull/19
+    url = "https://github.com/LLNL/sundials/commit/1350421eab6c5ab479de5eccf6af2dcad1eddf30.patch";
+    sha256 = "0g67lixp9m85fqpb9rzz1hl1z8ibdg0ldwq5z6flj5zl8a7cw52l";
+  })];
+
+  cmakeFlags = [
+    "-DEXAMPLES_INSTALL_PATH=${placeholder "out"}/share/examples"
+  ] ++ stdenv.lib.optionals (lapackSupport) [
+    "-DSUNDIALS_INDEX_TYPE=int32_t"
+    "-DLAPACK_ENABLE=ON"
+    "-DLAPACK_LIBRARIES=${liblapackShared}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary};${liblapackShared}/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}"
+  ];
+
+  doCheck = true;
+  checkPhase = "make test";
+
+  meta = with stdenv.lib; {
+    description = "Suite of nonlinear differential/algebraic equation solvers";
+    homepage    = https://computation.llnl.gov/projects/sundials;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ flokli idontgetoutmuch ];
+    license     = licenses.bsd3;
+  };
+}