27 aarch64-linux = fetchurl {
28 url = "https://signalyst.com/bins/bookworm/hqplayer5desktop_${version}_arm64.deb";
29 hash = "sha256-t3aiEkxl5fP5yup2l/iuLqZhltIjo4Ahe8EUg52lOLQ=";
31 x86_64-linux = fetchurl {
32 url = "https://signalyst.com/bins/noble/hqplayer5desktop_${version}_amd64.deb";
33 hash = "sha256-kDNVR8HkMogbdk5+eRszpyLeuE+vO3ynDS+TmCWYZ2Y=";
38 pname = "hqplayer-desktop";
42 srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
76 mv ./usr/bin/* "$out"/bin
79 mkdir -p "$doc/share/doc/hqplayer-desktop" "$doc/share/applications"
80 mv ./usr/share/doc/hqplayer5desktop/* "$doc/share/doc/hqplayer-desktop"
81 mv ./usr/share/applications/hqplayer5desktop-manual.desktop "$doc/share/applications"
84 mkdir -p "$out/share/applications"
85 mv ./usr/share/applications/* "$out/share/applications"
88 mkdir -p "$out/share/pixmaps"
89 mv ./usr/share/pixmaps/* "$out/share/pixmaps"
94 # doc has dependencies on evince that is not required by main app
101 for desktopFile in $out/share/applications/hqplayer5{client,desktop}.desktop; do
102 substituteInPlace "$desktopFile" \
103 --replace /usr/bin "$out"/bin
105 substituteInPlace "$doc/share/applications/hqplayer5desktop-manual.desktop" \
106 --replace /usr/share/doc/hqplayer5desktop "$doc/share/doc/hqplayer-desktop" \
107 --replace evince "${evince}/bin/evince"
111 patchelf --replace-needed libomp.so.5 libomp.so $out/bin/.hqplayer5*-wrapped
115 homepage = "https://www.signalyst.com";
116 description = "High-end upsampling multichannel software HD-audio player";
117 license = licenses.unfree;
118 sourceProvenance = with sourceTypes; [ binaryNativeCode ];
119 platforms = builtins.attrNames srcs;
120 maintainers = with maintainers; [ lovesegfault ];