From da3f98c5c51fdc0017c100721621dd4eeefed1fa Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sun, 20 Dec 2020 21:29:07 +0200 Subject: [PATCH 1/3] sundials: 5.3.0 -> 5.6.1 Update some cmake flags and be more explicit regarding index size. --- .../libraries/sundials/default.nix | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix index 2e1fd527e9a..94beb0159ba 100644 --- a/pkgs/development/libraries/sundials/default.nix +++ b/pkgs/development/libraries/sundials/default.nix @@ -1,6 +1,7 @@ { stdenv , cmake , fetchurl +, fetchpatch , python , blas , lapack @@ -12,7 +13,7 @@ stdenv.mkDerivation rec { pname = "sundials"; - version = "5.3.0"; + version = "5.6.1"; buildInputs = [ python @@ -35,32 +36,35 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz"; - sha256 = "19xwi7pz35s2nqgldm6r0jl2k0bs36zhbpnmmzc56s1n3bhzgpw8"; + sha256 = "Frd5mex+fyFXqh0Eyh3kojccqBUOBW0klR0MWJZvKoM="; }; - patches = [ - (fetchurl { - # https://github.com/LLNL/sundials/pull/19 - url = "https://github.com/LLNL/sundials/commit/1350421eab6c5ab479de5eccf6af2dcad1eddf30.patch"; - sha256 = "0g67lixp9m85fqpb9rzz1hl1z8ibdg0ldwq5z6flj5zl8a7cw52l"; + # Fixing an upstream regression in treating cmake prefix directories: + # https://github.com/LLNL/sundials/pull/58 + (fetchpatch { + url = "https://github.com/LLNL/sundials/commit/dd32ff9baa05618f36e44aadb420bbae4236ea1e.patch"; + sha256 = "kToAuma+2iHFyL1v/l29F3+nug4AdK5cPG6IcXv2afc="; }) ]; cmakeFlags = [ "-DEXAMPLES_INSTALL_PATH=${placeholder "out"}/share/examples" ] ++ stdenv.lib.optionals (lapackSupport) [ - "-DLAPACK_ENABLE=ON" + "-DENABLE_LAPACK=ON" "-DLAPACK_LIBRARIES=${lapack}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary}" ] ++ stdenv.lib.optionals (kluSupport) [ - "-DKLU_ENABLE=ON" + "-DENABLE_KLU=ON" "-DKLU_INCLUDE_DIR=${suitesparse.dev}/include" "-DKLU_LIBRARY_DIR=${suitesparse}/lib" - ] ++ stdenv.lib.optionals (lapackSupport && !lapack.isILP64) [ - # Use the correct index type according to lapack which is supposed to be - # the same index type compatible with blas, thanks to the assertion of - # buildInputs - "-DSUNDIALS_INDEX_TYPE=int32_t" - ] + ] ++ [( + # Use the correct index type according to lapack and blas used. They are + # already supposed to be compatible but we check both for extra safety. 64 + # should be the default but we prefer to be explicit, for extra safety. + if blas.isILP64 then + "-DSUNDIALS_INDEX_SIZE=64" + else + "-DSUNDIALS_INDEX_SIZE=32" + )] ; doCheck = true; From 12c9f363f4ee535f133b589ab5abf0062c3cf973 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Sun, 20 Dec 2020 21:30:15 +0200 Subject: [PATCH 2/3] sundials: Split outputs for examples --- pkgs/development/libraries/sundials/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix index 94beb0159ba..86c556ae532 100644 --- a/pkgs/development/libraries/sundials/default.nix +++ b/pkgs/development/libraries/sundials/default.nix @@ -31,6 +31,7 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optionals (kluSupport) [ suitesparse ]; + outputs = [ "out" "examples" ]; nativeBuildInputs = [ cmake ]; @@ -48,7 +49,7 @@ stdenv.mkDerivation rec { ]; cmakeFlags = [ - "-DEXAMPLES_INSTALL_PATH=${placeholder "out"}/share/examples" + "-DEXAMPLES_INSTALL_PATH=${placeholder "examples"}/share/examples" ] ++ stdenv.lib.optionals (lapackSupport) [ "-DENABLE_LAPACK=ON" "-DLAPACK_LIBRARIES=${lapack}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary}" From 442f1ec54d730e82b9bb0720749cd42f1010ad2c Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 4 Jan 2021 15:51:51 +0200 Subject: [PATCH 3/3] sundials: reorder attributes Per https://github.com/jtojnar/nixpkgs-hammering/blob/master/explanations/attribute-ordering.md --- .../libraries/sundials/default.nix | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix index 86c556ae532..a17b300d6be 100644 --- a/pkgs/development/libraries/sundials/default.nix +++ b/pkgs/development/libraries/sundials/default.nix @@ -15,6 +15,24 @@ stdenv.mkDerivation rec { pname = "sundials"; version = "5.6.1"; + outputs = [ "out" "examples" ]; + + src = fetchurl { + url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz"; + sha256 = "Frd5mex+fyFXqh0Eyh3kojccqBUOBW0klR0MWJZvKoM="; + }; + + patches = [ + # Fixing an upstream regression in treating cmake prefix directories: + # https://github.com/LLNL/sundials/pull/58 + (fetchpatch { + url = "https://github.com/LLNL/sundials/commit/dd32ff9baa05618f36e44aadb420bbae4236ea1e.patch"; + sha256 = "kToAuma+2iHFyL1v/l29F3+nug4AdK5cPG6IcXv2afc="; + }) + ]; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ python ] @@ -31,22 +49,6 @@ stdenv.mkDerivation rec { ++ stdenv.lib.optionals (kluSupport) [ suitesparse ]; - outputs = [ "out" "examples" ]; - - nativeBuildInputs = [ cmake ]; - - src = fetchurl { - url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz"; - sha256 = "Frd5mex+fyFXqh0Eyh3kojccqBUOBW0klR0MWJZvKoM="; - }; - patches = [ - # Fixing an upstream regression in treating cmake prefix directories: - # https://github.com/LLNL/sundials/pull/58 - (fetchpatch { - url = "https://github.com/LLNL/sundials/commit/dd32ff9baa05618f36e44aadb420bbae4236ea1e.patch"; - sha256 = "kToAuma+2iHFyL1v/l29F3+nug4AdK5cPG6IcXv2afc="; - }) - ]; cmakeFlags = [ "-DEXAMPLES_INSTALL_PATH=${placeholder "examples"}/share/examples"