summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/clementine/PKGBUILD56
-rw-r--r--libre/clementine/remove-nonfree-artwork-and-spotify.patch93
2 files changed, 77 insertions, 72 deletions
diff --git a/libre/clementine/PKGBUILD b/libre/clementine/PKGBUILD
index dffb5bc70..e720efa71 100644
--- a/libre/clementine/PKGBUILD
+++ b/libre/clementine/PKGBUILD
@@ -1,22 +1,21 @@
-# Maintainer (Arch): Maxime Gauduin <alucryd@archlinux.org>
-# Contributor (Arch): Stéphane Gaudreault <stephane@archlinux.org>
-# Contributor (Arch): BlackEagle <ike.devolder@gmail.com>
-# Contributor (Arch): Dany Martineau <dany.luc.martineau@gmail.com>
-# Maintainer (Hyperbola): André Silva <emulatorman@hyperbola.info>
-# Contributor (Hyperbola): Márcio Silva <coadde@hyperbola.info>
+# Maintainer (arch): Maxime Gauduin <alucryd@archlinux.org>
+# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
+# Contributor: BlackEagle <ike.devolder@gmail.com>
+# Contributor: Dany Martineau <dany.luc.martineau@gmail.com>
+# Contributor: André Silva <emulatorman@hyperbola.info>
+# Contributor: Márcio Silva <coadde@hyperbola.info>
# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
# Contributor: Kete <kete@ninthfloor.org>
-# rationale for inclusion in libre:
+
+# parabola changes and rationale:
# - replaced nonfree nyancat artwork with moognu
# - removed spotify support
-#
-# additional changes:
-# - build from release tarball instead of VCS
+
pkgname=clementine
-pkgver=1.4.0rc1
-pkgrel=1
+pkgver=1.4.0rc1+495+g10bf5dc17
+pkgrel=2
pkgrel+=.parabola1
pkgdesc='A modern music player and library organizer'
pkgdesc+=', without nonfree artwork and Spotify support'
@@ -24,7 +23,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 +34,20 @@ optdepends=(
'gst-libav: Libav plugin'
'gvfs: Various devices support'
)
-source=("https://github.com/clementine-player/Clementine/releases/download/$pkgver/$pkgname-$pkgver.tar.xz"
- remove-nonfree-artwork-and-spotify.patch
- moognu.png)
+source=("https://github.com/clementine-player/Clementine/releases/download/${pkgver//+/-}/$pkgname-${pkgver//+/-}.tar.xz")
+source+=(remove-nonfree-artwork-and-spotify.patch
+ moognu.png)
-sha256sums=('96ba2f5f3ece47b2c1065e980dcc37ada93ea42cf37b794ee804514ce4a65459'
- '75536b5290ebcd6126d9e8796c3f15a0b0d5339257060ebab511dfe665d64e32'
- 'c6918617769152f3617c61f721819e69d03f671b85760b11cfe45abd53955bc4')
+sha256sums=('b61c7051b6282af3a5717a4d9e755e1b53e08a04339c6eb4b6df77521606cc03')
+sha256sums+=('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
@@ -71,18 +73,18 @@ prepare() {
# https://labs.parabola.nu/issues/329
install -m644 -v ../moognu.png data
- # create a blank file because it's a dependency for Clementine
+ # create an empty file because it's a dependency for Clementine
touch data/schema/schema-30.sql
}
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);