Loading nixos/modules/programs/streamdeck-ui.nix +1 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ in config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ cfg.package (mkIf cfg.autoStart (makeAutostartItem { name = "streamdeck-ui"; package = cfg.package; })) (mkIf cfg.autoStart (makeAutostartItem { name = "streamdeck-ui-noui"; package = cfg.package; })) ]; services.udev.packages = [ cfg.package ]; Loading pkgs/applications/misc/streamdeck-ui/default.nix +33 −34 Original line number Diff line number Diff line { lib , python3Packages , fetchFromGitHub , fetchpatch , copyDesktopItems , wrapQtAppsHook , writeText , makeDesktopItem , xvfb-run , qt5 , qt6 }: python3Packages.buildPythonApplication rec { pname = "streamdeck-ui"; version = "2.0.6"; version = "3.0.1"; src = fetchFromGitHub { repo = pname; owner = "timothycrosley"; repo = "streamdeck-linux-gui"; owner = "streamdeck-linux-gui"; rev = "v${version}"; sha256 = "sha256-5dk+5oefg5R68kv038gsZ2p5ixmpj/vBLBp/V7Sdos8="; sha256 = "sha256-nLtWExxufxT5nRiEYLGNeMhFhvlGzYKA+crA74Yt4ck="; }; patches = [ (fetchpatch { name = "use-poetry-core.patch"; url = "https://github.com/timothycrosley/streamdeck-ui/commit/e271656c1f47b1619d1b942e2ebb01ab2d6a68a9.patch"; hash = "sha256-wqYwX6eSqMnW6OG7wSprD62Dz818ayFduVrqW9E/ays="; }) (fetchpatch { name = "update-python-xlib-0.33.patch"; url = "https://github.com/timothycrosley/streamdeck-ui/commit/07d7fdd33085b413dd26b02d8a02820edad2d568.patch"; hash = "sha256-PylTrbfB8RJ0+kbgJlRdcvfdahGoob8LabwhuFNsUpY="; }) # nixpkgs has a newer pillow version ./update-pillow.patch ]; desktopItems = [ (makeDesktopItem { desktopItems = let common = { name = "streamdeck-ui"; desktopName = "Stream Deck UI"; icon = "streamdeck-ui"; exec = "streamdeck --no-ui"; exec = "streamdeck"; comment = "UI for the Elgato Stream Deck"; categories = [ "Utility" ]; }; in builtins.map makeDesktopItem [ common (common // { name = "${common.name}-noui"; exec = "${common.exec} --no-ui"; noDisplay = true; }) ]; }) ]; postInstall = let Loading @@ -51,6 +49,10 @@ python3Packages.buildPythonApplication rec { ''; in '' mkdir -p $out/lib/systemd/user substitute scripts/streamdeck.service $out/lib/systemd/user/streamdeck.service \ --replace '<path to streamdeck>' $out/bin/streamdeck mkdir -p "$out/etc/udev/rules.d" cp ${writeText "70-streamdeck.rules" udevRules} $out/etc/udev/rules.d/70-streamdeck.rules Loading @@ -66,7 +68,7 @@ python3Packages.buildPythonApplication rec { nativeBuildInputs = [ python3Packages.poetry-core copyDesktopItems wrapQtAppsHook qt6.wrapQtAppsHook ]; propagatedBuildInputs = with python3Packages; [ Loading @@ -75,11 +77,11 @@ python3Packages.buildPythonApplication rec { cairosvg pillow pynput pyside2 pyside6 streamdeck xlib ] ++ lib.optionals stdenv.isLinux [ qt5.qtwayland qt6.qtwayland ]; nativeCheckInputs = [ Loading @@ -89,18 +91,15 @@ python3Packages.buildPythonApplication rec { ]; # Ignored tests are not in a running or passing state. # Fixes have been merged upstream but not yet released. # Revisit these ignored tests on each update. checkPhase = '' xvfb-run pytest tests \ --ignore=tests/test_api.py \ --ignore=tests/test_filter.py \ --ignore=tests/test_stream_deck_monitor.py --ignore=tests/test_api.py ''; meta = with lib; { description = "Linux compatible UI for the Elgato Stream Deck"; homepage = "https://timothycrosley.github.io/streamdeck-ui/"; homepage = "https://streamdeck-linux-gui.github.io/streamdeck-linux-gui/"; license = licenses.mit; maintainers = with maintainers; [ majiir ]; }; Loading pkgs/applications/misc/streamdeck-ui/update-pillow.patch 0 → 100644 +13 −0 Original line number Diff line number Diff line diff --git a/pyproject.toml b/pyproject.toml index 0aff29e..4371616 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,7 +14,7 @@ packages = [ [tool.poetry.dependencies] python = ">=3.8,<3.12" streamdeck = "^0.9.3" -pillow = "^9.4.0" +pillow = "^10.0.0" pynput = "^1.7.6" pyside6 = "^6.4.2" CairoSVG = "^2.5.2" pkgs/development/libraries/qt-6/default.nix +2 −1 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ , libglvnd , darwin , buildPackages , python3 # options , developerBuild ? false Loading @@ -24,7 +25,7 @@ let addPackages = self: with self; let callPackage = self.newScope ({ inherit qtModule srcs; inherit qtModule srcs python3; stdenv = if stdenv.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv; }); in Loading pkgs/development/python-modules/pyside6/default.nix +10 −2 Original line number Diff line number Diff line Loading @@ -2,7 +2,6 @@ , stdenv , cmake , ninja , qt6 , python , moveBuildTree , shiboken6 Loading Loading @@ -34,9 +33,12 @@ stdenv.mkDerivation rec { moveBuildTree ]; buildInputs = with qt6; [ buildInputs = with python.pkgs.qt6; [ # required qtbase python.pkgs.ninja python.pkgs.packaging python.pkgs.setuptools ] ++ lib.optionals stdenv.isLinux [ # optional qt3d Loading Loading @@ -69,6 +71,12 @@ stdenv.mkDerivation rec { dontWrapQtApps = true; postInstall = '' cd ../../.. ${python.pythonForBuild.interpreter} setup.py egg_info --build-type=pyside6 cp -r PySide6.egg-info $out/${python.sitePackages}/ ''; meta = with lib; { description = "Python bindings for Qt"; license = with licenses; [ lgpl3Only gpl2Only gpl3Only ]; Loading Loading
nixos/modules/programs/streamdeck-ui.nix +1 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ in config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ cfg.package (mkIf cfg.autoStart (makeAutostartItem { name = "streamdeck-ui"; package = cfg.package; })) (mkIf cfg.autoStart (makeAutostartItem { name = "streamdeck-ui-noui"; package = cfg.package; })) ]; services.udev.packages = [ cfg.package ]; Loading
pkgs/applications/misc/streamdeck-ui/default.nix +33 −34 Original line number Diff line number Diff line { lib , python3Packages , fetchFromGitHub , fetchpatch , copyDesktopItems , wrapQtAppsHook , writeText , makeDesktopItem , xvfb-run , qt5 , qt6 }: python3Packages.buildPythonApplication rec { pname = "streamdeck-ui"; version = "2.0.6"; version = "3.0.1"; src = fetchFromGitHub { repo = pname; owner = "timothycrosley"; repo = "streamdeck-linux-gui"; owner = "streamdeck-linux-gui"; rev = "v${version}"; sha256 = "sha256-5dk+5oefg5R68kv038gsZ2p5ixmpj/vBLBp/V7Sdos8="; sha256 = "sha256-nLtWExxufxT5nRiEYLGNeMhFhvlGzYKA+crA74Yt4ck="; }; patches = [ (fetchpatch { name = "use-poetry-core.patch"; url = "https://github.com/timothycrosley/streamdeck-ui/commit/e271656c1f47b1619d1b942e2ebb01ab2d6a68a9.patch"; hash = "sha256-wqYwX6eSqMnW6OG7wSprD62Dz818ayFduVrqW9E/ays="; }) (fetchpatch { name = "update-python-xlib-0.33.patch"; url = "https://github.com/timothycrosley/streamdeck-ui/commit/07d7fdd33085b413dd26b02d8a02820edad2d568.patch"; hash = "sha256-PylTrbfB8RJ0+kbgJlRdcvfdahGoob8LabwhuFNsUpY="; }) # nixpkgs has a newer pillow version ./update-pillow.patch ]; desktopItems = [ (makeDesktopItem { desktopItems = let common = { name = "streamdeck-ui"; desktopName = "Stream Deck UI"; icon = "streamdeck-ui"; exec = "streamdeck --no-ui"; exec = "streamdeck"; comment = "UI for the Elgato Stream Deck"; categories = [ "Utility" ]; }; in builtins.map makeDesktopItem [ common (common // { name = "${common.name}-noui"; exec = "${common.exec} --no-ui"; noDisplay = true; }) ]; }) ]; postInstall = let Loading @@ -51,6 +49,10 @@ python3Packages.buildPythonApplication rec { ''; in '' mkdir -p $out/lib/systemd/user substitute scripts/streamdeck.service $out/lib/systemd/user/streamdeck.service \ --replace '<path to streamdeck>' $out/bin/streamdeck mkdir -p "$out/etc/udev/rules.d" cp ${writeText "70-streamdeck.rules" udevRules} $out/etc/udev/rules.d/70-streamdeck.rules Loading @@ -66,7 +68,7 @@ python3Packages.buildPythonApplication rec { nativeBuildInputs = [ python3Packages.poetry-core copyDesktopItems wrapQtAppsHook qt6.wrapQtAppsHook ]; propagatedBuildInputs = with python3Packages; [ Loading @@ -75,11 +77,11 @@ python3Packages.buildPythonApplication rec { cairosvg pillow pynput pyside2 pyside6 streamdeck xlib ] ++ lib.optionals stdenv.isLinux [ qt5.qtwayland qt6.qtwayland ]; nativeCheckInputs = [ Loading @@ -89,18 +91,15 @@ python3Packages.buildPythonApplication rec { ]; # Ignored tests are not in a running or passing state. # Fixes have been merged upstream but not yet released. # Revisit these ignored tests on each update. checkPhase = '' xvfb-run pytest tests \ --ignore=tests/test_api.py \ --ignore=tests/test_filter.py \ --ignore=tests/test_stream_deck_monitor.py --ignore=tests/test_api.py ''; meta = with lib; { description = "Linux compatible UI for the Elgato Stream Deck"; homepage = "https://timothycrosley.github.io/streamdeck-ui/"; homepage = "https://streamdeck-linux-gui.github.io/streamdeck-linux-gui/"; license = licenses.mit; maintainers = with maintainers; [ majiir ]; }; Loading
pkgs/applications/misc/streamdeck-ui/update-pillow.patch 0 → 100644 +13 −0 Original line number Diff line number Diff line diff --git a/pyproject.toml b/pyproject.toml index 0aff29e..4371616 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,7 +14,7 @@ packages = [ [tool.poetry.dependencies] python = ">=3.8,<3.12" streamdeck = "^0.9.3" -pillow = "^9.4.0" +pillow = "^10.0.0" pynput = "^1.7.6" pyside6 = "^6.4.2" CairoSVG = "^2.5.2"
pkgs/development/libraries/qt-6/default.nix +2 −1 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ , libglvnd , darwin , buildPackages , python3 # options , developerBuild ? false Loading @@ -24,7 +25,7 @@ let addPackages = self: with self; let callPackage = self.newScope ({ inherit qtModule srcs; inherit qtModule srcs python3; stdenv = if stdenv.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv; }); in Loading
pkgs/development/python-modules/pyside6/default.nix +10 −2 Original line number Diff line number Diff line Loading @@ -2,7 +2,6 @@ , stdenv , cmake , ninja , qt6 , python , moveBuildTree , shiboken6 Loading Loading @@ -34,9 +33,12 @@ stdenv.mkDerivation rec { moveBuildTree ]; buildInputs = with qt6; [ buildInputs = with python.pkgs.qt6; [ # required qtbase python.pkgs.ninja python.pkgs.packaging python.pkgs.setuptools ] ++ lib.optionals stdenv.isLinux [ # optional qt3d Loading Loading @@ -69,6 +71,12 @@ stdenv.mkDerivation rec { dontWrapQtApps = true; postInstall = '' cd ../../.. ${python.pythonForBuild.interpreter} setup.py egg_info --build-type=pyside6 cp -r PySide6.egg-info $out/${python.sitePackages}/ ''; meta = with lib; { description = "Python bindings for Qt"; license = with licenses; [ lgpl3Only gpl2Only gpl3Only ]; Loading