soundsource: use fetchzip

Fetch and hash the unpacked bundle rather than the zip bytes, which removes
the unzip build input (NixOS/nixpkgs#498552) and survives archive.org
re-serving the same file with different container metadata - a change on their
end previously broke the fixed-output hash (NixOS/nixpkgs#463091).

Assisted-by: Claude Code (Claude Opus 4.8)
This commit is contained in:
dfjay
2026-07-24 21:13:25 +05:00
parent d1e0d72118
commit 78db27d15d
+5 -8
View File
@@ -1,27 +1,24 @@
{
lib,
stdenvNoCC,
fetchurl,
unzip,
fetchzip,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "soundsource";
version = "6.1.0";
src = fetchurl {
src = fetchzip {
url = "https://web.archive.org/web/20260724150017/https://cdn.rogueamoeba.com/soundsource/download/SoundSource.zip";
hash = "sha256-ZGyL4Ljeu7/Uz01jDtw42pJdrnJ0wYIVhRFHzfVrvtI=";
hash = "sha256-C7VvtREU7NA27N9VRQ+ktU6iTQL5wWGEND+3oG6jyII=";
};
dontUnpack = true;
nativeBuildInputs = [ unzip ];
installPhase = ''
runHook preInstall
mkdir -p "$out/Applications"
unzip -d "$out/Applications" $src
mkdir -p "$out/Applications/SoundSource.app"
cp -R $src/. "$out/Applications/SoundSource.app/"
runHook postInstall
'';