From bc08bdb777988ac61599eb111f3f3d845a5486ce Mon Sep 17 00:00:00 2001 From: emaryn Date: Fri, 28 Feb 2025 04:42:26 +0800 Subject: [PATCH] sc-controller: 0.4.8.21 -> 0.5.0 --- pkgs/misc/drivers/sc-controller/default.nix | 49 +++++++++++-------- .../sc-controller/scc_osd_keyboard.patch | 21 ++++++++ pkgs/top-level/all-packages.nix | 4 +- 3 files changed, 51 insertions(+), 23 deletions(-) create mode 100644 pkgs/misc/drivers/sc-controller/scc_osd_keyboard.patch diff --git a/pkgs/misc/drivers/sc-controller/default.nix b/pkgs/misc/drivers/sc-controller/default.nix index 49d54543a5a8..9c956bfe15c3 100644 --- a/pkgs/misc/drivers/sc-controller/default.nix +++ b/pkgs/misc/drivers/sc-controller/default.nix @@ -1,35 +1,31 @@ { lib, - buildPythonApplication, + python3Packages, fetchFromGitHub, wrapGAppsHook3, - pytestCheckHook, gtk3, gobject-introspection, libappindicator-gtk3, librsvg, - evdev, - pygobject3, - pylibacl, bluez, - vdf, linuxHeaders, libX11, libXext, libXfixes, libusb1, udev, + gtk-layer-shell, }: -buildPythonApplication rec { +python3Packages.buildPythonApplication rec { pname = "sc-controller"; - version = "0.4.8.21"; + version = "0.5.0"; src = fetchFromGitHub { owner = "C0rn3j"; - repo = pname; + repo = "sc-controller"; tag = "v${version}"; - hash = "sha256-XakbCuwjIAXYFZxvJsAlDIJEl09pwFPT12h04onXd34="; + hash = "sha256-Zxzka9zM9u7AJxrqh8011plP/HgQK61e6ejKksYfPz0="; }; nativeBuildInputs = [ @@ -43,14 +39,27 @@ buildPythonApplication rec { librsvg ]; - propagatedBuildInputs = [ - evdev - pygobject3 - pylibacl - vdf + dependencies = + with python3Packages; + [ + evdev + pygobject3 + pylibacl + vdf + ioctl-opt + ] + ++ [ + gtk-layer-shell + python3Packages.libusb1 + ]; + + nativeCheckInputs = [ + python3Packages.pytestCheckHook + python3Packages.libusb1 + python3Packages.toml ]; - nativeCheckInputs = [ pytestCheckHook ]; + patches = [ ./scc_osd_keyboard.patch ]; postPatch = '' substituteInPlace scc/paths.py --replace sys.prefix "'$out'" @@ -80,13 +89,13 @@ buildPythonApplication rec { ) ''; - meta = with lib; { + meta = { homepage = "https://github.com/C0rn3j/sc-controller"; # donations: https://www.patreon.com/kozec description = "User-mode driver and GUI for Steam Controller and other controllers"; - license = licenses.gpl2Only; - platforms = platforms.linux; - maintainers = with maintainers; [ + license = lib.licenses.gpl2Only; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ orivej rnhmjoj ]; diff --git a/pkgs/misc/drivers/sc-controller/scc_osd_keyboard.patch b/pkgs/misc/drivers/sc-controller/scc_osd_keyboard.patch new file mode 100644 index 000000000000..d27cb76de393 --- /dev/null +++ b/pkgs/misc/drivers/sc-controller/scc_osd_keyboard.patch @@ -0,0 +1,21 @@ +diff --git a/scc/bin/scc_osd_keyboard.py b/scc/bin/scc_osd_keyboard.py +index 832d6e0..29e0cda 100755 +--- a/scc/bin/scc_osd_keyboard.py ++++ b/scc/bin/scc_osd_keyboard.py +@@ -5,7 +5,7 @@ def sigint(*a): + print("\n*break*") + sys.exit(0) + +-if __name__ == "__main__": ++def main(): + signal.signal(signal.SIGINT, sigint) + + import gi +@@ -23,3 +23,6 @@ if __name__ == "__main__": + sys.exit(1) + k.run() + sys.exit(k.get_exit_code()) ++ ++if __name__ == "__main__": ++ main() + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6262d930dfb4..e22f1b8eb576 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17823,9 +17823,7 @@ with pkgs; sane-frontends = callPackage ../applications/graphics/sane/frontends.nix { }; - sc-controller = python3Packages.callPackage ../misc/drivers/sc-controller { - inherit libusb1; # Shadow python.pkgs.libusb1. - }; + sc-controller = callPackage ../misc/drivers/sc-controller {}; slock = callPackage ../misc/screensavers/slock { conf = config.slock.conf or null;