commit: ef10a3d13a487524479ae42575745c467f6c8c68 Author: Tiziano Müller <dev-zero <AT> gentoo <DOT> org> AuthorDate: Sat Apr 16 07:41:21 2016 +0000 Commit: Tiziano Müller <dev-zero <AT> gentoo <DOT> org> CommitDate: Sat Apr 16 07:41:21 2016 +0000 URL: https://gitweb.gentoo.org/dev/dev-zero.git/commit/?id=ef10a3d1
media-sound/clementine: rev-bump with working libspotify integration media-sound/clementine/Manifest | 3 + .../clementine/clementine-1.3_rc1-r2.ebuild | 168 +++++++++++++++++++++ .../files/clementine-1.3_rc1-cmake-2.patch | 54 +++++++ .../files/clementine-1.3_rc1-fix-tokenizer.patch | 21 +++ media-sound/clementine/metadata.xml | 31 ++++ 5 files changed, 277 insertions(+) diff --git a/media-sound/clementine/Manifest b/media-sound/clementine/Manifest new file mode 100644 index 0000000..9a18ea5 --- /dev/null +++ b/media-sound/clementine/Manifest @@ -0,0 +1,3 @@ +DIST clementine-1.2.2.tar.gz 9076752 SHA256 1f674c42f05c476baf74f1dd37b1aa357ff9199e4493173052c856a53e5f0a96 SHA512 48e934ed1f18724c4cc79eaf7ac16dcb2ecc9d268a4986a8a421c6518d7a13bd81a5b7d249b4ff146c860bed520a59d2062139fb57672609019b8c2c84e495ca WHIRLPOOL 13c3f129566c0789e67b23b2382d7ed1f756221647c4b2cc1b4b1b1efcb5e04571837a843c8ff7c099f9bcd3f9b1dd481b1fa75fe1c4b27e90169026e8880840 +DIST clementine-1.2.3.tar.gz 9076977 SHA256 7df5650445a005c09f5f0e1a1b0d077037c37ecbe4ee77baf9d45f121308a1bf SHA512 fd43a7dcfec360d4478a56d0600300b6913b294f127afb0249971b45b54b48475d128861e06885c482bbdd37b09aa56b1c238675763fdb8c50329005b066bec3 WHIRLPOOL 23d0fb971118b0d73ec4a52cfa3f8829118ab65c12fb01ce30433541f5da081b52c5dd485aa0efdda2b4b57b286f59702aa686f9b7ce17a0a2595b208b95d524 +DIST clementine-1.3_rc1.tar.gz 8477665 SHA256 f08b797b47305b8a0b7e1713d11977df12e09911f05c577c9f81641369f252a0 SHA512 973410a0d2baf0646a77eb5bcbea2af3f34a4baa5671f7a81fa99203703c478d38dd2f32ce0ccac9babf8add56717fd5fdec8a4bacefe8b9b8fa0256ec509edb WHIRLPOOL 968ca43b4a15169926ad68a009c568ae03ef17e8b0542fe6c4ebd07fc4e64ae6782ab63d3a05851064e288522e44e885a9a1dc52b94246e016c60c91e41e0a76 diff --git a/media-sound/clementine/clementine-1.3_rc1-r2.ebuild b/media-sound/clementine/clementine-1.3_rc1-r2.ebuild new file mode 100644 index 0000000..2138d90 --- /dev/null +++ b/media-sound/clementine/clementine-1.3_rc1-r2.ebuild @@ -0,0 +1,168 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +EGIT_REPO_URI="https://github.com/clementine-player/Clementine.git" + +LANGS=" af ar be bg bn br bs ca cs cy da de el 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 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-utils flag-o-matic fdo-mime gnome2-utils virtualx +[[ ${PV} == *9999* ]] && inherit git-2 + +DESCRIPTION="A modern music player and library organizer based on Amarok 1.4 and Qt4" +HOMEPAGE="http://www.clementine-player.org https://github.com/clementine-player/Clementine" +[[ ${PV} == *9999* ]] || \ +SRC_URI="https://github.com/clementine-player/Clementine/archive/${PV/_}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +[[ ${PV} == *9999* ]] || \ +KEYWORDS="~amd64 ~x86" +IUSE="box cdda +dbus debug dropbox googledrive ipod lastfm mms moodbar mtp projectm skydrive spotify test ubuntu-one +udisks wiimote" +IUSE+="${LANGS// / linguas_}" + +REQUIRED_USE=" + udisks? ( dbus ) + wiimote? ( dbus ) +" + +# qca dep is temporary for bug #489850 +COMMON_DEPEND=" + dev-db/sqlite:= + >=dev-libs/glib-2.24.1-r1 + dev-libs/libxml2 + dev-libs/protobuf:= + dev-libs/qjson + >=dev-qt/qtcore-4.5:4 + >=dev-qt/qtgui-4.5:4 + >=dev-qt/qtopengl-4.5:4 + >=dev-qt/qtsql-4.5:4[sqlite] + >=media-libs/chromaprint-0.6 + media-libs/gstreamer:1.0 + media-libs/gst-plugins-base:1.0 + media-libs/libechonest:=[qt4] + >=media-libs/libmygpo-qt-1.0.8 + >=media-libs/taglib-1.8[mp4] + sys-libs/zlib + virtual/glu + virtual/opengl + x11-libs/libX11 + cdda? ( dev-libs/libcdio ) + dbus? ( >=dev-qt/qtdbus-4.5:4 ) + ipod? ( >=media-libs/libgpod-0.8.0 ) + lastfm? ( >=media-libs/liblastfm-1[qt4(+)] ) + mtp? ( >=media-libs/libmtp-1.0.0 ) + moodbar? ( sci-libs/fftw:3.0 ) + projectm? ( media-libs/glew:= ) + spotify? ( >=media-libs/libspotify-12.1.45 ) +" +# now only presets are used, libprojectm is internal +# https://github.com/clementine-player/Clementine/tree/master/3rdparty/libprojectm/patches +# r1966 "Compile with a static sqlite by default, since Qt 4.7 doesn't seem to expose the symbols we need to use FTS" +RDEPEND="${COMMON_DEPEND} + dbus? ( udisks? ( sys-fs/udisks:2 ) ) + mms? ( media-plugins/gst-plugins-libmms:1.0 ) + mtp? ( gnome-base/gvfs ) + projectm? ( >=media-libs/libprojectm-1.2.0 ) + media-plugins/gst-plugins-meta:1.0 + media-plugins/gst-plugins-soup:1.0 + media-plugins/gst-plugins-taglib:1.0 +" +DEPEND="${COMMON_DEPEND} + >=dev-libs/boost-1.39 + virtual/pkgconfig + sys-devel/gettext + dev-qt/qttest:4 + dev-cpp/gmock + box? ( dev-cpp/sparsehash ) + dropbox? ( dev-cpp/sparsehash ) + googledrive? ( dev-cpp/sparsehash ) + skydrive? ( dev-cpp/sparsehash ) + ubuntu-one? ( dev-cpp/sparsehash ) + test? ( gnome-base/gsettings-desktop-schemas ) +" +DOCS="Changelog" + +# https://github.com/clementine-player/Clementine/issues/3935 +RESTRICT="test" + +MY_P="${P/_}" +# Switch to ^ when we switch to EAPI=6. +[[ ${PV} == *9999* ]] || \ +S="${WORKDIR}/C${MY_P:1}" + +PATCHES=( + "${FILESDIR}"/${PN}-1.3_rc1-cmake-2.patch + "${FILESDIR}"/${PN}-1.3_rc1-fix-tokenizer.patch +) + +src_prepare() { + cmake-utils_src_prepare + + # some tests fail or hang + sed -i \ + -e '/add_test_file(translations_test.cpp/d' \ + tests/CMakeLists.txt || die +} + +src_configure() { + local langs x + for x in ${LANGS}; do + use linguas_${x} && langs+=" ${x}" + done + + local mycmakeargs=( + -DBUILD_WERROR=OFF + -DLINGUAS="${langs}" + -DBUNDLE_PROJECTM_PRESETS=OFF + -DUSE_SYSTEM_PROJECTM=ON + $(cmake-utils_use cdda ENABLE_AUDIOCD) + $(cmake-utils_use dbus ENABLE_DBUS) + $(cmake-utils_use udisks ENABLE_DEVICEKIT) + $(cmake-utils_use ipod ENABLE_LIBGPOD) + $(cmake-utils_use lastfm ENABLE_LIBLASTFM) + $(cmake-utils_use mtp ENABLE_LIBMTP) + $(cmake-utils_use moodbar ENABLE_MOODBAR) + -DENABLE_GIO=ON + $(cmake-utils_use wiimote ENABLE_WIIMOTEDEV) + $(cmake-utils_use projectm ENABLE_VISUALISATIONS) + $(usex projectm '-DUSE_SYSTEM_PROJECTM=ON' '') + $(cmake-utils_use box ENABLE_BOX) + $(cmake-utils_use dropbox ENABLE_DROPBOX) + $(cmake-utils_use googledrive ENABLE_GOOGLE_DRIVE) + $(cmake-utils_use skydrive ENABLE_SKYDRIVE) + $(cmake-utils_use ubuntu-one ENABLE_UBUNTU_ONE) + $(cmake-utils_use spotify ENABLE_SPOTIFY_BLOB) + -DENABLE_BREAKPAD=OFF + #$(cmake-utils_use !system-sqlite STATIC_SQLITE) + #$(cmake-utils_use system-sqlite I_HATE_MY_USERS) + #$(cmake-utils_use system-sqlite MY_USERS_WILL_SUFFER_BECAUSE_OF_ME) + -DUSE_BUILTIN_TAGLIB=OFF + -DUSE_SYSTEM_GMOCK=ON + ) + + use !debug && append-cppflags -DQT_NO_DEBUG_OUTPUT + + cmake-utils_src_configure +} + +src_test() { + cd "${CMAKE_BUILD_DIR}" || die + Xemake test +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + fdo-mime_desktop_database_update + gnome2_icon_cache_update +} + +pkg_postrm() { + fdo-mime_desktop_database_update + gnome2_icon_cache_update +} diff --git a/media-sound/clementine/files/clementine-1.3_rc1-cmake-2.patch b/media-sound/clementine/files/clementine-1.3_rc1-cmake-2.patch new file mode 100644 index 0000000..5694602 --- /dev/null +++ b/media-sound/clementine/files/clementine-1.3_rc1-cmake-2.patch @@ -0,0 +1,54 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 831c323..c137bce 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -56,11 +56,9 @@ find_package(PkgConfig REQUIRED) + find_package(Protobuf REQUIRED) + find_package(FFTW3) + +-find_library(PROTOBUF_STATIC_LIBRARY libprotobuf.a libprotobuf) + + pkg_check_modules(CDIO libcdio) + pkg_check_modules(CHROMAPRINT REQUIRED libchromaprint) +-pkg_search_module(CRYPTOPP cryptopp libcrypto++) + pkg_check_modules(GIO gio-2.0) + pkg_check_modules(GLIB REQUIRED glib-2.0) + pkg_check_modules(GOBJECT REQUIRED gobject-2.0) +@@ -71,7 +69,7 @@ pkg_check_modules(GSTREAMER_BASE REQUIRED gstreamer-base-1.0) + pkg_check_modules(GSTREAMER_TAG REQUIRED gstreamer-tag-1.0) + pkg_check_modules(LIBGPOD libgpod-1.0>=0.7.92) + pkg_check_modules(LIBMTP libmtp>=1.0) +-pkg_check_modules(LIBMYGPO_QT libmygpo-qt>=1.0.9) ++pkg_check_modules(LIBMYGPO_QT libmygpo-qt>=1.0.8) + pkg_check_modules(LIBPULSE libpulse) + pkg_check_modules(LIBXML libxml-2.0) + pkg_check_modules(QJSON REQUIRED QJson) +@@ -275,13 +273,8 @@ optional_component(LIBPULSE ON "Pulse audio integration" + + optional_component(VISUALISATIONS ON "Visualisations") + +-if(NOT HAVE_SPOTIFY_BLOB AND NOT CRYPTOPP_FOUND) +- message(FATAL_ERROR "Either crypto++ must be available or the non-GPL Spotify " +- "code must be compiled in") +-elseif(CRYPTOPP_FOUND) +- set(HAVE_CRYPTOPP ON) +- set(HAVE_SPOTIFY_DOWNLOADER ON) +-endif() ++set(HAVE_CRYPTOPP OFF) ++set(HAVE_SPOTIFY_DOWNLOADER OFF) + + # Find DBus if it's enabled + if (HAVE_DBUS) +diff --git a/ext/clementine-spotifyblob/CMakeLists.txt b/ext/clementine-spotifyblob/CMakeLists.txt +index 02c25e8..3898c5f 100644 +--- a/ext/clementine-spotifyblob/CMakeLists.txt ++++ b/ext/clementine-spotifyblob/CMakeLists.txt +@@ -46,7 +46,7 @@ target_link_libraries(clementine-spotifyblob + ${QT_QTNETWORK_LIBRARY} + ${GSTREAMER_BASE_LIBRARIES} + ${GSTREAMER_APP_LIBRARIES} +- ${PROTOBUF_STATIC_LIBRARY} ++ ${PROTOBUF_LIBRARIES} + clementine-spotifyblob-messages + libclementine-common + ) diff --git a/media-sound/clementine/files/clementine-1.3_rc1-fix-tokenizer.patch b/media-sound/clementine/files/clementine-1.3_rc1-fix-tokenizer.patch new file mode 100644 index 0000000..6413bf7 --- /dev/null +++ b/media-sound/clementine/files/clementine-1.3_rc1-fix-tokenizer.patch @@ -0,0 +1,21 @@ +https://github.com/clementine-player/Clementine/issues/5297 + +--- src/core/database.cpp ++++ src/core/database.cpp +@@ -265,6 +265,16 @@ + StaticInit(); + + { ++#ifdef SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER ++ QVariant v = db.driver()->handle(); ++ if (v.isValid() && qstrcmp(v.typeName(), "sqlite3*") == 0) { ++ sqlite3* handle = *static_cast<sqlite3**>(v.data()); ++ if (handle) { ++ sqlite3_db_config(handle, SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, 1, NULL); ++ } ++ } ++#endif ++ + QSqlQuery set_fts_tokenizer("SELECT fts3_tokenizer(:name, :pointer)", db); + set_fts_tokenizer.bindValue(":name", "unicode"); + set_fts_tokenizer.bindValue( diff --git a/media-sound/clementine/metadata.xml b/media-sound/clementine/metadata.xml new file mode 100644 index 0000000..eda2d27 --- /dev/null +++ b/media-sound/clementine/metadata.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>[email protected]</email> + <name>Nikoli</name> + </maintainer> + <maintainer type="project"> + <email>[email protected]</email> + <name>Proxy Maintainers</name> + </maintainer> + <maintainer type="project"> + <email>[email protected]</email> + <name>Gentoo Sound project</name> + </maintainer> + <use> + <flag name="box">Enable Box support</flag> + <flag name="dropbox">Enable Dropbox support</flag> + <flag name="googledrive">Enable Google Drive support</flag> + <flag name="lastfm">Use liblastfm for fetching song info, scrobbling and radio streams</flag> + <flag name="moodbar">Enable moodbar support</flag> + <flag name="projectm">Build with ProjectM visualization</flag> + <flag name="skydrive">Enable Skydrive support</flag> + <flag name="system-sqlite">Use the system-wide <pkg>dev-db/sqlite</pkg> installation</flag> + <flag name="ubuntu-one">Enable Ubuntu One support</flag> + <flag name="wiimote">Enable support for Wii remote</flag> + </use> + <upstream> + <remote-id type="github">clementine-player/Clementine</remote-id> + </upstream> +</pkgmetadata>
