summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Sokolov <alexey+gentoo@asokolov.org>2023-10-06 18:56:47 +0100
committerYixun Lan <dlan@gentoo.org>2023-10-17 05:23:48 +0000
commita19cfd05bb1bc1ed9ed84342a95bca123b347eb9 (patch)
tree38b17a5894055616d48b318ad9d04e94207afa7b
parentgames-arcade/open-supaplex: drop 7.1.2 (diff)
downloadgentoo-a19cfd05bb1bc1ed9ed84342a95bca123b347eb9.tar.gz
gentoo-a19cfd05bb1bc1ed9ed84342a95bca123b347eb9.tar.bz2
gentoo-a19cfd05bb1bc1ed9ed84342a95bca123b347eb9.zip
media-sound/clementine: Fix build with new abseil and proto
Bug: https://bugs.gentoo.org/912853 Bug: https://bugs.gentoo.org/913738 Signed-off-by: Alexey Sokolov <alexey+gentoo@asokolov.org> Signed-off-by: Yixun Lan <dlan@gentoo.org>
-rw-r--r--media-sound/clementine/clementine-1.4.0_rc2-r4.ebuild168
-rw-r--r--media-sound/clementine/clementine-9999.ebuild6
-rw-r--r--media-sound/clementine/files/clementine-1.4.0_rc2-absl.patch15
-rw-r--r--media-sound/clementine/files/clementine-1.4.0_rc2-c17.patch67
4 files changed, 256 insertions, 0 deletions
diff --git a/media-sound/clementine/clementine-1.4.0_rc2-r4.ebuild b/media-sound/clementine/clementine-1.4.0_rc2-r4.ebuild
new file mode 100644
index 000000000000..0ba33dd8074d
--- /dev/null
+++ b/media-sound/clementine/clementine-1.4.0_rc2-r4.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Modern music player and library organizer based on Amarok 1.4 and Qt"
+HOMEPAGE="https://www.clementine-player.org https://github.com/clementine-player/Clementine"
+
+PLOCALES="af ar be bg bn br bs ca cs cy da de el en en_CA en_GB eo es et eu fa fi fr ga gl he he_IL hi hr hu hy ia id is it ja ka kk ko lt lv mk_MK mr ms my nb nl oc pa pl pt pt_BR ro ru si_LK sk sl sr sr@latin sv te tr tr_TR uk uz vi zh_CN zh_TW"
+
+inherit cmake flag-o-matic plocale virtualx xdg
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/clementine-player/Clementine.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/clementine-player/Clementine/archive/refs/tags/${PV/_}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/Clementine-${PV/_}"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="alsa box cdda +dbus debug dropbox googledrive ipod lastfm moodbar mtp projectm pulseaudio seafile skydrive test +udisks wiimote"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ udisks? ( dbus )
+ wiimote? ( dbus )
+"
+
+COMMON_DEPEND="
+ dev-cpp/abseil-cpp:=
+ dev-db/sqlite:3
+ dev-libs/glib:2
+ dev-libs/protobuf:=
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5[ssl]
+ dev-qt/qtsql:5[sqlite]
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ media-libs/chromaprint:=
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ >=media-libs/libmygpo-qt-1.0.9[qt5(+)]
+ >=media-libs/taglib-1.11.1_p20181028
+ sys-libs/zlib
+ x11-libs/libX11
+ alsa? ( media-libs/alsa-lib )
+ cdda? ( dev-libs/libcdio:= )
+ dbus? ( dev-qt/qtdbus:5 )
+ ipod? ( >=media-libs/libgpod-0.8.0 )
+ lastfm? ( >=media-libs/liblastfm-1.1.0_pre20150206 )
+ moodbar? ( sci-libs/fftw:3.0= )
+ mtp? ( >=media-libs/libmtp-1.0.0:= )
+ projectm? (
+ media-libs/glew:=
+ >=media-libs/libprojectm-3.1.12:0=
+ virtual/opengl
+ )
+ pulseaudio? ( media-libs/libpulse )
+"
+RDEPEND="${COMMON_DEPEND}
+ media-plugins/gst-plugins-meta:1.0
+ media-plugins/gst-plugins-soup:1.0
+ media-plugins/gst-plugins-taglib:1.0
+ mtp? ( gnome-base/gvfs[mtp] )
+ udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="${COMMON_DEPEND}
+ dev-libs/boost
+ dev-libs/libxml2
+ dev-qt/qtopengl:5
+ dev-qt/qtxml:5
+ virtual/glu
+ box? ( dev-cpp/sparsehash )
+ dropbox? ( dev-cpp/sparsehash )
+ googledrive? ( dev-cpp/sparsehash )
+ seafile? ( dev-cpp/sparsehash )
+ skydrive? ( dev-cpp/sparsehash )
+"
+BDEPEND="
+ >=dev-cpp/gtest-1.8.0
+ dev-qt/linguist-tools:5
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? (
+ dev-qt/qttest:5
+ gnome-base/gsettings-desktop-schemas
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/clementine-1.4.0_rc2-lz.patch"
+ "${FILESDIR}/clementine-1.4.0_rc2-c17.patch"
+ "${FILESDIR}/clementine-1.4.0_rc2-absl.patch"
+)
+
+DOCS=( Changelog README.md )
+
+src_prepare() {
+ plocale_find_changes "src/translations" "" ".po"
+
+ cmake_src_prepare
+ # some tests fail or hang
+ sed -i \
+ -e '/add_test_file(translations_test.cpp/d' \
+ tests/CMakeLists.txt || die
+
+ if ! use test; then
+ sed -e "/find_package.*Qt5/s:\ Test::" -i CMakeLists.txt || die
+ cmake_comment_add_subdirectory tests
+ fi
+
+ rm -r 3rdparty/{libmygpo-qt,libmygpo-qt5,taglib} || die
+}
+
+src_configure() {
+ # spotify is not in portage
+ local mycmakeargs=(
+ -DBUILD_WERROR=OFF
+ # avoid automagically enabling of ccache (bug #611010)
+ -DCCACHE_EXECUTABLE=OFF
+ -DENABLE_BREAKPAD=OFF #< disable crash reporting
+ -DENABLE_GIO=ON
+ -DENABLE_SPOTIFY=OFF
+ -DENABLE_SPOTIFY_BLOB=OFF
+ -DUSE_SYSTEM_GMOCK=ON
+ -DUSE_SYSTEM_PROJECTM=ON
+ -DBUNDLE_PROJECTM_PRESETS=OFF
+ -DLINGUAS="$(plocale_get_locales)"
+ -DENABLE_BOX="$(usex box)"
+ -DENABLE_AUDIOCD="$(usex cdda)"
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5DBus=$(usex !dbus)
+ -DENABLE_DROPBOX="$(usex dropbox)"
+ -DENABLE_GOOGLE_DRIVE="$(usex googledrive)"
+ -DENABLE_LIBGPOD="$(usex ipod)"
+ -DENABLE_LIBLASTFM="$(usex lastfm)"
+ -DENABLE_MOODBAR="$(usex moodbar)"
+ -DENABLE_LIBMTP="$(usex mtp)"
+ -DENABLE_VISUALISATIONS="$(usex projectm)"
+ -DENABLE_SEAFILE="$(usex seafile)"
+ -DENABLE_SKYDRIVE="$(usex skydrive)"
+ -DENABLE_LIBPULSE="$(usex pulseaudio)"
+ -DENABLE_UDISKS2="$(usex udisks)"
+ -DENABLE_WIIMOTEDEV="$(usex wiimote)"
+ "$(cmake_use_find_package alsa ALSA)"
+ )
+
+ use !debug && append-cppflags -DQT_NO_DEBUG_OUTPUT
+
+ cmake_src_configure
+}
+
+src_test() {
+ cd "${CMAKE_BUILD_DIR}" || die
+ virtx cmake_build clementine_test
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ elog "Note that list of supported formats is controlled by media-plugins/gst-plugins-meta "
+ elog "USE flags. You may be interested in setting aac, flac, mp3, ogg or wavpack USE flags "
+ elog "depending on your preferences"
+}
diff --git a/media-sound/clementine/clementine-9999.ebuild b/media-sound/clementine/clementine-9999.ebuild
index 9922ac005926..4e0ac13d9ad3 100644
--- a/media-sound/clementine/clementine-9999.ebuild
+++ b/media-sound/clementine/clementine-9999.ebuild
@@ -30,6 +30,7 @@ REQUIRED_USE="
"
COMMON_DEPEND="
+ dev-cpp/abseil-cpp:=
dev-db/sqlite:3
dev-libs/glib:2
dev-libs/protobuf:=
@@ -91,6 +92,11 @@ BDEPEND="
)
"
+PATCHES=(
+ "${FILESDIR}/clementine-1.4.0_rc2-c17.patch"
+ "${FILESDIR}/clementine-1.4.0_rc2-absl.patch"
+)
+
DOCS=( Changelog README.md )
src_prepare() {
diff --git a/media-sound/clementine/files/clementine-1.4.0_rc2-absl.patch b/media-sound/clementine/files/clementine-1.4.0_rc2-absl.patch
new file mode 100644
index 000000000000..48eb9dda4227
--- /dev/null
+++ b/media-sound/clementine/files/clementine-1.4.0_rc2-absl.patch
@@ -0,0 +1,15 @@
+Fix build
+
+https://bugs.gentoo.org/912853
+
+--- 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/media-sound/clementine/files/clementine-1.4.0_rc2-c17.patch b/media-sound/clementine/files/clementine-1.4.0_rc2-c17.patch
new file mode 100644
index 000000000000..3121b1e15bf0
--- /dev/null
+++ b/media-sound/clementine/files/clementine-1.4.0_rc2-c17.patch
@@ -0,0 +1,67 @@
+Fix build
+
+https://bugs.gentoo.org/912853
+
+--- 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)
+
+--- 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
+--- 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
+--- 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
+--- 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
+--- 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})
+