# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI = 6
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 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:= )
"
# 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.patch "
" ${ FILESDIR } / ${ PN } -1.3-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
# spotify is not in portage
local mycmakeargs = (
-DBUILD_WERROR= OFF
-DLINGUAS= " ${ langs } "
-DBUNDLE_PROJECTM_PRESETS= OFF
-DUSE_SYSTEM_PROJECTM= ON
-DENABLE_AUDIOCD= " $( usex cdda) "
-DENABLE_DBUS= " $( usex dbus) "
-DENABLE_DEVICEKIT= " $( usex udisks) "
-DENABLE_LIBGPOD= " $( usex ipod) "
-DENABLE_LIBLASTFM= " $( usex lastfm) "
-DENABLE_LIBMTP= " $( usex mtp) "
-DENABLE_MOODBAR= " $( usex moodbar) "
-DENABLE_GIO= ON
-DENABLE_WIIMOTEDEV= " $( usex wiimote) "
-DENABLE_VISUALISATIONS= " $( usex projectm) "
$( usex projectm '-DUSE_SYSTEM_PROJECTM=ON' '' )
-DENABLE_BOX= " $( usex box) "
-DENABLE_DROPBOX= " $( usex dropbox) "
-DENABLE_GOOGLE_DRIVE= " $( usex googledrive) "
-DENABLE_SKYDRIVE= " $( usex skydrive) "
-DENABLE_UBUNTU_ONE= " $( usex ubuntu-one) "
-DENABLE_SPOTIFY_BLOB= OFF
-DENABLE_BREAKPAD= OFF
-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
virtx emake 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
}