summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarkus Kowalewski <markus.kowalewski@gmail.com>2022-02-06 21:54:26 +0100
committerMarkus Kowalewski <markus.kowalewski@fysik.su.se>2022-02-11 17:51:39 +0100
commitf176a5b3ac117bc77fd8d2dadf52098a223551d3 (patch)
tree9548eb1e5fff7aeab76e2e14142781154a70a247
parent39210e89c2ba8dbcedd62f04c83458f0b555f9bc (diff)
downloadnixpkgs-f176a5b3ac117bc77fd8d2dadf52098a223551d3.tar
nixpkgs-f176a5b3ac117bc77fd8d2dadf52098a223551d3.tar.gz
nixpkgs-f176a5b3ac117bc77fd8d2dadf52098a223551d3.tar.bz2
nixpkgs-f176a5b3ac117bc77fd8d2dadf52098a223551d3.tar.lz
nixpkgs-f176a5b3ac117bc77fd8d2dadf52098a223551d3.tar.xz
nixpkgs-f176a5b3ac117bc77fd8d2dadf52098a223551d3.tar.zst
nixpkgs-f176a5b3ac117bc77fd8d2dadf52098a223551d3.zip
lapack-reference: allow building with ILP64 interface
-rw-r--r--pkgs/development/libraries/science/math/liblapack/default.nix16
1 files changed, 15 insertions, 1 deletions
diff --git a/pkgs/development/libraries/science/math/liblapack/default.nix b/pkgs/development/libraries/science/math/liblapack/default.nix
index f2a50cb2d3d..2154f241ab7 100644
--- a/pkgs/development/libraries/science/math/liblapack/default.nix
+++ b/pkgs/development/libraries/science/math/liblapack/default.nix
@@ -5,6 +5,8 @@
 , gfortran
 , cmake
 , shared ? true
+# Compile with ILP64 interface
+, blas64 ? false
 }:
 
 stdenv.mkDerivation rec {
@@ -36,7 +38,19 @@ stdenv.mkDerivation rec {
     "-DLAPACKE=ON"
     "-DCBLAS=ON"
     "-DBUILD_TESTING=ON"
-  ] ++ lib.optional shared "-DBUILD_SHARED_LIBS=ON";
+  ] ++ lib.optional shared "-DBUILD_SHARED_LIBS=ON"
+    ++ lib.optional blas64 "-DBUILD_INDEX64=ON";
+
+  passthru = { inherit blas64; };
+
+  postInstall =  let
+    canonicalExtension = if stdenv.hostPlatform.isLinux
+                       then "${stdenv.hostPlatform.extensions.sharedLibrary}.${lib.versions.major version}"
+                       else stdenv.hostPlatform.extensions.sharedLibrary;
+  in lib.optionalString blas64 ''
+    ln -s $out/lib/liblapack64${canonicalExtension} $out/lib/liblapack${canonicalExtension}
+    ln -s $out/lib/liblapacke64${canonicalExtension} $out/lib/liblapacke${canonicalExtension}
+  '';
 
   doCheck = true;