Merge pull request #247618 from Majiir/streamdeck-ui-3.0.1

streamdeck-ui: 2.0.6 -> 3.0.1
This commit is contained in:
Weijia Wang 2023-09-07 10:24:22 +02:00 committed by GitHub
commit 024c8c2bd4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 76 additions and 43 deletions

View file

@ -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 ];

View file

@ -1,48 +1,46 @@
{ 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 {
name = "streamdeck-ui";
desktopName = "Stream Deck UI";
icon = "streamdeck-ui";
exec = "streamdeck --no-ui";
comment = "UI for the Elgato Stream Deck";
categories = [ "Utility" ];
noDisplay = true;
}) ];
desktopItems = let
common = {
name = "streamdeck-ui";
desktopName = "Stream Deck UI";
icon = "streamdeck-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
@ -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
@ -66,7 +68,7 @@ python3Packages.buildPythonApplication rec {
nativeBuildInputs = [
python3Packages.poetry-core
copyDesktopItems
wrapQtAppsHook
qt6.wrapQtAppsHook
];
propagatedBuildInputs = with python3Packages; [
@ -75,11 +77,11 @@ python3Packages.buildPythonApplication rec {
cairosvg
pillow
pynput
pyside2
pyside6
streamdeck
xlib
] ++ lib.optionals stdenv.isLinux [
qt5.qtwayland
qt6.qtwayland
];
nativeCheckInputs = [
@ -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 ];
};

View file

@ -0,0 +1,13 @@
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"

View file

@ -9,6 +9,7 @@
, libglvnd
, darwin
, buildPackages
, python3
# options
, developerBuild ? false
@ -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

View file

@ -2,7 +2,6 @@
, stdenv
, cmake
, ninja
, qt6
, python
, moveBuildTree
, shiboken6
@ -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
@ -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 ];

View file

@ -2,7 +2,6 @@
, fetchurl
, llvmPackages
, python
, qt6
, cmake
, autoPatchelfHook
, stdenv
@ -38,7 +37,10 @@ stdenv'.mkDerivation rec {
buildInputs = [
llvmPackages.llvm
llvmPackages.libclang
qt6.qtbase
python.pkgs.qt6.qtbase
python.pkgs.ninja
python.pkgs.packaging
python.pkgs.setuptools
];
cmakeFlags = [
@ -57,6 +59,12 @@ stdenv'.mkDerivation rec {
patchelf $out/${python.sitePackages}/shiboken6/Shiboken.abi3.so --shrink-rpath --allowed-rpath-prefixes ${builtins.storeDir}
'';
postInstall = ''
cd ../../..
${python.pythonForBuild.interpreter} setup.py egg_info --build-type=shiboken6
cp -r shiboken6.egg-info $out/${python.sitePackages}/
'';
dontWrapQtApps = true;
meta = with lib; {

View file

@ -32782,7 +32782,7 @@ with pkgs;
srain = callPackage ../applications/networking/irc/srain { };
streamdeck-ui = libsForQt5.callPackage ../applications/misc/streamdeck-ui { };
streamdeck-ui = callPackage ../applications/misc/streamdeck-ui { };
super-productivity = callPackage ../applications/office/super-productivity { };

View file

@ -9900,7 +9900,7 @@ self: super: with self; {
});
pyside6 = toPythonModule (callPackage ../development/python-modules/pyside6 {
inherit (pkgs) cmake ninja qt6;
inherit (pkgs) cmake ninja;
});
pysigma = callPackage ../development/python-modules/pysigma { };
@ -10910,6 +10910,10 @@ self: super: with self; {
qt5reactor = callPackage ../development/python-modules/qt5reactor { };
qt6 = pkgs.qt6.override {
python3 = self.python;
};
qtawesome = callPackage ../development/python-modules/qtawesome { };
qtconsole = callPackage ../development/python-modules/qtconsole { };
@ -11737,7 +11741,7 @@ self: super: with self; {
});
shiboken6 = toPythonModule (callPackage ../development/python-modules/shiboken6 {
inherit (pkgs) cmake llvmPackages qt6;
inherit (pkgs) cmake llvmPackages;
});
shippai = callPackage ../development/python-modules/shippai { };