summary refs log tree commit diff
diff options
context:
space:
mode:
authorIvar Scholten <ivar.scholten@protonmail.com>2021-06-07 20:42:14 +0200
committerIvar Scholten <ivar.scholten@protonmail.com>2021-06-07 20:42:14 +0200
commit2f3e0cf3bae57b35e6653aad0b32d6343ae197b8 (patch)
tree3c2ae4a11dad6a097958d35acd4eacaea77d65d1
parentf1ff32e49ad7b0d0f77929dd1cc684ae4c290957 (diff)
downloadnixpkgs-2f3e0cf3bae57b35e6653aad0b32d6343ae197b8.tar
nixpkgs-2f3e0cf3bae57b35e6653aad0b32d6343ae197b8.tar.gz
nixpkgs-2f3e0cf3bae57b35e6653aad0b32d6343ae197b8.tar.bz2
nixpkgs-2f3e0cf3bae57b35e6653aad0b32d6343ae197b8.tar.lz
nixpkgs-2f3e0cf3bae57b35e6653aad0b32d6343ae197b8.tar.xz
nixpkgs-2f3e0cf3bae57b35e6653aad0b32d6343ae197b8.tar.zst
nixpkgs-2f3e0cf3bae57b35e6653aad0b32d6343ae197b8.zip
gwe: init at 0.15.3
-rw-r--r--pkgs/tools/misc/gwe/default.nix89
-rw-r--r--pkgs/top-level/all-packages.nix4
2 files changed, 93 insertions, 0 deletions
diff --git a/pkgs/tools/misc/gwe/default.nix b/pkgs/tools/misc/gwe/default.nix
new file mode 100644
index 00000000000..2eeb2f0d2c5
--- /dev/null
+++ b/pkgs/tools/misc/gwe/default.nix
@@ -0,0 +1,89 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, wrapGAppsHook
+, makeWrapper
+, pkg-config
+, meson
+, ninja
+, cmake
+, gobject-introspection
+, desktop-file-utils
+, python3
+, gtk3
+, libdazzle
+, libappindicator-gtk3
+, libnotify
+, nvidia_x11
+ }:
+
+let
+ pythonEnv = python3.withPackages (pypkgs: with pypkgs; [
+   injector
+   matplotlib
+   peewee
+   pynvml
+   pygobject3
+   xlib
+   pyxdg
+   requests
+   rx
+   gtk3
+ ]);
+in stdenv.mkDerivation rec {
+  pname = "gwe";
+  version = "0.15.3";
+
+  src = fetchFromGitLab {
+    owner = "leinardi";
+    repo = pname;
+    rev = version;
+    sha256 = "1znd2g02j0klg8w6cgwvaxc8anan6sidadknl0vh9jxmzz75xp9z";
+  };
+
+  prePatch = ''
+    patchShebangs scripts/{make_local_manifest,meson_post_install}.py
+
+    substituteInPlace gwe/repository/nvidia_repository.py \
+      --replace "from py3nvml import py3nvml" "import pynvml" \
+      --replace "py3nvml.py3nvml" "pynvml" \
+      --replace "py3nvml" "pynvml"
+  '';
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+    pkg-config
+    meson
+    ninja
+    cmake
+    gobject-introspection
+    desktop-file-utils
+    pythonEnv
+  ];
+
+  buildInputs = [
+    gtk3
+    libdazzle
+    libappindicator-gtk3
+    libnotify
+  ];
+
+  postInstall = ''
+    mv $out/bin/gwe $out/lib/gwe-bin
+
+    makeWrapper ${pythonEnv}/bin/python $out/bin/gwe \
+      --add-flags "$out/lib/gwe-bin" \
+      --prefix LD_LIBRARY_PATH : "/run/opengl-driver/lib" \
+      --prefix PATH : "${builtins.concatStringsSep ":" [ (lib.makeBinPath [ nvidia_x11 nvidia_x11.settings ]) "/run/wrappers/bin" ]}" \
+      --unset "SHELL" \
+      ''${gappsWrapperArgs[@]}
+  '';
+
+  meta = with lib; {
+    description = "System utility designed to provide information, control the fans and overclock your NVIDIA card";
+    homepage = "https://gitlab.com/leinardi/gwe";
+    platforms = platforms.linux;
+    license = licenses.gpl3Only;
+    maintainers = [ maintainers.ivar ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 19cbe826b9f..46c26d1223e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -11153,6 +11153,10 @@ in
 
   gprolog = callPackage ../development/compilers/gprolog { };
 
+  gwe = callPackage ../tools/misc/gwe {
+    nvidia_x11 = linuxPackages.nvidia_x11;
+  };
+
   gwt240 = callPackage ../development/compilers/gwt/2.4.0.nix { };
 
   idrisPackages = dontRecurseIntoAttrs (callPackage ../development/idris-modules {