diff --git a/pkgs/tools/misc/tdarr/common.nix b/pkgs/tools/misc/tdarr/common.nix index dd08fb81adde..6ef7469c2308 100644 --- a/pkgs/tools/misc/tdarr/common.nix +++ b/pkgs/tools/misc/tdarr/common.nix @@ -100,7 +100,7 @@ let in stdenv.mkDerivation (finalAttrs: { inherit pname; - version = "2.58.02"; + version = "2.66.01"; src = fetchzip { url = "https://storage.tdarr.io/versions/${finalAttrs.version}/${platform}/${componentName}.zip"; @@ -160,9 +160,6 @@ stdenv.mkDerivation (finalAttrs: { postInstall = '' makeWrapper $out/share/${pname}/${componentName} $out/bin/${pname} ${commonWrapperArgs} - '' - # TODO: Check on each update to see if the Tdarr_Node_tray gets re-added to the aarch64-linux build. Reach out to upstream? - + lib.optionalString (stdenv.hostPlatform.system != "aarch64-linux") '' makeWrapper $out/share/${pname}/${componentTrayName} $out/bin/${pname}-tray ${commonWrapperArgs} '' + lib.optionalString installIcons '' @@ -177,7 +174,7 @@ stdenv.mkDerivation (finalAttrs: { '' + ""; - desktopItems = lib.optionals (stdenv.isLinux && stdenv.hostPlatform.system != "aarch64-linux") [ + desktopItems = lib.optionals stdenv.isLinux [ (makeDesktopItem { desktopName = "Tdarr ${componentUpper} Tray"; name = "Tdarr ${componentUpper} Tray"; diff --git a/pkgs/tools/misc/tdarr/node.nix b/pkgs/tools/misc/tdarr/node.nix index 45c910ba00e4..869ac289ce23 100644 --- a/pkgs/tools/misc/tdarr/node.nix +++ b/pkgs/tools/misc/tdarr/node.nix @@ -5,9 +5,9 @@ callPackage ./common.nix { } { component = "node"; hashes = { - linux_x64 = "sha256-+vD5oaoYh/bOCuk/Bxc8Fsm9UnFICownSKvg9i726nk="; - linux_arm64 = "sha256-2uPtEno0dSdVBg5hCiUuvBCB5tuTOcpeU2BuXPiqdUU="; - darwin_x64 = "sha256-8O5J1qFpQxD6fzojxjWnbkS4XQoCZauxCtbl/drplfI="; - darwin_arm64 = "sha256-oA+nTkO4LDAX5/cGkjNOLnPu0Rss9el+4JF8PBEfsPQ="; + linux_x64 = "sha256-3dd8ouRfThm481rDJDnxxUuSkqNlFR+2aywPzyy7xrw="; + linux_arm64 = "sha256-LD/cQECal9dLZY/FQSFztOVzd7MaeHL1rdbMUJ2DPNY="; + darwin_x64 = "sha256-icgzoHqZ+P6gXJ8jQTau3O2D6uRvET4MtNoWJI/JnvM="; + darwin_arm64 = "sha256-Rw478IpDLLe+Ek3Jt5Duaq1sHL1D3pE0HkVqk+v1ECE="; }; } diff --git a/pkgs/tools/misc/tdarr/server.nix b/pkgs/tools/misc/tdarr/server.nix index 96e40e403508..65c17f87598b 100644 --- a/pkgs/tools/misc/tdarr/server.nix +++ b/pkgs/tools/misc/tdarr/server.nix @@ -5,10 +5,10 @@ callPackage ./common.nix { } { component = "server"; hashes = { - linux_x64 = "sha256-+nxwSGAkA+BPf481N6KHW7s0iJzoGFPWp0XCbsVEwrI="; - linux_arm64 = "sha256-tA5VX27XmH3C4Bkll2mJlr1BYz5V7PPvzbJeaDht7uI="; - darwin_x64 = "sha256-jgHEezqtzUWTIvmxsmV1VgaXY9wHePkg6bQO16eSSGI="; - darwin_arm64 = "sha256-pcPpqFbqYsXf5Og9uC+eF/1kOQ1ZiletDzkk3qavPS0="; + linux_x64 = "sha256-YbEFgvOEAY5HGyTZw9vr4SC85zLQHUQKq++Qbsg1+5A="; + linux_arm64 = "sha256-PGguxjOGVUPV5CW3iAtoehnxqGkTe9UA6Vu+7bf6DlQ="; + darwin_x64 = "sha256-Gya1DmrLM5UCChwocEwdjYxSWECOl5Ew/e8LpmPQB7M="; + darwin_arm64 = "sha256-RJYQZ4L49WTwgMj+vZYFd5Kl3gX1DrkR+fF5E7L9fVs="; }; includeInPath = [ ccextractor ]; diff --git a/pkgs/tools/misc/tdarr/update-hashes.sh b/pkgs/tools/misc/tdarr/update-hashes.sh index 822ff243d9ca..9e50086ca940 100755 --- a/pkgs/tools/misc/tdarr/update-hashes.sh +++ b/pkgs/tools/misc/tdarr/update-hashes.sh @@ -1,4 +1,5 @@ -#!/usr/bin/env bash +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl jq unzip set -euo pipefail # Updates tdarr packages to the latest version @@ -20,11 +21,12 @@ fi echo "Latest version: $LATEST_VERSION" >&2 -# Check current version in common.nix -CURRENT_VERSION=$(grep -oP '(?<=version = ")[^"]+' "$COMMON_FILE" 2>/dev/null) +# Use the current version injected by update.nix, falling back to grepping common.nix for standalone use +CURRENT_VERSION="${UPDATE_NIX_OLD_VERSION:-$(grep -oP '(?<=version = ")[^"]+' "$COMMON_FILE")}" if [[ "$CURRENT_VERSION" == "$LATEST_VERSION" ]]; then echo "Tdarr packages are already on the latest version ($LATEST_VERSION)" >&2 + echo "[]" exit 0 fi @@ -32,7 +34,14 @@ echo "Updating from $CURRENT_VERSION to $LATEST_VERSION..." >&2 fetch_and_convert() { local url=$1 - nix-prefetch-url --unpack "$url" 2>/dev/null | xargs nix hash convert --hash-algo sha256 --to sri + local tmpdir + tmpdir=$(mktemp -d) + # Clean up temp directory on return + trap "rm -rf '$tmpdir'" RETURN + + curl -sSL -o "$tmpdir/archive.zip" "$url" || { echo "Error: failed to download $url" >&2; return 1; } + unzip -q "$tmpdir/archive.zip" -d "$tmpdir/unpacked" || { echo "Error: failed to unzip $url" >&2; return 1; } + nix hash path "$tmpdir/unpacked" } # Fetch all hashes for both server and node