chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / gp / gpustat / package.nix
blob38e513bd806737841ee5a55c39678605c696e55d
1 { lib
2 , fetchFromGitHub
3 , rustPlatform
4 , pkg-config
5 , fontconfig
6 , libGL
7 , libX11
8 , libXcursor
9 , libXi
10 , libXrandr
11 , cmake
12 , libxkbcommon
13 , wayland
14 , makeWrapper
17 rustPlatform.buildRustPackage rec {
18   pname = "gpustat";
19   version = "0.1.5";
21   src = fetchFromGitHub {
22     owner = "arduano";
23     repo = "gpustat";
24     rev = "v${version}";
25     hash = "sha256-M9P/qfw/tp9ogkNOE3b2fD2rGFnii1/VwmqJHqXb7Mg=";
26   };
28   cargoHash = "sha256-po/pEMZEtySZnz7l2FI7Wqbmp2CiWBijchKGkqlIMPU=";
30   nativeBuildInputs = [
31     cmake
32     makeWrapper
33     pkg-config
34   ];
36   buildInputs = [
37     fontconfig
38     libGL
39     libX11
40     libXcursor
41     libXi
42     libXrandr
43     libxkbcommon
44     wayland
45   ];
47   postInstall = ''
48     mkdir -p $out/share/applications $out/share/pixmaps
50     cp assets/gpustat.desktop $out/share/applications
51     cp assets/gpustat_icon_* $out/share/pixmaps
52   '';
54   # Wrap the program in a script that sets the LD_LIBRARY_PATH environment variable
55   # so that it can find the shared libraries it depends on. This is currently a
56   # requirement for running Rust programs that depend on `egui` within a Nix environment.
57   # https://github.com/emilk/egui/issues/2486
58   postFixup = ''
59     wrapProgram $out/bin/gpustat \
60       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath buildInputs}:/run/opengl-driver/lib"
61   '';
63   meta = with lib; {
64     description = "Simple utility for viewing GPU utilization";
65     homepage = "https://github.com/arduano/gpustat";
66     license = licenses.asl20;
67     maintainers = with maintainers; [ arduano ];
68     mainProgram = "gpustat";
69     platforms = platforms.linux;
70   };