1- { lib
2- , stdenv
3- , fetchFromGitHub
4- , cmake
5- , gtest
6- , cudatoolkit
7- , libdrm
8- , ncurses
9- , testers
10- , udev
11- , addDriverRunpath
12- , amd ? false
13- , intel ? false
14- , msm ? false
15- , nvidia ? false
16- , apple ? false
17- , panfrost ? false
18- , panthor ? false
19- , ascend ? false
1+ {
2+ lib ,
3+ stdenv ,
4+ fetchFromGitHub ,
5+ cmake ,
6+ gtest ,
7+ cudatoolkit ,
8+ libdrm ,
9+ ncurses ,
10+ testers ,
11+ udev ,
12+ apple-sdk_12 ,
13+ addDriverRunpath ,
14+ amd ? false ,
15+ intel ? false ,
16+ msm ? false ,
17+ nvidia ? false ,
18+ apple ? false ,
19+ panfrost ? false ,
20+ panthor ? false ,
21+ ascend ? false ,
2022} :
2123
2224let
2325 drm-postFixup = ''
2426 patchelf \
2527 --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
26- --set-rpath "${ lib . makeLibraryPath [ libdrm ncurses udev ] } " \
28+ --set-rpath "${
29+ lib . makeLibraryPath [
30+ libdrm
31+ ncurses
32+ udev
33+ ]
34+ } " \
2735 $out/bin/nvtop
2836 '' ;
2937 needDrm = ( amd || msm || panfrost || panthor ) ;
@@ -51,18 +59,25 @@ stdenv.mkDerivation (finalAttrs: {
5159 ( cmakeBool "PANTHOR_SUPPORT" panthor )
5260 ( cmakeBool "ASCEND_SUPPORT" ascend )
5361 ] ;
54- nativeBuildInputs = [ cmake gtest ] ++ lib . optional nvidia addDriverRunpath ;
62+ nativeBuildInputs = [
63+ cmake
64+ gtest
65+ ] ++ lib . optional nvidia addDriverRunpath ;
5566
56- buildInputs = [ ncurses udev ]
67+ buildInputs =
68+ [ ncurses ]
69+ ++ lib . optional stdenv . isLinux udev
70+ ++ lib . optional stdenv . isDarwin apple-sdk_12
5771 ++ lib . optional nvidia cudatoolkit
58- ++ lib . optional needDrm libdrm
59- ;
72+ ++ lib . optional needDrm libdrm ;
6073
6174 # this helps cmake to find <drm.h>
6275 env . NIX_CFLAGS_COMPILE = lib . optionalString needDrm "-isystem ${ lib . getDev libdrm } /include/libdrm" ;
6376
6477 # ordering of fixups is important
65- postFixup = ( lib . optionalString needDrm drm-postFixup ) + ( lib . optionalString nvidia "addDriverRunpath $out/bin/nvtop" ) ;
78+ postFixup =
79+ ( lib . optionalString needDrm drm-postFixup )
80+ + ( lib . optionalString nvidia "addDriverRunpath $out/bin/nvtop" ) ;
6681
6782 doCheck = true ;
6883
@@ -83,8 +98,13 @@ stdenv.mkDerivation (finalAttrs: {
8398 homepage = "https://github.com/Syllo/nvtop" ;
8499 changelog = "https://github.com/Syllo/nvtop/releases/tag/${ finalAttrs . version } " ;
85100 license = licenses . gpl3Only ;
86- platforms = platforms . linux ;
87- maintainers = with maintainers ; [ willibutz gbtb anthonyroussel ] ;
101+ platforms = lib . optional ( ! apple ) platforms . linux ++ lib . optional apple platforms . darwin ;
102+ maintainers = with maintainers ; [
103+ willibutz
104+ gbtb
105+ anthonyroussel
106+ moni
107+ ] ;
88108 mainProgram = "nvtop" ;
89109 } ;
90110} )
0 commit comments