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