blob: 1ac6c1d4514149e990d7753bad81ac342341b74f (
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
142
143
144
145
146
147
148
149
150
151
|
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit bash-completion-r1 toolchain-funcs
if [[ ${PV} == "9999" ]] ; then
EGIT_REPO_URI="https://github.com/cmus/cmus.git"
inherit git-r3
else
SRC_URI="https://github.com/cmus/cmus/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
fi
DESCRIPTION="Ncurses based music player with plugin support for many formats"
HOMEPAGE="https://cmus.github.io/"
S="${WORKDIR}/${P/_/-}"
LICENSE="GPL-2"
SLOT="0"
IUSE="aac alsa ao cddb cdio debug discid elogind examples ffmpeg +flac jack libsamplerate
+mad mikmod modplug mp4 musepack opus oss pidgin pulseaudio sndio systemd tremor +unicode
+vorbis wavpack"
# Both CONFIG_TREMOR=y and CONFIG_VORBIS=y are required to link to tremor libs instead of vorbis libs
REQUIRED_USE="
?? ( elogind systemd )
tremor? ( vorbis )
mp4? ( aac )" # enabling mp4 adds -lfaad
BDEPEND="
virtual/pkgconfig
"
DEPEND="
sys-libs/ncurses:=[unicode(+)?]
aac? ( media-libs/faad2 )
alsa? ( media-libs/alsa-lib )
ao? ( media-libs/libao )
cddb? ( media-libs/libcddb )
cdio? ( dev-libs/libcdio-paranoia )
discid? ( media-libs/libdiscid )
elogind? ( sys-auth/elogind )
ffmpeg? ( media-video/ffmpeg:= )
flac? ( media-libs/flac:= )
jack? ( virtual/jack )
libsamplerate? ( media-libs/libsamplerate )
mad? ( media-libs/libmad )
mikmod? ( media-libs/libmikmod:0 )
modplug? ( media-libs/libmodplug )
mp4? ( media-libs/libmp4v2:0 )
musepack? ( media-sound/musepack-tools )
opus? ( media-libs/opusfile )
pulseaudio? ( media-libs/libpulse )
sndio? ( media-sound/sndio )
systemd? ( sys-apps/systemd )
tremor? ( media-libs/tremor )
!tremor? ( vorbis? ( media-libs/libvorbis ) )
wavpack? ( media-sound/wavpack )
"
RDEPEND="${DEPEND}
pidgin? (
dev-python/dbus-python
net-im/pidgin
)
"
DOCS=( AUTHORS README.md )
PATCHES=(
"${FILESDIR}/${PN}-2.9.1-atomic.patch"
)
src_configure() {
my_config() {
local value
use ${1} && value=a || value=n
myconf+=( ${2}=${value} )
}
local debuglevel=1
use debug && debuglevel=2
local myconf=(
CONFIG_CUE=y
CONFIG_ARTS=n
CONFIG_SUN=n
CONFIG_SNDIO=n
CONFIG_WAVEOUT=n
CONFIG_VTX=n
CONFIG_ROAR=n
)
my_config cddb CONFIG_CDDB
my_config cdio CONFIG_CDIO
my_config discid CONFIG_DISCID
my_config flac CONFIG_FLAC
my_config mad CONFIG_MAD
my_config modplug CONFIG_MODPLUG
my_config mikmod CONFIG_MIKMOD
my_config musepack CONFIG_MPC
my_config vorbis CONFIG_VORBIS
my_config tremor CONFIG_TREMOR
my_config opus CONFIG_OPUS
my_config wavpack CONFIG_WAVPACK
my_config mp4 CONFIG_MP4
my_config aac CONFIG_AAC
my_config ffmpeg CONFIG_FFMPEG
my_config pulseaudio CONFIG_PULSE
my_config alsa CONFIG_ALSA
my_config jack CONFIG_JACK
my_config sndio CONFIG_SNDIO
my_config libsamplerate CONFIG_SAMPLERATE
my_config ao CONFIG_AO
my_config oss CONFIG_OSS
if use elogind || use systemd; then
myconf+=( CONFIG_MPRIS=a )
else
myconf+=( CONFIG_MPRIS=n )
fi
./configure prefix="${EPREFIX}"/usr "${myconf[@]}" \
exampledir="${EPREFIX}"/usr/share/doc/${PF}/examples \
libdir="${EPREFIX}"/usr/$(get_libdir) DEBUG=${debuglevel} || die
}
src_compile() {
tc-export_build_env BUILD_CC
emake V=2 \
CC="$(tc-getCC)" LD="$(tc-getCC)" \
HOSTCC="${BUILD_CC}" HOSTLD="${BUILD_CC}" \
HOST_CFLAGS="${BUILD_CFLAGS}" HOST_LDFLAGS="${BUILD_LDFLAGS}"
}
src_install() {
default
if ! use examples; then
rm -rf "${ED}"/usr/share/doc/${PF}/examples || die
fi
insinto /usr/share/zsh/site-functions
doins contrib/_cmus
newbashcomp contrib/${PN}.bash-completion ${PN}
if use pidgin; then
newbin contrib/cmus-updatepidgin.py cmus-updatepidgin
fi
}
|