From d2ed23e623506b54ba8443e19d6b5cbb7e5069aa Mon Sep 17 00:00:00 2001 From: nat Date: Mon, 24 Feb 2025 17:18:49 +0100 Subject: [PATCH 1/3] trezor-suite: enable wayland --- pkgs/by-name/tr/trezor-suite/package.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/tr/trezor-suite/package.nix b/pkgs/by-name/tr/trezor-suite/package.nix index c40e1ec54a5a1..5cc2d64203d67 100644 --- a/pkgs/by-name/tr/trezor-suite/package.nix +++ b/pkgs/by-name/tr/trezor-suite/package.nix @@ -3,6 +3,7 @@ stdenv, fetchurl, appimageTools, + makeWrapper, tor, trezord, }: @@ -29,7 +30,7 @@ let .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); }; - appimageContents = appimageTools.extractType2 { + appimageContents = appimageTools.extract { inherit pname version src; }; @@ -38,6 +39,8 @@ in appimageTools.wrapType2 rec { inherit pname version src; + nativeBuildInputs = [ makeWrapper ]; + extraInstallCommands = '' mkdir -p $out/bin $out/share/${pname} $out/share/${pname}/resources @@ -45,6 +48,9 @@ appimageTools.wrapType2 rec { cp -a ${appimageContents}/resources/app*.* $out/share/${pname}/resources cp -a ${appimageContents}/resources/images/ $out/share/${pname}/resources + wrapProgram $out/bin/trezor-suite \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" + install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop install -m 444 -D ${appimageContents}/resources/images/desktop/512x512.png $out/share/icons/hicolor/512x512/apps/${pname}.png substituteInPlace $out/share/applications/${pname}.desktop \ From 16b750e110fa20d78a29c6d80a596db870b545ee Mon Sep 17 00:00:00 2001 From: nat Date: Mon, 24 Feb 2025 17:32:08 +0100 Subject: [PATCH 2/3] trezor-suite: add updateScript --- pkgs/by-name/tr/trezor-suite/package.nix | 2 ++ pkgs/by-name/tr/trezor-suite/update.sh | 15 +++++++++++++++ 2 files changed, 17 insertions(+) create mode 100755 pkgs/by-name/tr/trezor-suite/update.sh diff --git a/pkgs/by-name/tr/trezor-suite/package.nix b/pkgs/by-name/tr/trezor-suite/package.nix index 5cc2d64203d67..0406bbbff72ea 100644 --- a/pkgs/by-name/tr/trezor-suite/package.nix +++ b/pkgs/by-name/tr/trezor-suite/package.nix @@ -62,6 +62,8 @@ appimageTools.wrapType2 rec { ln -sf ${tor}/bin/tor $out/share/${pname}/resources/bin/tor/tor ''; + passthru.updateScript = ./update.sh; + meta = with lib; { description = "Trezor Suite - Desktop App for managing crypto"; homepage = "https://suite.trezor.io"; diff --git a/pkgs/by-name/tr/trezor-suite/update.sh b/pkgs/by-name/tr/trezor-suite/update.sh new file mode 100755 index 0000000000000..7afa0854c63ac --- /dev/null +++ b/pkgs/by-name/tr/trezor-suite/update.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl yq +set -eu -o pipefail + +target="$(dirname "$(readlink -f "$0")")/package.nix" +host="https://data.trezor.io" +metadata_aarch64=$(curl "$host/suite/releases/desktop/latest/latest-linux-arm64.yml") +metadata_x64=$(curl "$host/suite/releases/desktop/latest/latest-linux.yml") +hash_aarch64=$(echo "$metadata_aarch64" | yq .sha512 -r) +hash_x64=$(echo "$metadata_x64" | yq .sha512 -r) +version=$(echo "$metadata_x64" | yq .version -r) + +sed -i "s@version = .*;@version = \"$version\";@g" "$target" +sed -i "s@aarch64-linux = \"sha512.*@aarch64-linux = \"sha512-$hash_aarch64\";@" "$target" +sed -i "s@x86_64-linux = \"sha512.*@x86_64-linux = \"sha512-$hash_x64\";@" "$target" From 0372ac56423ee1b17f13e8181c9cf5e9d9d1b498 Mon Sep 17 00:00:00 2001 From: nat Date: Mon, 24 Feb 2025 17:35:30 +0100 Subject: [PATCH 3/3] trezor-suite: 24.12.3 -> 25.2.2 --- pkgs/by-name/tr/trezor-suite/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/tr/trezor-suite/package.nix b/pkgs/by-name/tr/trezor-suite/package.nix index 0406bbbff72ea..bd3656ced768f 100644 --- a/pkgs/by-name/tr/trezor-suite/package.nix +++ b/pkgs/by-name/tr/trezor-suite/package.nix @@ -10,7 +10,7 @@ let pname = "trezor-suite"; - version = "24.12.3"; + version = "25.2.2"; suffix = { @@ -24,8 +24,8 @@ let hash = { # curl -Lfs https://github.com/trezor/trezor-suite/releases/download/v${version}/latest-linux{-arm64,}.yml | grep ^sha512 | sed 's/: /-/' - aarch64-linux = "sha512-erNWQTaj/WWoqy3TO7wb+ijQkwXjqfCjqvQN6/9gCVjbHswURWHX36P0rJg9vuQu6odi5EKtooDusIxjIUkQzA=="; - x86_64-linux = "sha512-Zd+Ou3YUymlKr5lOTdWEZVdCbz3cIJx3Ho65AGDUXkNXfOrCc0v9faE8Np/9TkpJDWWqjjUoTJkkvsbapiMOOQ=="; + aarch64-linux = "sha512-9EWbYju0e3DdS8bnuMiD4Cdodz/LxbLyCItNEWSIi/UADxtH7smAbpAu4Awcgbb3o39x94Mf8rbqcxmIktDDhQ=="; + x86_64-linux = "sha512-j8TI46Jr/Tc99Ri3aFY0z73HFY5AWpeAv/yJy8xsV8rNGWEwKlCvJzkrEUpvpFUBMoHgGw3PTQ7CYUQ5bmB/CA=="; } .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); };