highs: 1.8.0 -> 1.8.1 (#360451)
[NixPkgs.git] / pkgs / tools / system / nvtop / default.nix
blob7e9653102bef408bf915a05c83d225a3413861ea
1 { callPackage, stdenv }:
2 let
3   # this GPU families are supported "by-default" upstream (see https://github.com/Syllo/nvtop/blob/3a69c2d060298cd6f92cb09db944eded98be1c23/CMakeLists.txt#L81)
4   # coincidentally, these families are also easy to build in nixpkgs at the moment
5   defaultGPUFamilies = [
6     "amd"
7     "apple"
8     "intel"
9     "msm"
10     "nvidia"
11     "panfrost"
12     "panthor"
13   ];
14   # these GPU families are partially supported upstream, they are also tricky to build in nixpkgs
15   # volunteers with specific hardware needed to build and test these package variants
16   additionalGPUFamilies = [ "ascend" ];
17   defaultSupport = builtins.listToAttrs (
18     # apple can only build on darwin, and it can't build everything else, and vice versa
19     builtins.map (gpu: {
20       name = gpu;
21       value =
22         (gpu == "apple" && stdenv.buildPlatform.isDarwin && stdenv.hostPlatform == stdenv.buildPlatform)
23         || (gpu != "apple" && stdenv.buildPlatform.isLinux);
24     }) defaultGPUFamilies
25   );
28   full = callPackage ./build-nvtop.nix defaultSupport; # this package supports all default GPU families
30 # additional packages with only one specific GPU family support
31 // builtins.listToAttrs (
32   builtins.map (gpu: {
33     name = gpu;
34     value = (callPackage ./build-nvtop.nix { "${gpu}" = true; });
35   }) defaultGPUFamilies