From db0bcdd637d7644e2ca8a86a104dd6d0a57b74ca Mon Sep 17 00:00:00 2001 From: arduano Date: Sun, 7 Apr 2024 09:47:39 +1000 Subject: [PATCH] gpustat: init at 0.1.5 --- pkgs/by-name/gp/gpustat/package.nix | 71 +++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 pkgs/by-name/gp/gpustat/package.nix diff --git a/pkgs/by-name/gp/gpustat/package.nix b/pkgs/by-name/gp/gpustat/package.nix new file mode 100644 index 000000000000..3492775b3be0 --- /dev/null +++ b/pkgs/by-name/gp/gpustat/package.nix @@ -0,0 +1,71 @@ +{ lib +, fetchFromGitHub +, rustPlatform +, pkg-config +, fontconfig +, libGL +, libX11 +, libXcursor +, libXi +, libXrandr +, cmake +, libxkbcommon +, wayland +, makeWrapper +}: + +rustPlatform.buildRustPackage rec { + pname = "gpustat"; + version = "0.1.5"; + + src = fetchFromGitHub { + owner = "arduano"; + repo = "gpustat"; + rev = "v${version}"; + sha256 = "sha256-M9P/qfw/tp9ogkNOE3b2fD2rGFnii1/VwmqJHqXb7Mg="; + }; + + cargoSha256 = "sha256-po/pEMZEtySZnz7l2FI7Wqbmp2CiWBijchKGkqlIMPU="; + + nativeBuildInputs = [ + cmake + makeWrapper + pkg-config + ]; + + buildInputs = [ + fontconfig + libGL + libX11 + libXcursor + libXi + libXrandr + libxkbcommon + wayland + ]; + + postInstall = '' + mkdir -p $out/share/applications $out/share/pixmaps + + cp assets/gpustat.desktop $out/share/applications + cp assets/gpustat_icon_* $out/share/pixmaps + ''; + + # Wrap the program in a script that sets the LD_LIBRARY_PATH environment variable + # so that it can find the shared libraries it depends on. This is currently a + # requirement for running Rust programs that depend on `egui` within a Nix environment. + # https://github.com/emilk/egui/issues/2486 + postFixup = '' + wrapProgram $out/bin/gpustat \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath buildInputs}:/run/opengl-driver/lib" + ''; + + meta = with lib; { + description = "A simple utility for viewing GPU utilization"; + homepage = "https://github.com/arduano/gpustat"; + license = licenses.asl20; + maintainers = with maintainers; [ arduano ]; + mainProgram = "gpustat"; + platforms = platforms.linux; + }; +}