diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-01-15 10:30:44 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-01-15 10:30:44 +0000 |
commit | e0794be8a0d11e90461e5a9c85012a36b93ec976 (patch) | |
tree | efd9cbc55ea3322867bf601c4d536758a3dd5fcc /nixpkgs/pkgs/development/libraries/sundials | |
parent | 3538874082ded7647b1ccec0343c7c1e882cfef3 (diff) | |
parent | 1a57d96edd156958b12782e8c8b6a374142a7248 (diff) | |
download | nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.gz nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.bz2 nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.lz nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.xz nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.tar.zst nixlib-e0794be8a0d11e90461e5a9c85012a36b93ec976.zip |
Merge commit '1a57d96edd156958b12782e8c8b6a374142a7248'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/sundials')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/sundials/2.x.nix | 59 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/sundials/default.nix | 27 |
2 files changed, 17 insertions, 69 deletions
diff --git a/nixpkgs/pkgs/development/libraries/sundials/2.x.nix b/nixpkgs/pkgs/development/libraries/sundials/2.x.nix deleted file mode 100644 index ae22f0be1797..000000000000 --- a/nixpkgs/pkgs/development/libraries/sundials/2.x.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ stdenv -, cmake -, fetchurl -, python -# GNU Octave needs KLU for ODE solvers -, suitesparse -, blas, lapack -, gfortran -, lapackSupport ? true }: - -assert (!blas.isILP64) && (!lapack.isILP64); - -stdenv.mkDerivation rec { - pname = "sundials"; - version = "2.7.0"; - - buildInputs = [ python ] ++ stdenv.lib.optionals (lapackSupport) [ - gfortran - suitesparse - ]; - nativeBuildInputs = [ cmake ]; - - src = fetchurl { - url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz"; - sha256 = "01513g0j7nr3rh7hqjld6mw0mcx5j9z9y87bwjc16w2x2z3wm7yk"; - }; - - 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" - # GNU Octave needs KLU for ODE solvers - "-DKLU_ENABLE=ON" - "-DKLU_INCLUDE_DIR=${suitesparse}/include" - "-DKLU_LIBRARY_DIR=${suitesparse}/lib" - "-DLAPACK_ENABLE=ON" - "-DLAPACK_LIBRARIES=${lapack}/lib/lapack${stdenv.hostPlatform.extensions.sharedLibrary};${blas}/lib/blas${stdenv.hostPlatform.extensions.sharedLibrary}" - ]; - - # flaky tests, and patch in https://github.com/LLNL/sundials/pull/21 doesn't apply cleanly for sundials_3 - doCheck = false; - 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; [ idontgetoutmuch ]; - license = licenses.bsd3; - }; -} diff --git a/nixpkgs/pkgs/development/libraries/sundials/default.nix b/nixpkgs/pkgs/development/libraries/sundials/default.nix index e1b4d375282e..2e1fd527e9a7 100644 --- a/nixpkgs/pkgs/development/libraries/sundials/default.nix +++ b/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"; |