From 0322f66307286f5377d4479938ed57fadaf8425a Mon Sep 17 00:00:00 2001 From: Raymond Gauthier Date: Wed, 2 Aug 2017 22:54:50 -0400 Subject: [PATCH] clementine: 1.2.3 -> 1.3.1 --- .../clementine-1.2.1-include-paths.patch | 14 -------- .../clementine-dbus-namespace.patch | 36 ------------------- ...ntine-spotify-blob-remove-from-build.patch | 21 +++++++++++ .../clementine/clementine-spotify-blob.patch | 26 ++++---------- .../applications/audio/clementine/default.nix | 36 ++++++++++++------- pkgs/top-level/all-packages.nix | 3 +- 6 files changed, 53 insertions(+), 83 deletions(-) delete mode 100644 pkgs/applications/audio/clementine/clementine-1.2.1-include-paths.patch delete mode 100644 pkgs/applications/audio/clementine/clementine-dbus-namespace.patch create mode 100644 pkgs/applications/audio/clementine/clementine-spotify-blob-remove-from-build.patch diff --git a/pkgs/applications/audio/clementine/clementine-1.2.1-include-paths.patch b/pkgs/applications/audio/clementine/clementine-1.2.1-include-paths.patch deleted file mode 100644 index 4c17846b99df..000000000000 --- a/pkgs/applications/audio/clementine/clementine-1.2.1-include-paths.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -ur clementine-1.2.1-a/CMakeLists.txt clementine-1.2.1-b/CMakeLists.txt ---- clementine-1.2.1-a/CMakeLists.txt 2013-11-25 15:16:24.000000000 -0600 -+++ clementine-1.2.1-b/CMakeLists.txt 2013-12-30 17:01:48.470011058 -0600 -@@ -158,6 +158,10 @@ - include_directories(${TAGLIB_INCLUDE_DIRS}) - include_directories(${QJSON_INCLUDE_DIRS}) - include_directories(${GSTREAMER_INCLUDE_DIRS}) -+include_directories(${GSTREAMER_APP_INCLUDE_DIRS}) -+include_directories(${GSTREAMER_BASE_INCLUDE_DIRS}) -+include_directories(${GSTREAMER_CDDA_INCLUDE_DIRS}) -+include_directories(${GSTREAMER_TAG_INCLUDE_DIRS}) - include_directories(${GLIB_INCLUDE_DIRS}) - include_directories(${GLIBCONFIG_INCLUDE_DIRS}) - include_directories(${LIBXML_INCLUDE_DIRS}) diff --git a/pkgs/applications/audio/clementine/clementine-dbus-namespace.patch b/pkgs/applications/audio/clementine/clementine-dbus-namespace.patch deleted file mode 100644 index 2240debd0e4a..000000000000 --- a/pkgs/applications/audio/clementine/clementine-dbus-namespace.patch +++ /dev/null @@ -1,36 +0,0 @@ -From ec580cb815c16ec1ab43a469d5af7d51d8d03082 Mon Sep 17 00:00:00 2001 -From: Chocobozzz -Date: Wed, 16 Jul 2014 15:57:25 +0200 -Subject: [PATCH] No namespaces for DBus interfaces. Fixes #4401 - ---- - src/CMakeLists.txt | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 650fa74..775b0a5 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -892,11 +892,6 @@ optional_source(LINUX SOURCES widgets/osd_x11.cpp) - if(HAVE_DBUS) - file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/dbus) - -- # Hack to get it to generate interfaces without namespaces - required -- # because otherwise org::freedesktop::UDisks and -- # org::freedesktop::UDisks::Device conflict. -- list(APPEND QT_DBUSXML2CPP_EXECUTABLE -N) -- - # MPRIS DBUS interfaces - qt4_add_dbus_adaptor(SOURCES - dbus/org.freedesktop.MediaPlayer.player.xml -@@ -964,6 +959,10 @@ if(HAVE_DBUS) - - # DeviceKit DBUS interfaces - if(HAVE_DEVICEKIT) -+ set_source_files_properties(dbus/org.freedesktop.UDisks.xml -+ PROPERTIES NO_NAMESPACE dbus/udisks) -+ set_source_files_properties(dbus/org.freedesktop.UDisks.Device.xml -+ PROPERTIES NO_NAMESPACE dbus/udisksdevice) - qt4_add_dbus_interface(SOURCES - dbus/org.freedesktop.UDisks.xml - dbus/udisks) diff --git a/pkgs/applications/audio/clementine/clementine-spotify-blob-remove-from-build.patch b/pkgs/applications/audio/clementine/clementine-spotify-blob-remove-from-build.patch new file mode 100644 index 000000000000..226536a13ba7 --- /dev/null +++ b/pkgs/applications/audio/clementine/clementine-spotify-blob-remove-from-build.patch @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 23070d9..83b6772 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -275,8 +275,6 @@ optional_component(LIBPULSE ON "Pulse audio integration" + optional_component(VISUALISATIONS ON "Visualisations") + + if(NOT HAVE_SPOTIFY_BLOB AND NOT CRYPTOPP_FOUND) +- message(FATAL_ERROR "Either crypto++ must be available or the non-GPL Spotify " +- "code must be compiled in") + elseif(CRYPTOPP_FOUND) + set(HAVE_CRYPTOPP ON) + set(HAVE_SPOTIFY_DOWNLOADER ON) +@@ -434,7 +432,6 @@ if(HAVE_BREAKPAD) + endif(HAVE_BREAKPAD) + + if(HAVE_SPOTIFY_BLOB) +- add_subdirectory(ext/clementine-spotifyblob) + endif(HAVE_SPOTIFY_BLOB) + + if(HAVE_MOODBAR) diff --git a/pkgs/applications/audio/clementine/clementine-spotify-blob.patch b/pkgs/applications/audio/clementine/clementine-spotify-blob.patch index d41720c90215..344fc31d70dc 100644 --- a/pkgs/applications/audio/clementine/clementine-spotify-blob.patch +++ b/pkgs/applications/audio/clementine/clementine-spotify-blob.patch @@ -1,25 +1,13 @@ -From d9ebe7ec09a48b1ea505ccc33686b72642f083f4 Mon Sep 17 00:00:00 2001 -From: Thomas Tuegel -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) +diff --git a/src/internet/spotify/spotifyservice.cpp b/src/internet/spotify/spotifyservice.cpp +index 88c7383..6e0893c 100644 +--- a/src/internet/spotify/spotifyservice.cpp ++++ b/src/internet/spotify/spotifyservice.cpp +@@ -94,7 +94,7 @@ SpotifyService::SpotifyService(Application* app, InternetModel* parent) system_blob_path_ = QCoreApplication::applicationDirPath() + - "/../PlugIns/clementine-spotifyblob"; + "/../PlugIns/clementine-spotifyblob"; #else - system_blob_path_ = QCoreApplication::applicationDirPath() + + system_blob_path_ = qgetenv("CLEMENTINE_SPOTIFYBLOB") + - "/clementine-spotifyblob" CMAKE_EXECUTABLE_SUFFIX; + "/clementine-spotifyblob" CMAKE_EXECUTABLE_SUFFIX; #endif --- -2.3.6 - diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix index c6e587b88a37..5b0d285f82d9 100644 --- a/pkgs/applications/audio/clementine/default.nix +++ b/pkgs/applications/audio/clementine/default.nix @@ -1,7 +1,7 @@ -{ stdenv, fetchurl, boost, cmake, gettext, gstreamer, gst-plugins-base -, liblastfm, qt4, taglib, fftw, glew, qjson, sqlite, libgpod, libplist -, usbmuxd, libmtp, gvfs, libcdio, libspotify, protobuf, qca2, pkgconfig -, sparsehash, config, makeWrapper, runCommand, gst_plugins }: +{ stdenv, fetchurl, boost, cmake, chromaprint, gettext, gst_all_1, liblastfm +, qt4, taglib, fftw, glew, qjson, sqlite, libgpod, libplist, usbmuxd, libmtp +, libpulseaudio, gvfs, libcdio, libechonest, libspotify, pcre, protobuf +, qca2, pkgconfig, sparsehash, config, makeWrapper, runCommand, gst_plugins }: let withSpotify = config.clementine.spotify or false; @@ -10,31 +10,36 @@ let withCD = config.clementine.cd or true; withCloud = config.clementine.cloud or true; - version = "1.2.3"; + version = "1.3.1"; exeName = "clementine"; src = fetchurl { - url = https://github.com/clementine-player/Clementine/archive/1.2.3.tar.gz; - sha256 = "1gx1109i4pylz6x7gvp4rdzc6dvh0w6in6hfbygw01d08l26bxbx"; + url = https://github.com/clementine-player/Clementine/archive/1.3.1.tar.gz; + sha256 = "0z7k73wyz54c3020lb6x2dgw0vz4ri7wcl3vs03qdj5pk8d971gq"; }; patches = [ - ./clementine-1.2.1-include-paths.patch - ./clementine-dbus-namespace.patch ./clementine-spotify-blob.patch + # Required so as to avoid adding libspotify as a build dependency (as it is + # unfree and thus would prevent us from having a free package). + ./clementine-spotify-blob-remove-from-build.patch ]; buildInputs = [ boost cmake + chromaprint fftw gettext glew - gst-plugins-base - gstreamer + gst_all_1.gst-plugins-base + gst_all_1.gstreamer gvfs + libechonest liblastfm + libpulseaudio + pcre pkgconfig protobuf qca2 @@ -71,7 +76,12 @@ let blob = stdenv.mkDerivation { name = "clementine-blob-${version}"; # Use the same patches and sources as Clementine - inherit patches src; + inherit src; + + patches = [ + ./clementine-spotify-blob.patch + ]; + buildInputs = buildInputs ++ [ libspotify ]; # Only build and install the Spotify blob preBuild = '' @@ -119,7 +129,7 @@ runCommand "clementine-${version}" mkdir -p $out/bin makeWrapper "$free/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_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" mkdir -p $out/share for dir in applications icons kde4; do diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6dd9427c2ce0..708d5b0e155e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1334,7 +1334,8 @@ with pkgs; clementine = callPackage ../applications/audio/clementine { boost = boost155; - gst_plugins = [ gst-plugins-base gst-plugins-good gst-plugins-ugly gst-ffmpeg ]; + gst_plugins = + with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-ugly ]; }; clementineFree = clementine.free;