clementine: fix Spotify support
This commit is contained in:
parent
7931799a0f
commit
256a372b08
@ -0,0 +1,25 @@
|
|||||||
|
From d9ebe7ec09a48b1ea505ccc33686b72642f083f4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Thomas Tuegel <ttuegel@gmail.com>
|
||||||
|
Date: Mon, 4 May 2015 19:59:38 -0500
|
||||||
|
Subject: [PATCH] Runtime selection of Spotify blob
|
||||||
|
|
||||||
|
---
|
||||||
|
src/internet/spotifyservice.cpp | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/internet/spotifyservice.cpp b/src/internet/spotifyservice.cpp
|
||||||
|
index 543744e..d987a36 100644
|
||||||
|
--- a/src/internet/spotifyservice.cpp
|
||||||
|
+++ b/src/internet/spotifyservice.cpp
|
||||||
|
@@ -65,7 +65,7 @@ SpotifyService::SpotifyService(Application* app, InternetModel* parent)
|
||||||
|
system_blob_path_ = QCoreApplication::applicationDirPath() +
|
||||||
|
"/../PlugIns/clementine-spotifyblob";
|
||||||
|
#else
|
||||||
|
- system_blob_path_ = QCoreApplication::applicationDirPath() +
|
||||||
|
+ system_blob_path_ = qgetenv("CLEMENTINE_SPOTIFYBLOB") +
|
||||||
|
"/clementine-spotifyblob" CMAKE_EXECUTABLE_SUFFIX;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
--
|
||||||
|
2.3.6
|
||||||
|
|
@ -1,16 +1,15 @@
|
|||||||
{ stdenv, fetchurl, boost, cmake, gettext, gstreamer, gst_plugins_base
|
{ stdenv, fetchurl, boost, cmake, gettext, gstreamer, gst_plugins_base
|
||||||
, liblastfm, qt4, taglib, fftw, glew, qjson, sqlite, libgpod, libplist
|
, liblastfm, qt4, taglib, fftw, glew, qjson, sqlite, libgpod, libplist
|
||||||
, usbmuxd, libmtp, gvfs, libcdio, protobuf, libspotify, qca2, pkgconfig
|
, usbmuxd, libmtp, gvfs, libcdio, libspotify, protobuf, qca2, pkgconfig
|
||||||
, sparsehash, config, makeWrapper, runCommand, gst_plugins }:
|
, sparsehash, config, makeWrapper, runCommand, gst_plugins }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
withSpotify = config.clementine.spotify or false;
|
||||||
|
|
||||||
version = "1.2.3";
|
version = "1.2.3";
|
||||||
|
|
||||||
exeName = "clementine";
|
exeName = "clementine";
|
||||||
|
|
||||||
unwrapped = stdenv.mkDerivation {
|
|
||||||
name = "clementine-unwrapped-${version}";
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = https://github.com/clementine-player/Clementine/archive/1.2.3.tar.gz;
|
url = https://github.com/clementine-player/Clementine/archive/1.2.3.tar.gz;
|
||||||
sha256 = "1gx1109i4pylz6x7gvp4rdzc6dvh0w6in6hfbygw01d08l26bxbx";
|
sha256 = "1gx1109i4pylz6x7gvp4rdzc6dvh0w6in6hfbygw01d08l26bxbx";
|
||||||
@ -19,6 +18,7 @@ let
|
|||||||
patches = [
|
patches = [
|
||||||
./clementine-1.2.1-include-paths.patch
|
./clementine-1.2.1-include-paths.patch
|
||||||
./clementine-dbus-namespace.patch
|
./clementine-dbus-namespace.patch
|
||||||
|
./clementine-spotify-blob.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
@ -46,20 +46,60 @@ let
|
|||||||
usbmuxd
|
usbmuxd
|
||||||
];
|
];
|
||||||
|
|
||||||
|
unwrapped = stdenv.mkDerivation {
|
||||||
|
name = "clementine-unwrapped-${version}";
|
||||||
|
inherit patches src buildInputs;
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = "http://www.clementine-player.org";
|
||||||
|
description = "A multiplatform music player";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = [ maintainers.ttuegel ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Spotify blob for Clementine
|
||||||
|
blob = stdenv.mkDerivation {
|
||||||
|
name = "clementine-blob-${version}";
|
||||||
|
# Use the same patches and sources as Clementine
|
||||||
|
inherit patches src;
|
||||||
|
buildInputs = buildInputs ++ [ libspotify ];
|
||||||
|
# Only build and install the Spotify blob
|
||||||
|
preBuild = ''
|
||||||
|
cd ext/clementine-spotifyblob
|
||||||
|
'';
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $out/libexec/clementine
|
||||||
|
mv $out/bin/clementine-spotifyblob $out/libexec/clementine
|
||||||
|
rmdir $out/bin
|
||||||
|
'';
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = "http://www.clementine-player.org";
|
||||||
|
description = "Spotify integration for Clementine";
|
||||||
|
# The blob itself is Apache-licensed, although libspotify is unfree.
|
||||||
|
license = licenses.asl20;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = [ maintainers.ttuegel ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
|
with stdenv.lib;
|
||||||
|
|
||||||
runCommand "clementine-${version}"
|
runCommand "clementine-${version}"
|
||||||
{
|
{
|
||||||
buildInputs = [ unwrapped makeWrapper ] ++ gst_plugins;
|
inherit blob unwrapped;
|
||||||
|
buildInputs = [ makeWrapper ] ++ gst_plugins; # for the setup-hooks
|
||||||
dontPatchELF = true;
|
dontPatchELF = true;
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
meta = with stdenv.lib; {
|
meta = {
|
||||||
homepage = "http://www.clementine-player.org";
|
homepage = "http://www.clementine-player.org";
|
||||||
description = "A multiplatform music player"
|
description = "A multiplatform music player"
|
||||||
+ " (with gstreamer plugins: "
|
+ " (" + (optionalString withSpotify "with Spotify, ")
|
||||||
|
+ "with gstreamer plugins: "
|
||||||
+ concatStrings (intersperse ", " (map (x: x.name) gst_plugins))
|
+ concatStrings (intersperse ", " (map (x: x.name) gst_plugins))
|
||||||
+ ")";
|
+ ")";
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
@ -69,6 +109,7 @@ runCommand "clementine-${version}"
|
|||||||
}
|
}
|
||||||
''
|
''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
makeWrapper "${unwrapped}/bin/${exeName}" "$out/bin/${exeName}" \
|
makeWrapper "$unwrapped/bin/${exeName}" "$out/bin/${exeName}" \
|
||||||
|
${optionalString withSpotify "--set CLEMENTINE_SPOTIFYBLOB \"$blob/libexec/clementine\""} \
|
||||||
--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
|
--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
|
||||||
''
|
''
|
||||||
|
Loading…
x
Reference in New Issue
Block a user