media-sound/clementine: 1.3.1_p20180314 snapshot bump
authorAndreas Sturmlechner <asturm@gentoo.org>
Fri, 16 Mar 2018 23:18:17 +0000 (00:18 +0100)
committerAndreas Sturmlechner <asturm@gentoo.org>
Sat, 17 Mar 2018 00:26:26 +0000 (01:26 +0100)
Package-Manager: Portage-2.3.24, Repoman-2.3.6

media-sound/clementine/Manifest
media-sound/clementine/clementine-1.3.1_p20180314.ebuild [new file with mode: 0644]
media-sound/clementine/files/clementine-1.3.1_p20180314-qt-5.11.patch [new file with mode: 0644]

index 0e1b8a2a3b6552d508f09d0f4cc75a41853d9428..558788994a43fa1314c80611606a0e9eb9045bd1 100644 (file)
@@ -1,2 +1,3 @@
 DIST clementine-1.3.1_p20171113.tar.gz 8467904 BLAKE2B bf1f59b987c0e4ec5c2ced00fab07c1a7e1df0eb5a46e90358b37eaaeaa916fb3e6a08ad79fc5fb791342d857783f615eb3726974dcfef9388da2793b1b7fe6a SHA512 39c459be8e4c5dd53ab9de6cdfd57f947926ccc2cd39ce2f72460bb991f7b2a28e6bc074e7bc23b0eba81c3d630e91dc2373794832c1089a9b5de7b212b94674
 DIST clementine-1.3.1_p20180219.tar.gz 8486446 BLAKE2B f0d34dae90acfd41a4dad6943ea088fb64d16308caf8dce569c0c5a900c149a0c40838b8f420a42e9e5cf6718965cec8fe7f9bb2ed7489719f3d8316308f2d49 SHA512 7464f03be6894202ecfeb9f2dd97821cd76cec1285be2dc82155b023406c57ec1a94e3659438726b6bf3c667579ab43f668f03e12c261aea05aa468e73a05146
