main
 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}