1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
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"
9 if [[ ${PV} == *9999* ]]; then
11 EGIT_REPO_URI="https://github.com/clementine-player/Clementine.git"
14 COMMIT=610566d25271c67d1625fd62041f6a27435b0a9d
15 SRC_URI="https://github.com/${PN}-player/${PN^}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
18 inherit cmake flag-o-matic l10n virtualx xdg
20 DESCRIPTION="Modern music player and library organizer based on Amarok 1.4 and Qt"
21 HOMEPAGE="https://www.clementine-player.org https://github.com/clementine-player/Clementine"
25 IUSE="box cdda +dbus debug dropbox googledrive ipod lastfm mms moodbar mtp projectm pulseaudio seafile skydrive test +udisks wiimote"
34 dev-qt/linguist-tools:5
39 gnome-base/gsettings-desktop-schemas
43 app-crypt/qca:2[qt5(+)]
45 dev-libs/crypto++:=[asm]
52 dev-qt/qtnetwork:5[ssl]
53 dev-qt/qtsql:5[sqlite]
55 media-libs/chromaprint:=
56 media-libs/gstreamer:1.0
57 media-libs/gst-plugins-base:1.0
58 >=media-libs/libmygpo-qt-1.0.9[qt5(+)]
59 >=media-libs/taglib-1.11.1_p20181028
63 cdda? ( dev-libs/libcdio:= )
64 dbus? ( dev-qt/qtdbus:5 )
65 ipod? ( >=media-libs/libgpod-0.8.0 )
66 lastfm? ( >=media-libs/liblastfm-1.1.0_pre20150206 )
67 moodbar? ( sci-libs/fftw:3.0 )
68 mtp? ( >=media-libs/libmtp-1.0.0 )
71 >=media-libs/libprojectm-1.2.0:=
75 # Note: sqlite driver of dev-qt/qtsql is bundled, so no sqlite use is required; check if this can be overcome someway;
76 # Libprojectm-1.2 seems to work fine, so no reason to use bundled version; check clementine's patches:
77 # https://github.com/clementine-player/Clementine/tree/master/3rdparty/libprojectm/patches
78 # Still possibly essential but not applied yet patches are:
79 # 06-fix-numeric-locale.patch
80 # 08-stdlib.h-for-rand.patch
81 RDEPEND="${COMMON_DEPEND}
82 media-plugins/gst-plugins-meta:1.0
83 media-plugins/gst-plugins-soup:1.0
84 media-plugins/gst-plugins-taglib:1.0
85 mms? ( media-plugins/gst-plugins-libmms:1.0 )
86 mtp? ( gnome-base/gvfs[mtp] )
87 udisks? ( sys-fs/udisks:2 )
89 DEPEND="${COMMON_DEPEND}
94 box? ( dev-cpp/sparsehash )
95 dropbox? ( dev-cpp/sparsehash )
96 googledrive? ( dev-cpp/sparsehash )
97 pulseaudio? ( media-sound/pulseaudio )
98 seafile? ( dev-cpp/sparsehash )
99 skydrive? ( dev-cpp/sparsehash )
104 S="${WORKDIR}/${PN^}-${COMMIT}"
106 DOCS=( Changelog README.md )
109 l10n_find_plocales_changes "src/translations" "" ".po"
112 # some tests fail or hang
114 -e '/add_test_file(translations_test.cpp/d' \
115 tests/CMakeLists.txt || die
118 sed -e "/find_package.*Qt5/s:\ Test::" -i CMakeLists.txt || die
119 cmake_comment_add_subdirectory tests
122 rm -r 3rdparty/{libmygpo-qt,libmygpo-qt5,taglib} || die
126 # spotify is not in portage
129 # force to find crypto++ see bug #548544
130 -DCRYPTOPP_LIBRARIES="cryptopp"
132 # avoid automagically enabling of ccache (bug #611010)
133 -DCCACHE_EXECUTABLE=OFF
134 -DENABLE_BREAKPAD=OFF #< disable crash reporting
135 -DENABLE_DEVICEKIT=OFF
137 -DENABLE_SPOTIFY_BLOB=OFF
138 -DUSE_SYSTEM_GMOCK=ON
139 -DUSE_SYSTEM_PROJECTM=ON
140 -DBUNDLE_PROJECTM_PRESETS=OFF
141 -DLINGUAS="$(l10n_get_locales)"
142 -DENABLE_BOX="$(usex box)"
143 -DENABLE_AUDIOCD="$(usex cdda)"
144 -DCMAKE_DISABLE_FIND_PACKAGE_Qt5DBus=$(usex !dbus)
145 -DENABLE_DROPBOX="$(usex dropbox)"
146 -DENABLE_GOOGLE_DRIVE="$(usex googledrive)"
147 -DENABLE_LIBGPOD="$(usex ipod)"
148 -DENABLE_LIBLASTFM="$(usex lastfm)"
149 -DENABLE_MOODBAR="$(usex moodbar)"
150 -DENABLE_LIBMTP="$(usex mtp)"
151 -DENABLE_VISUALISATIONS="$(usex projectm)"
152 -DENABLE_SEAFILE="$(usex seafile)"
153 -DENABLE_SKYDRIVE="$(usex skydrive)"
154 -DENABLE_LIBPULSE="$(usex pulseaudio)"
155 -DENABLE_UDISKS2="$(usex udisks)"
156 -DENABLE_WIIMOTEDEV="$(usex wiimote)"
159 use !debug && append-cppflags -DQT_NO_DEBUG_OUTPUT
165 cd "${CMAKE_BUILD_DIR}" || die
172 elog "Note that list of supported formats is controlled by media-plugins/gst-plugins-meta "
173 elog "USE flags. You may be interested in setting aac, flac, mp3, ogg or wavpack USE flags "
174 elog "depending on your preferences"