summaryrefslogtreecommitdiff
blob: 9990398c4bfd58b7acb69a528db3f19768a282a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=6

PLOCALES="cs de en_GB es fr hu ko pl ru zh_CN"
inherit cmake-utils gnome2-utils l10n qmake-utils xdg

DESCRIPTION="Featureful and configurable Qt client for the music player daemon (MPD)"
HOMEPAGE="https://github.com/CDrummond/cantata"
SRC_URI="https://github.com/CDrummond/cantata/releases/download/v${PV}/${P}.tar.bz2"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="cdda cddb http-server kde mtp musicbrainz qt5 replaygain taglib udisks"
REQUIRED_USE="
	cdda? ( udisks || ( cddb musicbrainz ) )
	cddb? ( cdda taglib )
	mtp? ( taglib udisks )
	musicbrainz? ( cdda taglib )
	qt5? ( !kde )
	replaygain? ( taglib )
"

RDEPEND="
	dev-db/sqlite:3
	sys-libs/zlib
	x11-libs/libX11
	|| ( kde-frameworks/breeze-icons:5 kde-frameworks/oxygen-icons:* )
	cdda? ( media-sound/cdparanoia )
	cddb? ( media-libs/libcddb )
	kde? ( kde-base/kdelibs:4 )
	mtp? ( media-libs/libmtp )
	musicbrainz? ( media-libs/musicbrainz:5 )
	qt5? (
		dev-qt/qtconcurrent:5
		dev-qt/qtcore:5
		dev-qt/qtdbus:5
		dev-qt/qtgui:5
		dev-qt/qtnetwork:5
		dev-qt/qtsql:5
		dev-qt/qtsvg:5
		dev-qt/qtwidgets:5
		dev-qt/qtxml:5
	)
	!qt5? (
		dev-libs/qjson
		dev-qt/qtcore:4
		dev-qt/qtdbus:4
		dev-qt/qtgui:4
		dev-qt/qtsql:4
		dev-qt/qtsvg:4
	)
	replaygain? (
		media-libs/libebur128
		media-sound/mpg123
		virtual/ffmpeg
	)
	taglib? (
		media-libs/taglib[asf(+),mp4(+)]
		media-libs/taglib-extras
		!kde? ( udisks? ( sys-fs/udisks:2 ) )
	)
"
DEPEND="${RDEPEND}
	kde? ( sys-devel/gettext )
	!kde? ( qt5? ( dev-qt/linguist-tools:5 ) )
"

# cantata has no tests
RESTRICT="test"

src_prepare() {
	cmake-utils_src_prepare

	# Unbundle 3rd party libs
	rm -rf 3rdparty/qtsingleapplication/ || die
	rm -rf 3rdparty/libebur128/ || die
	# qjson ebuild does not support Qt5 yet
	use qt5 || { rm -rf 3rdparty/qjson/ || die ;}
	use kde && { rm -rf 3rdparty/solid-lite/ || die ;}

	l10n_find_plocales_changes 'po' '' '.po'
}

src_configure() {
	local langs="$(l10n_get_locales)"

	local mycmakeargs=(
		-DCANTATA_TRANSLATIONS="${langs// /;}"
		-DENABLE_CDPARANOIA=$(usex cdda)
		-DENABLE_CDDB=$(usex cddb)
		-DENABLE_HTTP_SERVER=$(usex http-server)
		-DENABLE_KDE=$(usex kde)
		-DENABLE_MTP=$(usex mtp)
		-DENABLE_MUSICBRAINZ=$(usex musicbrainz)
		-DENABLE_QT5=$(usex qt5)
		-DENABLE_FFMPEG=$(usex replaygain)
		-DENABLE_MPG123=$(usex replaygain)
		-DENABLE_TAGLIB=$(usex taglib)
		-DENABLE_TAGLIB_EXTRAS=$(usex taglib)
		-DENABLE_DEVICES_SUPPORT=$(usex udisks)
		-DENABLE_HTTP_STREAM_PLAYBACK=OFF
		-DENABLE_REMOTE_DEVICES=OFF
		-DENABLE_UDISKS2=ON
		-DUSE_SYSTEM_MENU_ICON=OFF
	)

	if ! use kde; then
		if use qt5; then
			mycmakeargs+=(
				-DLCONVERT_EXECUTABLE="$(qt5_get_bindir)/lconvert"
				-DLRELEASE_EXECUTABLE="$(qt5_get_bindir)/lrelease"
			)
		else
			mycmakeargs+=(
				-DLCONVERT_EXECUTABLE="$(qt4_get_bindir)/lconvert"
				-DLRELEASE_EXECUTABLE="$(qt4_get_bindir)/lrelease"
			)
		fi
	fi

	cmake-utils_src_configure
}

pkg_preinst() {
	gnome2_icon_savelist
	xdg_pkg_preinst
}

pkg_postinst() {
	gnome2_icon_cache_update
	xdg_pkg_postinst
}

pkg_postrm() {
	gnome2_icon_cache_update
	xdg_pkg_postrm
}