libmygpo-qt5
have been removed from Arch
Remove libmygpo-qt5
from your system and build the last version; clementine have a bundled copy of libmygpo-qt5 (don't seem possible to disable it [gpodder] )
Git Clone URL: | https://aur.archlinux.org/clementine-git.git (read-only, click to copy) |
---|---|
Package Base: | clementine-git |
Description: | A modern music player and library organizer |
Upstream URL: | https://github.com/clementine-player/Clementine |
Licenses: | GPL-3.0-or-later |
Conflicts: | clementine |
Provides: | clementine |
Submitter: | swiftscythe |
Maintainer: | FabioLolix |
Last Packager: | FabioLolix |
Votes: | 88 |
Popularity: | 0.040482 |
First Submitted: | 2011-07-19 22:38 (UTC) |
Last Updated: | 2025-07-12 12:53 (UTC) |
libmygpo-qt5
have been removed from Arch
Remove libmygpo-qt5
from your system and build the last version; clementine have a bundled copy of libmygpo-qt5 (don't seem possible to disable it [gpodder] )
-> Packages not in AUR: libmygpo-qt5
this day, pb with installation of clementine or clementine-git : -> Ningún paquete AUR para libmygpo-qt5 -> could not find all required packages: libmygpo-qt5
Initial revision done, now I'm heading to work,
@fbrennan please don't post big patches in AUR comments
Please apply this patch.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
- From f72e24e97d9424e3222a411c1f13518558e22d7f Mon Sep 17 00:00:00 2001
From: Fredrick Brennan <copypaste@kittens.ph>
Date: Mon, 30 Oct 2023 16:14:25 -0400
Subject: [PATCH] =?UTF-8?q?Fix=20build=20w/new=20protobuf,=20cf=20issue=20?=
=?UTF-8?q?=E2=84=967272=20(GitHub)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Co-Authored-By: TheGag96
Co-Authored-By: DarthGandalf
- ---
.SRCINFO | 8 +++--
001-force-c++17.patch | 74 +++++++++++++++++++++++++++++++++++++++++
002-fix-tagreader.patch | 13 ++++++++
PKGBUILD | 35 +++++++++++++++----
4 files changed, 122 insertions(+), 8 deletions(-)
create mode 100644 001-force-c++17.patch
create mode 100644 002-fix-tagreader.patch
diff --git a/.SRCINFO b/.SRCINFO
index a9c4147..67fcb6c 100644
- --- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = clementine-git
pkgdesc = A modern music player and library organizer
- - pkgver = 1.4.0rc1.r886.g6ff576863.0.g6ff576863
+ pkgver = 1.4.0rc1.r901.g7b678f26e.4.gf3ddd7eee
pkgrel = 1
url = http://www.clementine-player.org/
arch = x86_64
@@ -24,6 +24,10 @@ pkgbase = clementine-git
provides = clementine
conflicts = clementine
source = git+https://github.com/clementine-player/Clementine.git
- - sha256sums = SKIP
+ source = ./001-force-c++17.patch
+ source = ./002-fix-tagreader.patch
+ b2sums = SKIP
+ b2sums = 08fc45df7906892a3eea363f1496afb039c4f43097adcfba801fda02eb2ec209af704443acb584563bcd54d271f722d1c220ef8859d5e467cf18b9d96a160092
+ b2sums = f68a279c2fe940b0b406ffb236ea0186fce438b50acc114412d8f818a65afc8187003f3d043044612af2540dfacab7cc3eab9bee4edc00c2591195b49969c46f
pkgname = clementine-git
diff --git a/001-force-c++17.patch b/001-force-c++17.patch
new file mode 100644
index 0000000..648c625
- --- /dev/null
+++ b/001-force-c++17.patch
@@ -0,0 +1,74 @@
+index ce5834448..5d6aa4eff 100644
+--- a/3rdparty/libprojectm/CMakeLists.txt
++++ b/3rdparty/libprojectm/CMakeLists.txt
+@@ -24,7 +24,7 @@ set(BUILD_PROJECTM_STATIC ON)
+ set(DISABLE_NATIVE_PRESETS ON)
+ set(DISABLE_MILKDROP_PRESETS OFF)
+
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+
+ pkg_check_modules(GLEW glew)
+
+diff --git a/3rdparty/qtsingleapplication/CMakeLists.txt b/3rdparty/qtsingleapplication/CMakeLists.txt
+index 7825ab9e1..f7029b87e 100644
+--- a/3rdparty/qtsingleapplication/CMakeLists.txt
++++ b/3rdparty/qtsingleapplication/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ cmake_minimum_required(VERSION 3.0.0)
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++0x")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++17")
+
+ set(SINGLEAPP-SOURCES
+ qtlocalpeer.cpp
+diff --git a/ext/libclementine-common/CMakeLists.txt b/ext/libclementine-common/CMakeLists.txt
+index ad35a515c..eccdba20b 100644
+--- a/ext/libclementine-common/CMakeLists.txt
++++ b/ext/libclementine-common/CMakeLists.txt
+@@ -2,7 +2,7 @@ include_directories(${PROTOBUF_INCLUDE_DIRS})
+ include_directories(${CMAKE_CURRENT_BINARY_DIR})
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++0x")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++17")
+
+ set(SOURCES
+ core/closure.cpp
+diff --git a/ext/libclementine-remote/CMakeLists.txt b/ext/libclementine-remote/CMakeLists.txt
+index 70761b493..115d1f40b 100644
+--- a/ext/libclementine-remote/CMakeLists.txt
++++ b/ext/libclementine-remote/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ include_directories(${PROTOBUF_INCLUDE_DIRS})
+
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++0x")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++17")
+
+ set(MESSAGES
+ remotecontrolmessages.proto
+diff --git a/ext/libclementine-tagreader/CMakeLists.txt b/ext/libclementine-tagreader/CMakeLists.txt
+index d7ae9f684..8a0a944c5 100644
+--- a/ext/libclementine-tagreader/CMakeLists.txt
++++ b/ext/libclementine-tagreader/CMakeLists.txt
+@@ -3,7 +3,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+ include_directories(${CMAKE_CURRENT_BINARY_DIR})
+ include_directories(${CMAKE_SOURCE_DIR}/ext/libclementine-common)
+
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++0x")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++17")
+
+ set(MESSAGES
+ tagreadermessages.proto
+diff --git a/gst/moodbar/CMakeLists.txt b/gst/moodbar/CMakeLists.txt
+index 636ef9fe3..34a63b106 100644
+--- a/gst/moodbar/CMakeLists.txt
++++ b/gst/moodbar/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ cmake_minimum_required(VERSION 3.0.0)
+
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Woverloaded-virtual -Wall --std=c++0x")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Woverloaded-virtual -Wall --std=c++17")
+
+ include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+
diff --git a/002-fix-tagreader.patch b/002-fix-tagreader.patch
new file mode 100644
index 0000000..b8b62aa
- --- /dev/null
+++ b/002-fix-tagreader.patch
@@ -0,0 +1,13 @@
+diff --git a/ext/libclementine-tagreader/CMakeLists.txt b/ext/libclementine-tagreader/CMakeLists.txt
+index 8a0a944..c6105bf 100644
+--- a/ext/libclementine-tagreader/CMakeLists.txt
++++ b/ext/libclementine-tagreader/CMakeLists.txt
+@@ -37,7 +37,7 @@ add_library(libclementine-tagreader STATIC
+ )
+
+ target_link_libraries(libclementine-tagreader
+- ${PROTOBUF_LIBRARY}
+ libclementine-common
++ ${PROTOBUF_LIBRARY} absl_log_internal_check_op absl_log_internal_message
+ )
+
diff --git a/PKGBUILD b/PKGBUILD
index b251932..f7f27d4 100644
- --- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,11 +5,14 @@
# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: BlackEagle <ike.devolder@gmail.com>
# Contributor: Dany Martineau <dany.luc.martineau@gmail.com>
+# Contributor: Fredrick R. Brennan <copypaste@kittens.ph>
+# Contributor: DarthGandalf
+# Contributor: TheGag96
# Based on community/clementine PKGBUILD
pkgname=clementine-git
- -pkgver=1.4.0rc1.r886.g6ff576863.0.g6ff576863
+pkgver=1.4.0rc1.r901.g7b678f26e.4.gf3ddd7eee
pkgrel=1
pkgdesc='A modern music player and library organizer'
url='http://www.clementine-player.org/'
@@ -27,18 +30,38 @@ optdepends=('fftw: moodbar support'
conflicts=(clementine)
provides=(clementine)
_name=Clementine
- -source=("git+https://github.com/clementine-player/$_name.git")
- -sha256sums=('SKIP')
+source=("git+https://github.com/clementine-player/$_name.git"
+ "./001-force-c++17.patch"
+ "./002-fix-tagreader.patch")
+b2sums=('SKIP'
+ '08fc45df7906892a3eea363f1496afb039c4f43097adcfba801fda02eb2ec209af704443acb584563bcd54d271f722d1c220ef8859d5e467cf18b9d96a160092'
+ 'f68a279c2fe940b0b406ffb236ea0186fce438b50acc114412d8f818a65afc8187003f3d043044612af2540dfacab7cc3eab9bee4edc00c2591195b49969c46f')
pkgver() {
cd $_name
git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
}
- -build() {
+prepare() {
+ export LDFLAGS="-Wl,--copy-dt-needed-entries"
+ export CXXFLAGS="${CXXFLAGS} -std=c++17 -Wno-all -fpermissive"
+ export CFLAGS="${CFLAGS} -Wno-all"
+
+ cd $_name
+ patch -Np1 -i ../001-force-c++17.patch
+ patch -Np1 -i ../002-fix-tagreader.patch
+ cd ..
+
cmake -B build -S $_name \
- - -DCMAKE_INSTALL_PREFIX=/usr
- - cmake --build build
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS="${CFLAGS}" \
+ -DCMAKE_CXX_FLAGS="${CXXFLAGS}"
+}
+
+build() {
+ cd build
+ cmake --build .
}
package() {
- --
2.42.0
-----BEGIN PGP SIGNATURE-----
iHUEARYIAB0WIQS1rLeeEfG/f0nzK7hYUwVpYvFOWAUCZUAPqgAKCRBYUwVpYvFO
WEaEAQCblEFdle5ot5K7+VRfrbYyCORx7WNzqMtbxcMdBzdi6gEA9uAyjC6c8q4Y
FPvnQe8lKjDhtGD3P0qJA1mL22B5DQs=
=QY1y
-----END PGP SIGNATURE-----
Unfortunately, strawberry does not support digitally imported radios (from what I could find).
Replacing these parts (copied from clementine aur package) fixed the build for me:
prepare() {
sed -e 's|CRYPTOPP cryptopp|CRYPTOPP libcryptopp|' -i Clementine/CMakeLists.txt # Fix crypto++ detection
}
build() {
export LDFLAGS="-Wl,--copy-dt-needed-entries"
cmake -B build -S $_name \
-DCMAKE_CXX_FLAGS="-fpermissive" \
-DCMAKE_CXX_STANDARD=17 \
-Wno-dev \
-DCMAKE_INSTALL_PREFIX=/usr \
-DUSE_SYSTEM_PROJECTM=ON \
-DUSE_SYSTEM_TAGLIB=ON
cmake --build build
}
In case you are not aware, Clementine is quite inactive nowadays, with the latest release dating from 2016. Its fork Strawberry is more active.
build error clementine actually builds
I get build error
/usr/include/absl/hash/internal/hash.h:1241:73: required from ‘static H absl::lts_20230125::hash_internal::HashStateBase<H>::combine(H, const T&, const Ts& ...) [with T = absl::lts_20230125::Cord; Ts = {}; H = absl::lts_20230125::hash_internal::MixingHashState]’
/usr/include/absl/hash/internal/hash.h:978:39: required from ‘static size_t absl::lts_20230125::hash_internal::MixingHashState::hash(const T&) [with T = absl::lts_20230125::Cord; typename std::enable_if<(! absl::lts_20230125::conjunction<std::is_integral<_Tp>, absl::lts_20230125::hash_internal::is_uniquely_represented<T, void> >::value), int>::type <anonymous> = 0; size_t = long unsigned int]’
/usr/include/absl/hash/internal/hash.h:1230:33: required from ‘size_t absl::lts_20230125::hash_internal::HashImpl<T>::operator()(const T&) const [with T = absl::lts_20230125::Cord; size_t = long unsigned int]’
/usr/include/absl/container/internal/hash_function_defaults.h:77:36: required from here
/usr/include/absl/strings/cord.h:999:18: error: cannot convert ‘absl::lts_20230125::Cord::HashFragmented<absl::lts_20230125::hash_internal::MixingHashState>(absl::lts_20230125::hash_internal::MixingHashState) const::<lambda(int)>’ to ‘int’
999 | ForEachChunk([&combiner, &hash_state](absl::string_view chunk) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| absl::lts_20230125::Cord::HashFragmented<absl::lts_20230125::hash_internal::MixingHashState>(absl::lts_20230125::hash_internal::MixingHashState) const::<lambda(int)>
1000 | hash_state = combiner.add_buffer(std::move(hash_state), chunk.data(),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1001 | chunk.size());
| ~~~~~~~~~~~~~~
1002 | });
| ~
/usr/include/absl/strings/cord.h:1564:48: note: initializing argument 1 of ‘void absl::lts_20230125::Cord::ForEachChunk(int) const’
1564 | absl::FunctionRef<void(absl::string_view)> callback) const {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
make[2]: *** [ext/libclementine-tagreader/CMakeFiles/libclementine-tagreader.dir/build.make:130: ext/libclementine-tagreader/CMakeFiles/libclementine-tagreader.dir/gmereader.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1616: ext/libclementine-tagreader/CMakeFiles/libclementine-tagreader.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
To be built in they need to be present at build time and once they are build they are mandatory
This is the result of a dirty build and later removing clean packages:
$ clementine
clementine: error while loading shared libraries: liblastfm5.so.1: cannot open shared object file: No such file or directory
$ clementine
clementine: error while loading shared libraries: libgpod.so.4: cannot open shared object file: No such file or directory
In that example the functionality where enabled at build time and the main function of the program worked (btw in the meantime it is in depends in jasper, no longer needed/used in libwebp, no longer needed/used in lm_sensors and correctly indetified as optdepends in libtiff 'for using tiffgt')
so one expect that installing an optdepends the functionality works; that is not the case here and the pkgbuild is prone to automagic depends
https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Automagic_dependencies
The real optdepends here are other gst-plugins packages (which are not listed as optdepends)
Pinned Comments
FabioLolix commented on 2025-07-12 13:09 (UTC)
libmygpo-qt5
have been removed from ArchRemove
libmygpo-qt5
from your system and build the last version; clementine have a bundled copy of libmygpo-qt5 (don't seem possible to disable it [gpodder] )