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.22";
16
17 src =
18 if stdenvNoCC.isAarch64
19 then
20 fetchurl {
21 url = "https://github.com/alexmercerind2/harmonoid-releases/releases/download/v${version}/harmonoid-linux-aarch64.tar.gz";
22 hash = "sha256-jXN5i+LudsODNZUzb5SXClqgQxYzanrbZCqB8X0pJRQ=";
23 }
24 else
25 fetchurl {
26 url = "https://github.com/alexmercerind2/harmonoid-releases/releases/download/v${version}/harmonoid-linux-x86_64.tar.gz";
27 hash = "sha256-+fEx30uu0rZiORrtE00xG2piJzpFbfxSZw3OjrhLJyg=";
28 };
29
30 dontStrip = true;
31
32 nativeBuildInputs = [
33 makeWrapper
34 autoPatchelfHook
35 dpkg
36 wrapGAppsHook3
37 ];
38
39 buildInputs = [
40 mpv-unwrapped
41 xdg-utils
42 zenity
43 ];
44
45 sourceRoot = ".";
46
47 installPhase = ''
48 runHook preInstall
49 mkdir -p $out
50
51 cp -r usr/* $out/
52
53 runHook postInstall
54 '';
55
56 postFixup = ''
57 wrapProgram $out/bin/harmonoid \
58 --prefix PATH : ${lib.makeBinPath buildInputs} \
59 --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [mpv-unwrapped]}:$out/share/harmonoid/lib"
60 '';
61
62 meta = {
63 description = "Plays & manages your music library. Looks beautiful & juicy.";
64 homepage = "https://harmonoid.com/";
65 license = lib.licenses.unfree;
66 platforms = ["x86_64-linux" "aarch64-linux"];
67 };
68}