about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/science/math/magma/generic.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/science/math/magma/generic.nix')
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/magma/generic.nix40
1 files changed, 13 insertions, 27 deletions
diff --git a/nixpkgs/pkgs/development/libraries/science/math/magma/generic.nix b/nixpkgs/pkgs/development/libraries/science/math/magma/generic.nix
index 49efda96829c..04f263568ce6 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/magma/generic.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/magma/generic.nix
@@ -28,6 +28,7 @@
 , ninja
 , openmp
 , rocmSupport ? false
+, static ? false
 , stdenv
 , symlinkJoin
 }:
@@ -85,29 +86,6 @@ let
     # "75" -> "750"  Cf. https://bitbucket.org/icl/magma/src/f4ec79e2c13a2347eff8a77a3be6f83bc2daec20/CMakeLists.txt#lines-273
     "${minArch'}0";
 
-  cuda-common-redist = with cudaPackages; [
-    libcublas # cublas_v2.h
-    libcusparse # cusparse.h
-  ];
-
-  # Build-time dependencies
-  cuda-native-redist = symlinkJoin {
-    name = "cuda-native-redist-${cudaVersion}";
-    paths = with cudaPackages; [
-      cuda_cudart # cuda_runtime.h
-      cuda_nvcc
-    ] ++ lists.optionals (strings.versionOlder cudaVersion "11.8") [
-      cuda_nvprof # <cuda_profiler_api.h>
-    ] ++ lists.optionals (strings.versionAtLeast cudaVersion "11.8") [
-      cuda_profiler_api # <cuda_profiler_api.h>
-    ] ++ cuda-common-redist;
-  };
-
-  # Run-time dependencies
-  cuda-redist = symlinkJoin {
-    name = "cuda-redist-${cudaVersion}";
-    paths = cuda-common-redist;
-  };
 in
 
 assert (builtins.match "[^[:space:]]*" gpuTargetString) != null;
@@ -127,16 +105,22 @@ stdenv.mkDerivation {
     ninja
     gfortran
   ] ++ lists.optionals cudaSupport [
-    cuda-native-redist
+    cudaPackages.cuda_nvcc
   ];
 
   buildInputs = [
     libpthreadstubs
     lapack
     blas
-  ] ++ lists.optionals cudaSupport [
-    cuda-redist
-  ] ++ lists.optionals rocmSupport [
+  ] ++ lists.optionals cudaSupport (with cudaPackages; [
+    cuda_cudart
+    libcublas # cublas_v2.h
+    libcusparse # cusparse.h
+  ] ++ lists.optionals (strings.versionOlder cudaVersion "11.8") [
+    cuda_nvprof # <cuda_profiler_api.h>
+  ] ++ lists.optionals (strings.versionAtLeast cudaVersion "11.8") [
+    cuda_profiler_api # <cuda_profiler_api.h>
+  ]) ++ lists.optionals rocmSupport [
     hip
     hipblas
     hipsparse
@@ -145,6 +129,8 @@ stdenv.mkDerivation {
 
   cmakeFlags = [
     "-DGPU_TARGET=${gpuTargetString}"
+  ] ++ lists.optionals static [
+    "-DBUILD_SHARED_LIBS=OFF"
   ] ++ lists.optionals cudaSupport [
     "-DCMAKE_CUDA_ARCHITECTURES=${cudaArchitecturesString}"
     "-DMIN_ARCH=${minArch}" # Disarms magma's asserts