diff options
author | Doron Behar <doron.behar@gmail.com> | 2020-12-06 13:48:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-06 13:48:57 +0200 |
commit | 336fd6292016e41140c29b1657545071db87e6fd (patch) | |
tree | d6a3da79d4957167e387608131b167e48341785c | |
parent | c3bd5609052952276fc5ce1f1755a3e21b83017e (diff) | |
parent | 16a01272ee2a9b6c0d3af0b356ee869912cfb63c (diff) |
Merge pull request #98500 from doronbehar/pkg/octave/sundials
sundials: assert that lapack and blas are compatible
-rw-r--r-- | pkgs/development/libraries/sundials/default.nix | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix index e1b4d375282e..2e1fd527e9a7 100644 --- a/pkgs/development/libraries/sundials/default.nix +++ b/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"; |