aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/libraries/sundials/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/libraries/sundials/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/libraries/sundials/default.nix27
1 files changed, 17 insertions, 10 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/libraries/sundials/default.nix b/infra/libkookie/nixpkgs/pkgs/development/libraries/sundials/default.nix
index e1b4d375282e..2e1fd527e9a7 100644
--- a/infra/libkookie/nixpkgs/pkgs/development/libraries/sundials/default.nix
+++ b/infra/libkookie/nixpkgs/pkgs/development/libraries/sundials/default.nix
@@ -7,9 +7,8 @@
, gfortran
, suitesparse
, lapackSupport ? true
-, kluSupport ? true }:
-
-assert (!blas.isILP64) && (!lapack.isILP64);
+, kluSupport ? true
+}:
stdenv.mkDerivation rec {
pname = "sundials";
@@ -17,11 +16,14 @@ stdenv.mkDerivation rec {
buildInputs = [
python
- ] ++ stdenv.lib.optionals (lapackSupport) [
- gfortran
- blas
- lapack
]
+ ++ stdenv.lib.optionals (lapackSupport)
+ # Check that the same index size is used for both libraries
+ (assert (blas.isILP64 == lapack.isILP64); [
+ gfortran
+ blas
+ lapack
+ ])
# KLU support is based on Suitesparse.
# It is tested upstream according to the section 1.1.4 of
# [INSTALL_GUIDE.pdf](https://raw.githubusercontent.com/LLNL/sundials/master/INSTALL_GUIDE.pdf)
@@ -47,17 +49,22 @@ stdenv.mkDerivation rec {
cmakeFlags = [
"-DEXAMPLES_INSTALL_PATH=${placeholder "out"}/share/examples"
] ++ stdenv.lib.optionals (lapackSupport) [
- "-DSUNDIALS_INDEX_TYPE=int32_t"
"-DLAPACK_ENABLE=ON"
"-DLAPACK_LIBRARIES=${lapack}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary}"
] ++ stdenv.lib.optionals (kluSupport) [
"-DKLU_ENABLE=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"
+ ]
+ ;
doCheck = true;
- checkPhase = "make test";
+ checkTarget = "test";
meta = with stdenv.lib; {
description = "Suite of nonlinear differential/algebraic equation solvers";