diff options
-rw-r--r-- | libre/clementine/PKGBUILD | 27 | ||||
-rw-r--r-- | libre/clementine/remove-nonfree-artwork-and-spotify.patch | 93 |
2 files changed, 63 insertions, 57 deletions
diff --git a/libre/clementine/PKGBUILD b/libre/clementine/PKGBUILD index dffb5bc70..ee3f958a5 100644 --- a/libre/clementine/PKGBUILD +++ b/libre/clementine/PKGBUILD @@ -15,7 +15,7 @@ # - build from release tarball instead of VCS pkgname=clementine -pkgver=1.4.0rc1 +pkgver=1.4.0rc1+495+g10bf5dc17 pkgrel=1 pkgrel+=.parabola1 pkgdesc='A modern music player and library organizer' @@ -24,7 +24,8 @@ url=https://www.clementine-player.org/ license=(GPL) arch=(x86_64) arch+=(i686 armv7h) -depends=(chromaprint crypto++ glew gst-plugins-base-libs libcdio libgpod liblastfm-qt5 libmtp libmygpo-qt5 protobuf qt5-x11extras) +depends=(chromaprint gst-plugins-base-libs libcdio libgpod liblastfm-qt5 libmtp libmygpo-qt5 + taglib protobuf qt5-x11extras projectm alsa-lib libpulse crypto++ hicolor-icon-theme) makedepends=(boost cmake qt5-tools sparsehash) optdepends=( 'gst-plugins-base: "Base" plugin libraries' @@ -34,18 +35,20 @@ optdepends=( 'gst-libav: Libav plugin' 'gvfs: Various devices support' ) -source=("https://github.com/clementine-player/Clementine/releases/download/$pkgver/$pkgname-$pkgver.tar.xz" +source=("https://github.com/clementine-player/Clementine/releases/download/${pkgver//+/-}/$pkgname-${pkgver//+/-}.tar.xz" remove-nonfree-artwork-and-spotify.patch moognu.png) -sha256sums=('96ba2f5f3ece47b2c1065e980dcc37ada93ea42cf37b794ee804514ce4a65459' - '75536b5290ebcd6126d9e8796c3f15a0b0d5339257060ebab511dfe665d64e32' +sha256sums=('b61c7051b6282af3a5717a4d9e755e1b53e08a04339c6eb4b6df77521606cc03' + 'd9b19730e792e15d026cc4b89019be032c4c4843aace421df418b8111fc5e79f' 'c6918617769152f3617c61f721819e69d03f671b85760b11cfe45abd53955bc4') prepare() { + sed -e 's|CRYPTOPP cryptopp|CRYPTOPP libcryptopp|' -i $pkgname-${pkgver//+/-}/CMakeLists.txt # Fix crypto++ detection + mkdir -p build - cd "$pkgname-$pkgver" + cd "$pkgname-${pkgver//+/-}" # remove nonfree artwork for the Nyan Cat plugin # https://labs.parabola.nu/issues/329 @@ -76,13 +79,13 @@ prepare() { } build() { - cd build - - cmake ../$pkgname-$pkgver \ - -DCMAKE_INSTALL_PREFIX=/usr - make + cmake -B build -S $pkgname-${pkgver//+/-} \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DUSE_SYSTEM_PROJECTM=ON \ + -DUSE_SYSTEM_TAGLIB=ON + cmake --build build } package() { - make DESTDIR="$pkgdir" -C build install + DESTDIR="$pkgdir" cmake --install build } diff --git a/libre/clementine/remove-nonfree-artwork-and-spotify.patch b/libre/clementine/remove-nonfree-artwork-and-spotify.patch index 51efefd6d..afccfe680 100644 --- a/libre/clementine/remove-nonfree-artwork-and-spotify.patch +++ b/libre/clementine/remove-nonfree-artwork-and-spotify.patch @@ -106,10 +106,10 @@ index f7fff7c07..36b0c0927 100644 <file>currenttrack_bar_left.png</file> <file>currenttrack_bar_mid.png</file> <file>currenttrack_bar_right.png</file> -@@ -283,7 +282,7 @@ +@@ -284,7 +284,7 @@ + <file>mainwindow.css</file> <file>nocover.png</file> <file>nomusic.png</file> - <file>now_playing_tooltip.txt</file> - <file>nyancat.png</file> + <file>moognu.png</file> <file>oauthsuccess.html</file> @@ -161,22 +161,22 @@ index 5a682c5af..348ed6640 100755 SignPath(app_bundle, developer_id, deep=False) diff --git a/dist/macdeploy.py b/dist/macdeploy.py -index 08fa5ca7e..a9cf2b923 100755 +index c60ad07..b4aa8e5 100755 --- a/dist/macdeploy.py +++ b/dist/macdeploy.py -@@ -472,10 +472,7 @@ def main(): - FixPlugin(FindGioModule('libgiolibproxy.so'), 'gio-modules') +@@ -482,10 +482,7 @@ def main(): + FixPlugin(FindGioModule('libgiognutls.so'), 'gio-modules') try: - FixPlugin('clementine-spotifyblob', '.') FixPlugin('clementine-tagreader', '.') - except: -- print 'Failed to find blob: %s' % traceback.format_exc() +- print('Failed to find blob: %s' % traceback.format_exc()) for plugin in QT_PLUGINS: FixPlugin(FindQtPlugin(plugin), os.path.dirname(plugin)) diff --git a/dist/windows/clementine.nsi.in b/dist/windows/clementine.nsi.in -index d46eb43dd..56448c3de 100644 +index 90c5dfb..0969e4c 100644 --- a/dist/windows/clementine.nsi.in +++ b/dist/windows/clementine.nsi.in @@ -187,9 +187,6 @@ Section "Delete old files" oldfiles @@ -189,40 +189,40 @@ index d46eb43dd..56448c3de 100644 ; 1.0 Delete "$INSTDIR\libofa.dll" Delete "$INSTDIR\gstreamer-plugins\libgstofa.dll" -@@ -268,7 +265,6 @@ Section "Clementine" Clementine +@@ -302,7 +299,6 @@ Section "Clementine" Clementine File "clementine.exe" File "clementine-tagreader.exe" - File "clementine-spotifyblob.exe" File "clementine.ico" File "glew32.dll" - File "libcdio-16.dll" -@@ -324,7 +320,6 @@ Section "Clementine" Clementine - File "libqjson.dll" + File "libcdio-19.dll" +@@ -355,7 +351,6 @@ Section "Clementine" Clementine + File "libpsl-5.dll" File "libsoup-2.4-1.dll" File "libspeex-1.dll" - File "libspotify.dll" + File "libssl-1_1.dll" File "libsqlite3-0.dll" File "libstdc++-6.dll" - File "libtag.dll" -@@ -1083,7 +1078,6 @@ Section "Uninstall" - Delete "$INSTDIR\clementine.ico" +@@ -1137,7 +1132,6 @@ Section "Uninstall" + ; Delete all the files Delete "$INSTDIR\clementine.exe" Delete "$INSTDIR\clementine-tagreader.exe" - Delete "$INSTDIR\clementine-spotifyblob.exe" + Delete "$INSTDIR\clementine.ico" Delete "$INSTDIR\glew32.dll" - Delete "$INSTDIR\libcdio-16.dll" - Delete "$INSTDIR\libchromaprint.dll" -@@ -1139,7 +1133,6 @@ Section "Uninstall" - Delete "$INSTDIR\libqjson.dll" - Delete "$INSTDIR\libsoup-2-4-1.dll" + Delete "$INSTDIR\libcdio-19.dll" +@@ -1190,7 +1184,6 @@ Section "Uninstall" + Delete "$INSTDIR\libpsl-5.dll" + Delete "$INSTDIR\libsoup-2.4-1.dll" Delete "$INSTDIR\libspeex-1.dll" - Delete "$INSTDIR\libspotify.dll" + Delete "$INSTDIR\libssl-1_1.dll" + Delete "$INSTDIR\libsqlite3-0.dll" Delete "$INSTDIR\libstdc++-6.dll" - Delete "$INSTDIR\libtag.dll" - Delete "$INSTDIR\libtasn1-6.dll" diff --git a/ext/libclementine-common/core/logging.cpp b/ext/libclementine-common/core/logging.cpp -index 9aa131935..0ec43d709 100644 +index 8012c0c..872f19c 100644 --- a/ext/libclementine-common/core/logging.cpp +++ b/ext/libclementine-common/core/logging.cpp @@ -14,10 +14,6 @@ @@ -233,9 +233,9 @@ index 9aa131935..0ec43d709 100644 -// it is used by the Spotify blob which links against libspotify and is not GPL -// compatible. - - #include <QtGlobal> - #include <cxxabi.h> + + #include <QtGlobal> diff --git a/ext/libclementine-common/core/logging.h b/ext/libclementine-common/core/logging.h index 0433da5aa..8f6efe561 100644 --- a/ext/libclementine-common/core/logging.h @@ -506,7 +506,7 @@ diff --git a/src/covers/albumcoverloader.cpp b/src/covers/albumcoverloader.cpp index a04cd923a..c982fd8f4 100644 --- a/src/covers/albumcoverloader.cpp +++ b/src/covers/albumcoverloader.cpp -@@ -34,16 +34,12 @@ +@@ -34,18 +34,12 @@ #include "core/tagreaderclient.h" #include "core/utilities.h" #include "internet/core/internetmodel.h" @@ -519,7 +519,9 @@ index a04cd923a..c982fd8f4 100644 stop_requested_(false), next_id_(1), - network_(new NetworkAccessManager(this)), -- connected_spotify_(false) {} +- connected_spotify_(false) { +- setObjectName("Album cover loader"); +-} + network_(new NetworkAccessManager(this)) {} QString AlbumCoverLoader::ImageCacheDir() { @@ -602,21 +604,21 @@ index c5fae6b4c..ff68c6cf1 100644 }; diff --git a/src/engines/gstenginepipeline.cpp b/src/engines/gstenginepipeline.cpp -index f6094c41f..c838ab6dc 100644 +index 56cabd1..807d4a9 100644 --- a/src/engines/gstenginepipeline.cpp +++ b/src/engines/gstenginepipeline.cpp -@@ -35,10 +35,6 @@ - #include "core/signalchecker.h" - #include "core/utilities.h" +@@ -36,10 +36,6 @@ + #include "devices/cddadevice.h" + #endif #include "internet/core/internetmodel.h" -#ifdef HAVE_SPOTIFY --# include "internet/spotify/spotifyserver.h" --# include "internet/spotify/spotifyservice.h" +-#include "internet/spotify/spotifyserver.h" +-#include "internet/spotify/spotifyservice.h" -#endif const int GstEnginePipeline::kGstStateTimeoutNanosecs = 10000000; const int GstEnginePipeline::kFaderFudgeMsec = 2000; -@@ -159,45 +155,6 @@ bool GstEnginePipeline::ReplaceDecodeBin +@@ -168,45 +164,6 @@ QByteArray GstEnginePipeline::GstUriFromUrl(const QUrl& url) { GstElement* GstEnginePipeline::CreateDecodeBinFromUrl(const QUrl& url) { GstElement* new_bin = nullptr; @@ -659,10 +661,10 @@ index f6094c41f..c838ab6dc 100644 - Q_ARG(QString, url.toString()), Q_ARG(quint16, port)); - } else { -#endif - QByteArray uri; - if (url.scheme() == "cdda") { - QString str = url.toString(); -@@ -214,9 +171,6 @@ GstElement* GstEnginePipeline::CreateDec + QByteArray uri = GstUriFromUrl(url); + new_bin = engine_->CreateElement("uridecodebin"); + if (!new_bin) return nullptr; +@@ -216,9 +173,6 @@ GstElement* GstEnginePipeline::CreateDecodeBinFromUrl(const QUrl& url) { CHECKED_GCONNECT(G_OBJECT(new_bin), "pad-added", &NewPadCallback, this); CHECKED_GCONNECT(G_OBJECT(new_bin), "notify::source", &SourceSetupCallback, this); @@ -672,7 +674,7 @@ index f6094c41f..c838ab6dc 100644 return new_bin; } -@@ -980,14 +934,7 @@ void GstEnginePipeline::SourceDrainedCal +@@ -1064,14 +1018,7 @@ void GstEnginePipeline::SourceDrainedCallback(GstURIDecodeBin* bin, gpointer self) { GstEnginePipeline* instance = reinterpret_cast<GstEnginePipeline*>(self); @@ -682,18 +684,18 @@ index f6094c41f..c838ab6dc 100644 - // not start or with some offset. So just do nothing here: when the song - // finished, EndOfStreamReached/TrackEnded will be emitted anyway so - // NextItem will be called. -- !(instance->url_.scheme() != "spotify" && -- instance->next_url_.scheme() == "spotify")) { +- !(instance->current_.url_.scheme() != "spotify" && +- instance->next_.url_.scheme() == "spotify")) { + if (instance->has_next_valid_url()) { instance->TransitionToNext(); } } -@@ -1083,26 +1030,6 @@ GstState GstEnginePipeline::state() cons +@@ -1189,26 +1136,6 @@ GstState GstEnginePipeline::state() const { } QFuture<GstStateChangeReturn> GstEnginePipeline::SetState(GstState state) { -#ifdef HAVE_SPOTIFY -- if (url_.scheme() == "spotify" && !buffering_) { +- if (current_.url_.scheme() == "spotify" && !buffering_) { - const GstState current_state = this->state(); - - if (state == GST_STATE_PAUSED && current_state == GST_STATE_PLAYING) { @@ -781,14 +783,15 @@ index daf896e73..d74b74a56 100644 } else if (url.host() == "api.jamendo.com") { icon = IconLoader::Load("jamendo", IconLoader::Provider); diff --git a/src/songinfo/artistinfoview.cpp b/src/songinfo/artistinfoview.cpp -index af1f5d0c4..eda16d44b 100644 +index 8a1f775..eda16d4 100644 --- a/src/songinfo/artistinfoview.cpp +++ b/src/songinfo/artistinfoview.cpp -@@ -21,11 +21,9 @@ +@@ -20,12 +20,10 @@ + #include "songinfo/artistbiography.h" #include "songinfo/songinfofetcher.h" #include "songinfo/songkickconcerts.h" - #include "widgets/prettyimageview.h" -#include "songinfo/spotifyimages.h" + #include "widgets/prettyimageview.h" ArtistInfoView::ArtistInfoView(QWidget* parent) : SongInfoBase(parent) { fetcher_->AddProvider(new SongkickConcerts); |