media-sound/alsa-utils: amd64 stable wrt bug #720810
[gentoo.git] / media-sound / clementine / clementine-1.3.1_p20191004.ebuild
1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5
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"
7
8 MY_P="${P/_}"
9 if [[ ${PV} == *9999* ]]; then
10         EGIT_BRANCH="qt5"
11         EGIT_REPO_URI="https://github.com/clementine-player/Clementine.git"
12         inherit git-r3
13 else
14         COMMIT=664c5a31f9cf519af5a4c3adcb30dbbc73d037d6
15         SRC_URI="https://github.com/${PN}-player/${PN^}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
16         KEYWORDS="~amd64 ~x86"
17         S="${WORKDIR}/${PN^}-${COMMIT}"
18 fi
19 inherit cmake flag-o-matic l10n virtualx xdg
20
21 DESCRIPTION="Modern music player and library organizer based on Amarok 1.4 and Qt"
22 HOMEPAGE="https://www.clementine-player.org https://github.com/clementine-player/Clementine"
23
24 LICENSE="GPL-3"
25 SLOT="0"
26 IUSE="box cdda +dbus debug dropbox googledrive ipod lastfm mms moodbar mtp projectm pulseaudio seafile skydrive test +udisks wiimote"
27
28 REQUIRED_USE="
29         udisks? ( dbus )
30         wiimote? ( dbus )
31 "
32
33 BDEPEND="
34         >=dev-cpp/gtest-1.8.0
35         dev-qt/linguist-tools:5
36         sys-devel/gettext
37         virtual/pkgconfig
38         test? (
39                 dev-qt/qttest:5
40                 gnome-base/gsettings-desktop-schemas
41         )
42 "
43 COMMON_DEPEND="
44         app-crypt/qca:2[qt5(+)]
45         dev-db/sqlite:=
46         dev-libs/crypto++:=[asm]
47         dev-libs/glib:2
48         dev-libs/libxml2
49         dev-libs/protobuf:=
50         dev-qt/qtconcurrent:5
51         dev-qt/qtcore:5
52         dev-qt/qtgui:5
53         dev-qt/qtnetwork:5[ssl]
54         dev-qt/qtsql:5[sqlite]
55         dev-qt/qtwidgets:5
56         media-libs/chromaprint:=
57         media-libs/gstreamer:1.0
58         media-libs/gst-plugins-base:1.0
59         >=media-libs/libmygpo-qt-1.0.9[qt5(+)]
60         >=media-libs/taglib-1.11.1_p20181028
61         sys-libs/zlib
62         virtual/glu
63         x11-libs/libX11
64         cdda? ( dev-libs/libcdio:= )
65         dbus? ( dev-qt/qtdbus:5 )
66         ipod? ( >=media-libs/libgpod-0.8.0 )
67         lastfm? ( >=media-libs/liblastfm-1.1.0_pre20150206 )
68         moodbar? ( sci-libs/fftw:3.0 )
69         mtp? ( >=media-libs/libmtp-1.0.0 )
70         projectm? (
71                 media-libs/glew:=
72                 >=media-libs/libprojectm-1.2.0:=
73                 virtual/opengl
74         )
75 "
76 RDEPEND="${COMMON_DEPEND}
77         media-plugins/gst-plugins-meta:1.0
78         media-plugins/gst-plugins-soup:1.0
79         media-plugins/gst-plugins-taglib:1.0
80         mms? ( media-plugins/gst-plugins-libmms:1.0 )
81         mtp? ( gnome-base/gvfs[mtp] )
82         udisks? ( sys-fs/udisks:2 )
83 "
84 DEPEND="${COMMON_DEPEND}
85         dev-libs/boost
86         dev-qt/qtopengl:5
87         dev-qt/qtx11extras:5
88         dev-qt/qtxml:5
89         box? ( dev-cpp/sparsehash )
90         dropbox? ( dev-cpp/sparsehash )
91         googledrive? ( dev-cpp/sparsehash )
92         pulseaudio? ( media-sound/pulseaudio )
93         seafile? ( dev-cpp/sparsehash )
94         skydrive? ( dev-cpp/sparsehash )
95 "
96
97 RESTRICT="test"
98
99 DOCS=( Changelog README.md )
100
101 src_prepare() {
102         l10n_find_plocales_changes "src/translations" "" ".po"
103
104         cmake_src_prepare
105         # some tests fail or hang
106         sed -i \
107                 -e '/add_test_file(translations_test.cpp/d' \
108                 tests/CMakeLists.txt || die
109
110         if ! use test; then
111                 sed -e "/find_package.*Qt5/s:\ Test::" -i CMakeLists.txt || die
112                 cmake_comment_add_subdirectory tests
113         fi
114
115         rm -r 3rdparty/{libmygpo-qt,libmygpo-qt5,taglib} || die
116 }
117
118 src_configure() {
119         # spotify is not in portage
120         local mycmakeargs=(
121                 -DBUILD_WERROR=OFF
122                 # force to find crypto++ see bug #548544
123                 -DCRYPTOPP_LIBRARIES="cryptopp"
124                 -DCRYPTOPP_FOUND=ON
125                 # avoid automagically enabling of ccache (bug #611010)
126                 -DCCACHE_EXECUTABLE=OFF
127                 -DENABLE_BREAKPAD=OFF  #< disable crash reporting
128                 -DENABLE_DEVICEKIT=OFF
129                 -DENABLE_GIO=ON
130                 -DENABLE_SPOTIFY_BLOB=OFF
131                 -DUSE_SYSTEM_GMOCK=ON
132                 -DUSE_SYSTEM_PROJECTM=ON
133                 -DBUNDLE_PROJECTM_PRESETS=OFF
134                 -DLINGUAS="$(l10n_get_locales)"
135                 -DENABLE_BOX="$(usex box)"
136                 -DENABLE_AUDIOCD="$(usex cdda)"
137                 -DCMAKE_DISABLE_FIND_PACKAGE_Qt5DBus=$(usex !dbus)
138                 -DENABLE_DROPBOX="$(usex dropbox)"
139                 -DENABLE_GOOGLE_DRIVE="$(usex googledrive)"
140                 -DENABLE_LIBGPOD="$(usex ipod)"
141                 -DENABLE_LIBLASTFM="$(usex lastfm)"
142                 -DENABLE_MOODBAR="$(usex moodbar)"
143                 -DENABLE_LIBMTP="$(usex mtp)"
144                 -DENABLE_VISUALISATIONS="$(usex projectm)"
145                 -DENABLE_SEAFILE="$(usex seafile)"
146                 -DENABLE_SKYDRIVE="$(usex skydrive)"
147                 -DENABLE_LIBPULSE="$(usex pulseaudio)"
148                 -DENABLE_UDISKS2="$(usex udisks)"
149                 -DENABLE_WIIMOTEDEV="$(usex wiimote)"
150         )
151
152         use !debug && append-cppflags -DQT_NO_DEBUG_OUTPUT
153
154         cmake_src_configure
155 }
156
157 src_test() {
158         cd "${CMAKE_BUILD_DIR}" || die
159         virtx emake test
160 }
161
162 pkg_postinst() {
163         xdg_pkg_postinst
164
165         elog "Note that list of supported formats is controlled by media-plugins/gst-plugins-meta "
166         elog "USE flags. You may be interested in setting aac, flac, mp3, ogg or wavpack USE flags "
167         elog "depending on your preferences"
168 }