Package Details: clementine-git 1.4.0rc1.r901.g7b678f26e.14.gc93b4e114-2

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: http://www.clementine-player.org/
Licenses: GPL
Conflicts: clementine
Provides: clementine
Submitter: swiftscythe
Maintainer: FabioLolix
Last Packager: FabioLolix
Votes: 88
Popularity: 0.000906
First Submitted: 2011-07-19 22:38 (UTC)
Last Updated: 2024-03-02 18:48 (UTC)

Latest Comments

1 2 3 4 5 6 .. 18 Next › Last »

FabioLolix commented on 2023-10-31 06:38 (UTC)

Initial revision done, now I'm heading to work,

@fbrennan please don't post big patches in AUR comments

fbrennan commented on 2023-10-30 20:20 (UTC)

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-----

srijan commented on 2023-09-29 06:59 (UTC)

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
}

spider-mario commented on 2023-08-22 18:34 (UTC)

In case you are not aware, Clementine is quite inactive nowadays, with the latest release dating from 2016. Its fork Strawberry is more active.

ju_n commented on 2023-08-22 12:40 (UTC) (edited on 2023-08-22 12:41 (UTC) by ju_n)

build error clementine actually builds

maderios commented on 2023-07-23 16:02 (UTC)

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

FabioLolix commented on 2023-07-16 22:41 (UTC)

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)

zan commented on 2023-07-16 21:55 (UTC)

They are optdepends because the package builds without them. optdepends should be assumed required for runtime functionality once built in, see https://lists.archlinux.org/archives/list/arch-general@lists.archlinux.org/message/ZFBCD2NFFBSOZBI22AYZYHH2PDRCLJWF/

FabioLolix commented on 2023-07-16 20:51 (UTC)

https://aur.archlinux.org/cgit/aur.git/commit/?h=clementine-git&id=9d0fd8f21c7cb58a1c20221a2bfc9bd4854d2342 still wrong, they don't need to be in optdepends but in depends, all except qt5-tools which only needed at build time

FabioLolix commented on 2023-07-13 08:56 (UTC)

Depends and makedepends selection for this pkgbuild are sub-optimal since this commit https://aur.archlinux.org/cgit/aur.git/commit/?h=clementine-git&id=43dc9e14b2719575b0d05edc351d4680d1b163f1

Translations are missing because qt5-tools is missing from makedepends

fftw is missing, libcdio and the other optdepends need to be present at build time to enable the feature, could be used system's version of taglib and projectm

FFTW3 lib not found. Set FFTW3_DIR to find it.
[...]
-- Checking for module 'libcdio'
--   Package 'libcdio', required by 'virtual:world', not found
[...]
-- Checking for module 'libgpod-1.0>=0.7.92'
--   Package 'libgpod-1.0', required by 'virtual:world', not found
-- Checking for module 'libmtp>=1.0'
--   Package 'libmtp', required by 'virtual:world', not found
-- Checking for module 'libmygpo-qt5>=1.0.9'
[...]
-- Checking for module 'taglib'
--   Package 'taglib', required by 'virtual:world', not found
[...]
The following components WILL NOT be built:
   Box support (missing Google sparsehash)
   Crash reporting (disabled in CMake config)
   Devices: Audio CD support (missing libcdio)
   Devices: MTP support (missing libmtp)
   Devices: iPod classic support (missing libgpod)
   Dropbox support (missing Google sparsehash)
   Google Drive support (missing Google sparsehash)
   Last.fm support (missing liblastfm)
   Moodbar support (missing fftw3)
   Seafile support (missing Google sparsehash)
   Skydrive support (missing Google sparsehash)
   Sparkle integration (missing macOS, Sparkle)
   Translations (missing Qt5LinguistTools)