update/navibeat
1{
2 lib,
3 stdenvNoCC,
4 fetchurl,
5 autoPatchelfHook,
6 makeWrapper,
7 dpkg,
8 wrapGAppsHook3,
9 mpv-unwrapped,
10 xdg-utils,
11 zenity,
12}:
13stdenvNoCC.mkDerivation rec {
14 pname = "harmonoid";
15 version = "0.3.32";
16
17 passthru.updateScript = [(toString ./update.sh)];
18 preferLocalBuild = true;
19
20 src =
21 if stdenvNoCC.isAarch64
22 then
23 fetchurl {
24 url = "https://github.com/alexmercerind2/harmonoid-releases/releases/download/v${version}/harmonoid-linux-aarch64.tar.gz";
25 hash = "sha256-j9Pveq7iULBUVF7ochHWS9VynlJlk14m3KLRyAcNKiA=";
26 }
27 else
28 fetchurl {
29 url = "https://github.com/alexmercerind2/harmonoid-releases/releases/download/v${version}/harmonoid-linux-x86_64.tar.gz";
30 hash = "sha256-ICnghYC25CLf5kzB6tUC/ocKI+J5HA7zyK9dEkLOWWE=";
31 };
32
33 dontStrip = true;
34
35 nativeBuildInputs = [
36 makeWrapper
37 autoPatchelfHook
38 dpkg
39 wrapGAppsHook3
40 ];
41
42 buildInputs = [
43 mpv-unwrapped
44 xdg-utils
45 zenity
46 ];
47
48 sourceRoot = ".";
49
50 installPhase = ''
51 runHook preInstall
52 mkdir -p $out
53
54 cp -r usr/* $out/
55
56 runHook postInstall
57 '';
58
59 postFixup = ''
60 wrapProgram $out/bin/harmonoid \
61 --prefix PATH : ${lib.makeBinPath buildInputs} \
62 --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [mpv-unwrapped]}:$out/share/harmonoid/lib"
63 '';
64
65 meta = {
66 description = "Plays & manages your music library. Looks beautiful & juicy.";
67 homepage = "https://harmonoid.com/";
68 license = lib.licenses.unfree;
69 platforms = ["x86_64-linux" "aarch64-linux"];
70 };
71}