biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / audio / spot / default.nix
blob7cf683beb918c024d56b93cfc88902a9e034a85a
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , nix-update-script
5 , meson
6 , ninja
7 , gettext
8 , python3
9 , desktop-file-utils
10 , cargo
11 , rustPlatform
12 , rustc
13 , pkg-config
14 , glib
15 , libadwaita
16 , libhandy
17 , gtk4
18 , openssl
19 , alsa-lib
20 , libpulseaudio
21 , wrapGAppsHook4
24 stdenv.mkDerivation rec {
25   pname = "spot";
26   version = "0.4.0";
28   src = fetchFromGitHub {
29     owner = "xou816";
30     repo = "spot";
31     rev = version;
32     hash = "sha256-K6wGWhAUUGsbE4O+z0TmJcJyGarvHgZteY527jfAa90=";
33   };
35   cargoDeps = rustPlatform.fetchCargoTarball {
36     inherit src;
37     name = "${pname}-${version}";
38     hash = "sha256-eM2XLumn4dr2YtyUzBZJADlqdexc1iOaNJUudMlfSUc=";
39   };
41   nativeBuildInputs = [
42     gettext
43     meson
44     ninja
45     pkg-config
46     python3 # for meson postinstall script
47     gtk4 # for gtk-update-icon-cache
48     glib # for glib-compile-schemas
49     desktop-file-utils
50     cargo
51     rustPlatform.cargoSetupHook
52     rustc
53     wrapGAppsHook4
54   ];
56   buildInputs = [
57     glib
58     gtk4
59     libadwaita
60     libhandy
61     openssl
62     alsa-lib
63     libpulseaudio
64   ];
66   # https://github.com/xou816/spot/issues/313
67   mesonBuildType = "release";
69   postPatch = ''
70     chmod +x build-aux/cargo.sh
71     patchShebangs build-aux/cargo.sh build-aux/meson/postinstall.py
72     substituteInPlace build-aux/meson/postinstall.py \
73       --replace gtk-update-icon-cache gtk4-update-icon-cache
74   '';
76   passthru = {
77     updateScript = nix-update-script { };
78   };
80   meta = with lib; {
81     description = "Native Spotify client for the GNOME desktop";
82     mainProgram = "spot";
83     homepage = "https://github.com/xou816/spot";
84     license = licenses.mit;
85     maintainers = with maintainers; [ ];
86     platforms = platforms.linux;
87   };