mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2025-01-08 06:28:50 +03:00
Merge pull request #247618 from Majiir/streamdeck-ui-3.0.1
streamdeck-ui: 2.0.6 -> 3.0.1
This commit is contained in:
commit
024c8c2bd4
@ -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 ];
|
||||
|
@ -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 ];
|
||||
};
|
||||
|
13
pkgs/applications/misc/streamdeck-ui/update-pillow.patch
Normal file
13
pkgs/applications/misc/streamdeck-ui/update-pillow.patch
Normal 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"
|
@ -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
|
||||
|
@ -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 ];
|
||||
|
@ -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; {
|
||||
|
@ -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 { };
|
||||
|
||||
|
@ -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 { };
|
||||
|
Loading…
Reference in New Issue
Block a user