blob: 9c7951c75d137323180747bccfe140909d732646 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
final: prev: let
inherit (final) callPackage;
inherit (prev) cudaVersion lib pkgs;
### Cuda Toolkit Redist
# Manifest files for redist cudatoolkit. These can be found at
# https://developer.download.nvidia.com/compute/cuda/redist/
cudaToolkitRedistManifests = {
"11.4" = ./manifests/redistrib_11.4.4.json;
"11.5" = ./manifests/redistrib_11.5.2.json;
"11.6" = ./manifests/redistrib_11.6.2.json;
"11.7" = ./manifests/redistrib_11.7.0.json;
"11.8" = ./manifests/redistrib_11.8.0.json;
};
# Function to build a single cudatoolkit redist package
buildCudaToolkitRedistPackage = callPackage ./build-cuda-redist-package.nix { };
# Function that builds all cudatoolkit redist packages given a cuda version and manifest file
buildCudaToolkitRedistPackages = { version, manifest }: let
attrs = lib.filterAttrs (key: value: key != "release_date") (lib.importJSON manifest);
in lib.mapAttrs buildCudaToolkitRedistPackage attrs;
redistExists = cudaToolkitRedistManifests ? "${cudaVersion}";
# All cudatoolkit redist packages for the current cuda version
cudaToolkitRedistPackages = if
lib.hasAttr cudaVersion cudaToolkitRedistManifests
then buildCudaToolkitRedistPackages { version = cudaVersion; manifest = cudaToolkitRedistManifests.${cudaVersion}; }
else {};
in cudaToolkitRedistPackages
|