| 28 |
28 |
# public-domain modplug
|
| 29 |
29 |
LICENSE="BSD-2 BSD CC-BY-SA-4.0 GPL-2+ GPL-3 ISC LGPL-2.1+ MIT public-domain"
|
| 30 |
30 |
SLOT="0"
|
| 31 |
|
KEYWORDS="amd64 ~ppc ~ppc64 ~riscv x86"
|
|
31 |
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86"
|
| 32 |
32 |
IUSE="
|
| 33 |
33 |
aac +alsa ampache bs2b cdda cue ffmpeg flac fluidsynth gme gtk http jack
|
| 34 |
|
lame libnotify libsamplerate lirc mms modplug +mp3 opengl openmpt opus
|
|
34 |
lame libnotify libsamplerate lirc mms modplug +mp3 mpris opengl openmpt opus
|
| 35 |
35 |
pipewire pulseaudio qt6 qtmedia scrobbler sdl sid sndfile soxr streamtuner
|
| 36 |
36 |
vorbis wavpack wayland X
|
| 37 |
37 |
"
|
| ... | ... | |
| 41 |
41 |
streamtuner? ( http )
|
| 42 |
42 |
"
|
| 43 |
43 |
|
| 44 |
|
# The following plugins REQUIRE a GUI build of audacious, because non-GUI
|
| 45 |
|
# builds do NOT install the libaudgui library & headers.
|
| 46 |
|
# Plugins without a configure option:
|
| 47 |
|
# albumart{,-qt}
|
| 48 |
|
# blur-scope{,-qt}
|
| 49 |
|
# delete-files
|
| 50 |
|
# filebrowser-qt
|
| 51 |
|
# ladspa
|
| 52 |
|
# lyrics-{gtk,qt}
|
| 53 |
|
# playback-history-qt
|
| 54 |
|
# playlist-manager{,-qt}
|
| 55 |
|
# search-tool{,-qt}
|
| 56 |
|
# song-info-qt
|
| 57 |
|
# spectrum-analyzer
|
| 58 |
|
# statusicon{,-qt}
|
| 59 |
|
# skins{,-qt}
|
| 60 |
|
# Plugins with a configure option:
|
|
44 |
# Most plugins support GTK/Qt and X/wayland alternatives.
|
|
45 |
# These plugins require a specific GUI:
|
| 61 |
46 |
# aosd (X+gtk)
|
| 62 |
47 |
# ampache (qt6)
|
| 63 |
|
# glspectrum (X) (handles qtglspectrum if qt6)
|
| 64 |
|
# gtkui
|
| 65 |
|
# hotkey (X) (handles qthotkey if qt6)
|
| 66 |
|
# notify
|
| 67 |
|
# qtui
|
| 68 |
|
# streamtuner (qt6)
|
| 69 |
|
# vumeter{,-qt} (forced)
|
|
48 |
# ladspa (gtk)
|
|
49 |
# skins/Winamp (X)
|
| 70 |
50 |
BDEPEND="
|
| 71 |
|
>=dev-util/gdbus-codegen-2.80.5-r1
|
| 72 |
51 |
virtual/pkgconfig
|
|
52 |
mpris? ( >=dev-util/gdbus-codegen-2.80.5-r1 )
|
| 73 |
53 |
"
|
| 74 |
54 |
DEPEND="
|
| 75 |
55 |
app-arch/unzip
|
| ... | ... | |
| 81 |
61 |
alsa? ( >=media-libs/alsa-lib-1.0.16 )
|
| 82 |
62 |
bs2b? ( >=media-libs/libbs2b-3.0.0 )
|
| 83 |
63 |
cdda? (
|
| 84 |
|
>=dev-libs/libcdio-0.70:=
|
|
64 |
>=dev-libs/libcdio-0.90:=
|
| 85 |
65 |
dev-libs/libcdio-paranoia:=
|
| 86 |
66 |
>=media-libs/libcddb-1.2.1
|
| 87 |
67 |
)
|
| 88 |
68 |
cue? ( media-libs/libcue:= )
|
| 89 |
|
ffmpeg? ( >=media-video/ffmpeg-2.8.1:= )
|
|
69 |
ffmpeg? ( >=media-video/ffmpeg-4.2.3:= )
|
| 90 |
70 |
flac? ( >=media-libs/flac-1.2.1-r1:= )
|
| 91 |
71 |
fluidsynth? ( >=media-sound/fluidsynth-1.0.6:= )
|
| 92 |
72 |
gtk? (
|
| ... | ... | |
| 111 |
91 |
mms? ( >=media-libs/libmms-0.3 )
|
| 112 |
92 |
modplug? ( media-libs/libmodplug )
|
| 113 |
93 |
mp3? ( >=media-sound/mpg123-base-1.12 )
|
| 114 |
|
openmpt? ( >=media-libs/libopenmpt-0.2 )
|
|
94 |
openmpt? ( >=media-libs/libopenmpt-0.3 )
|
| 115 |
95 |
opus? ( >=media-libs/opusfile-0.4 )
|
| 116 |
96 |
pipewire? ( >=media-video/pipewire-0.3.33:= )
|
| 117 |
97 |
pulseaudio? ( >=media-libs/libpulse-0.9.5 )
|
| ... | ... | |
| 143 |
123 |
"
|
| 144 |
124 |
RDEPEND="${DEPEND}"
|
| 145 |
125 |
|
| 146 |
|
PATCHES=(
|
| 147 |
|
# backport from 4.6beta1
|
| 148 |
|
"${FILESDIR}"/${P}-libsidplayfp-3.patch
|
| 149 |
|
)
|
| 150 |
|
|
| 151 |
126 |
src_prepare() {
|
| 152 |
127 |
default
|
| 153 |
128 |
# avoid automagic for glspectrum
|
| ... | ... | |
| 156 |
131 |
fi
|
| 157 |
132 |
}
|
| 158 |
133 |
|
|
134 |
_have_gui() {
|
|
135 |
if use gtk || use qt6; then
|
|
136 |
echo true
|
|
137 |
return 0
|
|
138 |
else
|
|
139 |
echo false
|
|
140 |
return 1
|
|
141 |
fi
|
|
142 |
}
|
|
143 |
|
| 159 |
144 |
src_configure() {
|
| 160 |
145 |
# defang automagic dependencies
|
| 161 |
146 |
use X || append-cppflags -DGENTOO_GTK_HIDE_X11
|
| ... | ... | |
| 163 |
148 |
|
| 164 |
149 |
local emesonargs=(
|
| 165 |
150 |
# GUI toolkits
|
| 166 |
|
$(meson_use gtk)
|
|
151 |
$(meson_use gtk gtk)
|
|
152 |
$(meson_use gtk gtkui)
|
| 167 |
153 |
-Dgtk2=false
|
| 168 |
154 |
$(meson_use qt6 qt)
|
|
155 |
$(meson_use qt6 qtui)
|
| 169 |
156 |
-Dqt5=false
|
|
157 |
-Dskins=$(usex X $(_have_gui) false) # Winamp
|
| 170 |
158 |
|
| 171 |
159 |
# container plugins
|
| 172 |
160 |
$(meson_use cue)
|
| ... | ... | |
| 174 |
162 |
# transport plugins
|
| 175 |
163 |
$(meson_use mms)
|
| 176 |
164 |
$(meson_use http neon)
|
|
165 |
# default true:
|
|
166 |
# gio
|
| 177 |
167 |
|
| 178 |
168 |
# input plugins
|
| 179 |
169 |
$(meson_use aac)
|
| ... | ... | |
| 190 |
180 |
$(meson_use sid)
|
| 191 |
181 |
$(meson_use sndfile)
|
| 192 |
182 |
$(meson_use vorbis)
|
|
183 |
-Dvtx=$(_have_gui)
|
| 193 |
184 |
$(meson_use wavpack)
|
|
185 |
# default true:
|
|
186 |
# metronom
|
|
187 |
# psf (zlib)
|
|
188 |
# tonegen
|
|
189 |
# xsf (zlib)
|
| 194 |
190 |
|
| 195 |
191 |
# output plugins
|
| 196 |
192 |
$(meson_use alsa)
|
| ... | ... | |
| 208 |
204 |
-Dsndio=false
|
| 209 |
205 |
|
| 210 |
206 |
# general plugins
|
|
207 |
-Dalbumart=$(_have_gui)
|
| 211 |
208 |
$(meson_use ampache)
|
| 212 |
|
$(meson_use X aosd)
|
|
209 |
-Daosd=$(usex X $(usex gtk true false) false)
|
|
210 |
-Ddelete-files=$(_have_gui)
|
|
211 |
-Dfilebrowser=$(_have_gui)
|
| 213 |
212 |
$(meson_use X hotkey)
|
| 214 |
213 |
$(meson_use lirc)
|
| 215 |
|
-Dmac-media-keys=false
|
| 216 |
|
-Dmpris2=true
|
|
214 |
-Dlyrics=$(_have_gui)
|
|
215 |
$(meson_use mpris mpris2)
|
| 217 |
216 |
$(meson_use libnotify notify)
|
|
217 |
-Dmac-now-playing=false
|
|
218 |
-Dplayback-history=$(_have_gui)
|
|
219 |
-Dplaylist-manager=$(_have_gui)
|
| 218 |
220 |
$(meson_use scrobbler scrobbler2)
|
| 219 |
|
-Dsongchange=true
|
|
221 |
-Dsearchtool=$(_have_gui)
|
|
222 |
$(meson_use qt6 songinfo)
|
|
223 |
-Dstatusicon=$(_have_gui)
|
| 220 |
224 |
$(meson_use streamtuner)
|
|
225 |
# default true:
|
|
226 |
# songchange (glib)
|
|
227 |
|
|
228 |
# playlist plugins
|
|
229 |
# default true:
|
|
230 |
# asx
|
|
231 |
# asx3 (libxml2)
|
|
232 |
# m3u
|
|
233 |
# pls
|
|
234 |
# xspf (glib, libxml2)
|
| 221 |
235 |
|
| 222 |
236 |
# effect plugins
|
| 223 |
237 |
$(meson_use bs2b)
|
|
238 |
$(meson_use gtk ladspa)
|
| 224 |
239 |
$(meson_use libsamplerate resample)
|
| 225 |
240 |
$(meson_use libsamplerate speedpitch)
|
| 226 |
241 |
$(meson_use soxr)
|
|
242 |
# default true:
|
|
243 |
# background-music
|
|
244 |
# bitcrusher
|
|
245 |
# compressor
|
|
246 |
# crossfade
|
|
247 |
# crystalizer
|
|
248 |
# echo
|
|
249 |
# mixer
|
|
250 |
# silence-removal
|
|
251 |
# stereo
|
|
252 |
# voice-removal
|
| 227 |
253 |
|
| 228 |
254 |
# visualization plugins
|
|
255 |
-Dblurscope=$(_have_gui)
|
| 229 |
256 |
$(meson_use opengl gl-spectrum)
|
| 230 |
|
-Dvumeter=true
|
|
257 |
-Dspectrum-analyzer=$(_have_gui)
|
|
258 |
-Dvumeter=$(_have_gui)
|
| 231 |
259 |
)
|
| 232 |
260 |
|
| 233 |
261 |
meson_src_configure
|
| ... | ... | |
| 236 |
264 |
src_install() {
|
| 237 |
265 |
meson_src_install
|
| 238 |
266 |
|
| 239 |
|
# the skin Winamp2.9 is copyrighted, so revert upstream' commit 367e7a3
|
| 240 |
|
# see comments at https://www.gnome-look.org/p/1008229 and bug #965338
|
| 241 |
|
# part of skins-data which depends on gui
|
| 242 |
|
if use gtk || use qt6; then
|
|
267 |
if _have_gui && use X; then
|
|
268 |
# the skin Winamp2.9 is copyrighted, so revert upstream' commit 367e7a3
|
|
269 |
# see comments at https://www.gnome-look.org/p/1008229 and bug #965338
|
|
270 |
# part of skins-data which depends on X-gui
|
| 243 |
271 |
rm -r "${ED}"/usr/share/audacious/Skins/Winamp2.9 || die
|
| 244 |
|
fi
|
| 245 |
272 |
|
| 246 |
|
# Gentoo_ice Winamp skin installation; bug #109772
|
| 247 |
|
# The Winamp interface is not supported on Wayland.
|
| 248 |
|
if use X; then
|
|
273 |
# Gentoo_ice Winamp skin installation; bug #109772
|
|
274 |
# The Winamp interface is not supported on Wayland.
|
| 249 |
275 |
insinto /usr/share/audacious/Skins/gentoo_ice
|
| 250 |
276 |
doins -r "${WORKDIR}"/gentoo_ice/.
|
| 251 |
277 |
docinto gentoo_ice
|
| 252 |
278 |
dodoc "${WORKDIR}"/README
|
| 253 |
279 |
fi
|
| 254 |
280 |
}
|
|
281 |
|
|
282 |
pkg_postinst() {
|
|
283 |
if ! use X && _have_gui; then
|
|
284 |
einfo "The Winamp interface is not usable yet on Wayland."
|
|
285 |
fi
|
|
286 |
}
|