From 4a135469532e7764108c578317638dc79385594e Mon Sep 17 00:00:00 2001 From: Nicolas Benes Date: Mon, 1 Sep 2025 09:47:41 +0200 Subject: [PATCH] nitrokey-app2: 2.3.5 -> 2.4.1, fix SVG display https://github.com/Nitrokey/nitrokey-app2/releases/tag/v2.4.1 https://github.com/Nitrokey/nitrokey-app2/releases/tag/v2.4.0 Fix the wrapping with Qt plugin paths to restore display of SVG icons and to fix a warning about missing wayland plugin. Closes #438004 --- pkgs/tools/security/nitrokey-app2/default.nix | 47 +++++++++++++------ pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 34 insertions(+), 15 deletions(-) diff --git a/pkgs/tools/security/nitrokey-app2/default.nix b/pkgs/tools/security/nitrokey-app2/default.nix index 377d212119f5..cecbb27c6e00 100644 --- a/pkgs/tools/security/nitrokey-app2/default.nix +++ b/pkgs/tools/security/nitrokey-app2/default.nix @@ -1,30 +1,38 @@ { lib, stdenv, - python3, + buildPythonApplication, fetchFromGitHub, - wrapQtAppsHook, - qtbase, - qtwayland, - qtsvg, + poetry-core, + fido2, + nitrokey, + pyside6, + usb-monitor, + qt6, }: -python3.pkgs.buildPythonApplication rec { - pname = "nitrokey-app2"; - version = "2.3.5"; - pyproject = true; +let + inherit (qt6) + wrapQtAppsHook + qtbase + qtwayland + qtsvg + ; +in - disabled = python3.pythonOlder "3.9"; +buildPythonApplication rec { + pname = "nitrokey-app2"; + version = "2.4.1"; + pyproject = true; src = fetchFromGitHub { owner = "Nitrokey"; repo = "nitrokey-app2"; tag = "v${version}"; - hash = "sha256-zhTDr4GyE4jridK3ee8ae3v5behMbuo86q9WdrBVqQg="; + hash = "sha256-nzhhtnKKOHA+Cw1y+BpYsyQklzkDnmFRKGIfaJ/dmaQ="; }; - nativeBuildInputs = with python3.pkgs; [ - poetry-core + nativeBuildInputs = [ wrapQtAppsHook ]; @@ -36,7 +44,12 @@ python3.pkgs.buildPythonApplication rec { qtsvg ]; - propagatedBuildInputs = with python3.pkgs; [ + build-system = [ + poetry-core + ]; + + dependencies = [ + fido2 nitrokey pyside6 usb-monitor @@ -53,6 +66,12 @@ python3.pkgs.buildPythonApplication rec { install -Dm755 meta/nk-app2.png $out/share/icons/hicolor/128x128/apps/com.nitrokey.nitrokey-app2.png ''; + # wrapQtApps only wrapps binary files and normally skips python programs. + # Manually pass the qtWrapperArgs from wrapQtAppsHook to wrap python programs. + preFixup = '' + makeWrapperArgs+=("''${qtWrapperArgs[@]}") + ''; + meta = with lib; { description = "This application allows to manage Nitrokey 3 devices"; homepage = "https://github.com/Nitrokey/nitrokey-app2"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 71847f21ff66..bafce35a66cc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15560,7 +15560,7 @@ with pkgs; nitrokey-app = libsForQt5.callPackage ../tools/security/nitrokey-app { }; - nitrokey-app2 = qt6Packages.callPackage ../tools/security/nitrokey-app2 { }; + nitrokey-app2 = python3Packages.callPackage ../tools/security/nitrokey-app2 { }; hy = with python3Packages; toPythonApplication hy;