+DIST clementine-1.3.1_p20180314.tar.gz 8486396 BLAKE2B 978651924c50ee3669f82a51f98978869103edac3f7f7cfef372dc1f1483caa2f543d9d626a4552647acaeabb4f329a69cb5c76d8c6e9b8d605de2f86025344c SHA512 5c21540a91dae9f0db336947552548e44eec80fc9e6ebf95cbca3d2ab60cd096be963aec105f0c8d72d2628777cb6628e4a7e50f54a3edbcc22708c59f620e4a
diff --git a/media-sound/clementine/clementine-1.3.1_p20180314.ebuild b/media-sound/clementine/clementine-1.3.1_p20180314.ebuild
new file mode 100644 (file)
index 0000000..296ae71
--- /dev/null
@@ -0,0 +1,192 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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"
+
+MY_P="${P/_}"
+if [[ ${PV} == *9999* ]]; then
+       EGIT_BRANCH="qt5"
+       EGIT_REPO_URI="https://github.com/clementine-player/Clementine.git"
+       GIT_ECLASS="git-r3"
+else
+       COMMIT=2d7894915dfc9043da9282d216775ef75041c773
+       SRC_URI="https://github.com/${PN}-player/${PN^}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+       KEYWORDS="~amd64 ~x86"
+fi
+inherit cmake-utils flag-o-matic gnome2-utils l10n virtualx xdg-utils ${GIT_ECLASS} vcs-snapshot
+unset GIT_ECLASS
+
+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"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="box cdda +dbus debug dropbox googledrive ipod lastfm mms moodbar mtp projectm pulseaudio seafile skydrive test +udisks wiimote"
+
+REQUIRED_USE="
+       udisks? ( dbus )
+       wiimote? ( dbus )
+"
+
+COMMON_DEPEND="
+       app-crypt/qca:2[qt5(+)]
+       dev-db/sqlite:=
+       dev-libs/crypto++
+       dev-libs/glib:2
+       dev-libs/libxml2
+       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
+       dev-qt/qtxml: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
+       sys-libs/zlib
+       virtual/glu
+       virtual/opengl
+       x11-libs/libX11
+       cdda? ( dev-libs/libcdio:= )
+       dbus? ( dev-qt/qtdbus:5 )
+       ipod? ( >=media-libs/libgpod-0.8.0 )
+       lastfm? ( >=media-libs/liblastfm-1[qt5(+)] )
+       moodbar? ( sci-libs/fftw:3.0 )
+       mtp? ( >=media-libs/libmtp-1.0.0 )
+       projectm? (
+               media-libs/glew:=
+               >=media-libs/libprojectm-1.2.0
+       )
+"
+# Note: sqlite driver of dev-qt/qtsql is bundled, so no sqlite use is required; check if this can be overcome someway;
+# Libprojectm-1.2 seems to work fine, so no reason to use bundled version; check clementine's patches:
+# https://github.com/clementine-player/Clementine/tree/master/3rdparty/libprojectm/patches
+# Still possibly essential but not applied yet patches are:
+# 06-fix-numeric-locale.patch
+# 08-stdlib.h-for-rand.patch
+RDEPEND="${COMMON_DEPEND}
+       media-plugins/gst-plugins-meta:1.0
+       media-plugins/gst-plugins-soup:1.0
+       media-plugins/gst-plugins-taglib:1.0
+       mms? ( media-plugins/gst-plugins-libmms:1.0 )
+       mtp? ( gnome-base/gvfs[mtp] )
+       udisks? ( sys-fs/udisks:2 )
+"
+DEPEND="${COMMON_DEPEND}
+       >=dev-cpp/gtest-1.8.0
+       dev-libs/boost
+       dev-qt/linguist-tools:5
+       dev-qt/qtopengl:5
+       sys-devel/gettext
+       virtual/pkgconfig
+       box? ( dev-cpp/sparsehash )
+       dropbox? ( dev-cpp/sparsehash )
+       googledrive? ( dev-cpp/sparsehash )
+       pulseaudio? ( media-sound/pulseaudio )
+       seafile? ( dev-cpp/sparsehash )
+       skydrive? ( dev-cpp/sparsehash )
+       test? (
+               dev-qt/qttest:5
+               gnome-base/gsettings-desktop-schemas
+       )
+"
+
+DOCS=( Changelog README.md )
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-fts3-tokenizer.patch
+       "${FILESDIR}"/${P}-qt-5.11.patch
+)
+
+src_prepare() {
+       l10n_find_plocales_changes "src/translations" "" ".po"
+
+       cmake-utils_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
+
+       # Fix clementine relying on downstream renaming of lastfm header dir
+       sed -i -e "/^#include/s/lastfm5/lastfm/" \
+               tests/albumcoverfetcher_test.cpp \
+               src/internet/lastfm/lastfm{settingspage.cpp,service.cpp,compat.h} \
+               src/core/song.cpp || die "Failed to sed lastfm header suffix"
+       sed -e "/^find_path.*LASTFM5/s/lastfm5/lastfm/" \
+               -i CMakeLists.txt || die "Failed to sed lastfm header suffix"
+}
+
+src_configure() {
+       # spotify is not in portage
+       local mycmakeargs=(
+               -DBUILD_WERROR=OFF
+               # force to find crypto++ see bug #548544
+               -DCRYPTOPP_LIBRARIES="crypto++"
+               -DCRYPTOPP_FOUND=ON
+               # avoid automagically enabling of ccache (bug #611010)
+               -DCCACHE_EXECUTABLE=OFF
+               -DENABLE_BREAKPAD=OFF  #< disable crash reporting
+               -DENABLE_DEVICEKIT=OFF
+               -DENABLE_GIO=ON
+               -DENABLE_SPOTIFY_BLOB=OFF
+               -DUSE_BUILTIN_TAGLIB=OFF
+               -DUSE_SYSTEM_GMOCK=ON
+               -DUSE_SYSTEM_PROJECTM=ON
+               -DBUNDLE_PROJECTM_PRESETS=OFF
+               -DLINGUAS="$(l10n_get_locales)"
+               -DENABLE_BOX="$(usex box)"
+               -DENABLE_AUDIOCD="$(usex cdda)"
+               -DENABLE_DBUS="$(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)"
+       )
+
+       use !debug && append-cppflags -DQT_NO_DEBUG_OUTPUT
+
+       cmake-utils_src_configure
+}
+
+src_test() {
+       cd "${CMAKE_BUILD_DIR}" || die
+       virtx emake test
+}
+
+pkg_preinst() {
+       gnome2_icon_savelist
+}
+
+pkg_postinst() {
+       xdg_desktop_database_update
+       gnome2_icon_cache_update
+
+       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"
+}
+
+pkg_postrm() {
+       xdg_desktop_database_update
+       gnome2_icon_cache_update
+}
diff --git a/media-sound/clementine/files/clementine-1.3.1_p20180314-qt-5.11.patch b/media-sound/clementine/files/clementine-1.3.1_p20180314-qt-5.11.patch
new file mode 100644 (file)
index 0000000..8903da1
--- /dev/null
@@ -0,0 +1,51 @@
+From b0b72ccfee2484ec05861879cca45d62d87055ae Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+Date: Sat, 17 Mar 2018 00:29:11 +0100
+Subject: [PATCH] Fix build with Qt 5.11
+
+---
+ src/playlist/playlistcontainer.cpp     | 1 +
+ src/ui/globalshortcutssettingspage.cpp | 1 +
+ src/widgets/errordialog.cpp            | 2 ++
+ 3 files changed, 4 insertions(+)
+
+diff --git a/src/playlist/playlistcontainer.cpp b/src/playlist/playlistcontainer.cpp
+index 58f1ad2d6..2ba1a3ff1 100644
+--- a/src/playlist/playlistcontainer.cpp
++++ b/src/playlist/playlistcontainer.cpp
+@@ -23,6 +23,7 @@
+ #include "playlistparsers/playlistparser.h"
+ #include "ui/iconloader.h"
++#include <QAction>
+ #include <QFileDialog>
+ #include <QInputDialog>
+ #include <QKeyEvent>
+diff --git a/src/ui/globalshortcutssettingspage.cpp b/src/ui/globalshortcutssettingspage.cpp
+index ec5d29b28..c60a9561d 100644
+--- a/src/ui/globalshortcutssettingspage.cpp
++++ b/src/ui/globalshortcutssettingspage.cpp
+@@ -24,6 +24,7 @@
+ #include "ui/iconloader.h"
+ #include "ui/settingsdialog.h"
++#include <QAction>
+ #include <QKeyEvent>
+ #include <QMessageBox>
+ #include <QProcess>
+diff --git a/src/widgets/errordialog.cpp b/src/widgets/errordialog.cpp
+index 1086305f3..3fd590840 100644
+--- a/src/widgets/errordialog.cpp
++++ b/src/widgets/errordialog.cpp
+@@ -18,6 +18,8 @@
+ #include "errordialog.h"
+ #include "ui_errordialog.h"
++#include <QStyle>
++
+ ErrorDialog::ErrorDialog(QWidget* parent)
+     : QDialog(parent), ui_(new Ui_ErrorDialog) {
+   ui_->setupUi(this);
+-- 
+2.16.2
+