diff --git a/pkgs/applications/audio/spot/default.nix b/pkgs/applications/audio/spot/default.nix new file mode 100644 index 000000000000..afe669f38622 --- /dev/null +++ b/pkgs/applications/audio/spot/default.nix @@ -0,0 +1,79 @@ +{ lib +, stdenv +, fetchFromGitHub +, nix-update-script +, meson +, ninja +, gettext +, python3 +, desktop-file-utils +, rustPlatform +, pkg-config +, glib +, libhandy +, gtk3 +, openssl +, alsaLib +, libpulseaudio +, wrapGAppsHook +}: + +stdenv.mkDerivation rec { + pname = "spot"; + version = "0.1.14"; + + src = fetchFromGitHub { + owner = "xou816"; + repo = "spot"; + rev = version; + sha256 = "eHhbm1amTx3ngqsP32uDEdrhrBeurMftg5SToTQGX9o="; + }; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + name = "${pname}-${version}"; + hash = "sha256-jY7pWoY9IJi5hHVRS1gQKb+Vmfc+wxHvoAwupOtXXQs="; + }; + + nativeBuildInputs = [ + gettext + meson + ninja + pkg-config + python3 # for meson postinstall script + gtk3 # for gtk-update-icon-cache + glib # for glib-compile-schemas + desktop-file-utils + rustPlatform.rust.cargo + rustPlatform.cargoSetupHook + rustPlatform.rust.rustc + wrapGAppsHook + ]; + + buildInputs = [ + glib + gtk3 + libhandy + openssl + alsaLib + libpulseaudio + ]; + + postPatch = '' + chmod +x build-aux/cargo.sh + patchShebangs build-aux/cargo.sh build-aux/meson/postinstall.py + ''; + + passthru = { + updateScript = nix-update-script { + attrPath = pname; + }; + }; + + meta = with lib; { + description = "Native Spotify client for the GNOME desktop"; + homepage = "https://github.com/xou816/spot"; + license = licenses.mit; + maintainers = with maintainers; [ jtojnar ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 459617a3aa5e..cb2e716b757f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24203,6 +24203,8 @@ in spectrwm = callPackage ../applications/window-managers/spectrwm { }; + spot = callPackage ../applications/audio/spot { }; + spotify-cli-linux = callPackage ../applications/audio/spotify-cli-linux { }; spotifyd = callPackage ../applications/audio/spotifyd {