diff options
Diffstat (limited to 'pkgs/applications/audio/clementine/default.nix')
-rw-r--r-- | pkgs/applications/audio/clementine/default.nix | 97 |
1 files changed, 79 insertions, 18 deletions
diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix index 0c1690f1462..550100574db 100644 --- a/pkgs/applications/audio/clementine/default.nix +++ b/pkgs/applications/audio/clementine/default.nix @@ -1,8 +1,49 @@ -{ stdenv, mkDerivation, fetchFromGitHub, fetchpatch, boost, cmake, chromaprint, gettext, gst_all_1, liblastfm -, qtbase, qtx11extras -, taglib, fftw, glew, qjson, sqlite, libgpod, libplist, usbmuxd, libmtp -, libpulseaudio, gvfs, libcdio, libechonest, libspotify, pcre, projectm, protobuf -, qca2, pkgconfig, sparsehash, config, makeWrapper, gst_plugins }: +{ lib +, mkDerivation +, fetchFromGitHub +, fetchpatch +, boost +, cmake +, chromaprint +, gettext +, gst_all_1 +, liblastfm +, qtbase +, qtx11extras +, qttools +, taglib +, fftw +, glew +, qjson +, sqlite +, libgpod +, libplist +, usbmuxd +, libmtp +, libpulseaudio +, gvfs +, libcdio +, libechonest +, libspotify +, pcre +, projectm +, protobuf +, qca2 +, pkg-config +, sparsehash +, config +, makeWrapper +, gst_plugins + +, util-linux +, libunwind +, libselinux +, elfutils +, libsepol +, orc + +, alsa-lib +}: let withIpod = config.clementine.ipod or false; @@ -10,6 +51,7 @@ let withCD = config.clementine.cd or true; withCloud = config.clementine.cloud or true; + # On the update after all 1.4rc, qt5.15 and protobuf 3.15 will be supported. version = "1.4.0rc1"; src = fetchFromGitHub { @@ -21,9 +63,26 @@ let patches = [ ./clementine-spotify-blob.patch + (fetchpatch { + # "short-term" fix for execution on wayland (1.4.0rc1-131-g2179027a6) + # for https://github.com/clementine-player/Clementine/issues/6587 + url = "https://github.com/clementine-player/Clementine/commit/2179027a6d97530c857e43be873baacd696ff332.patch"; + sha256 = "0344bfcyvjim5ph8w4km6zkg96rj5g9ybp9x14qgyw2gkdksimn6"; + }) ]; - nativeBuildInputs = [ cmake pkgconfig ]; + nativeBuildInputs = [ + cmake + pkg-config + makeWrapper + + util-linux + libunwind + libselinux + elfutils + libsepol + orc + ]; buildInputs = [ boost @@ -44,13 +103,16 @@ let qjson qtbase qtx11extras + qttools sqlite taglib + + alsa-lib ] - ++ stdenv.lib.optionals (withIpod) [libgpod libplist usbmuxd] - ++ stdenv.lib.optionals (withMTP) [libmtp] - ++ stdenv.lib.optionals (withCD) [libcdio] - ++ stdenv.lib.optionals (withCloud) [sparsehash]; + ++ lib.optionals (withIpod) [ libgpod libplist usbmuxd ] + ++ lib.optionals (withMTP) [ libmtp ] + ++ lib.optionals (withCD) [ libcdio ] + ++ lib.optionals (withCloud) [ sparsehash ]; postPatch = '' sed -i src/CMakeLists.txt \ @@ -67,7 +129,7 @@ let inherit src patches nativeBuildInputs postPatch; # gst_plugins needed for setup-hooks - buildInputs = buildInputs ++ [ makeWrapper ] ++ gst_plugins; + buildInputs = buildInputs ++ gst_plugins; preConfigure = '' rm -rf ext/{,lib}clementine-spotifyblob @@ -78,8 +140,6 @@ let "-DSPOTIFY_BLOB=OFF" ]; - enableParallelBuilding = true; - passthru.unfree = unfree; postInstall = '' @@ -87,7 +147,7 @@ let --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" ''; - meta = with stdenv.lib; { + meta = with lib; { homepage = "https://www.clementine-player.org"; description = "A multiplatform music player"; license = licenses.gpl3Plus; @@ -103,7 +163,7 @@ let # Use the same patches and sources as Clementine inherit src nativeBuildInputs patches postPatch; - buildInputs = buildInputs ++ [ libspotify makeWrapper ]; + buildInputs = buildInputs ++ [ libspotify ]; # Only build and install the Spotify blob preBuild = '' cd ext/clementine-spotifyblob @@ -121,8 +181,8 @@ let ln -s "${free}/share/$dir" "$out/share/$dir" done ''; - enableParallelBuilding = true; - meta = with stdenv.lib; { + + meta = with lib; { homepage = "https://www.clementine-player.org"; description = "Spotify integration for Clementine"; # The blob itself is Apache-licensed, although libspotify is unfree. @@ -132,4 +192,5 @@ let }; }; -in free +in +free |