# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit flag-o-matic meson DESCRIPTION="Lightweight and versatile audio player" HOMEPAGE="https://audacious-media-player.org/" SRC_URI=" https://distfiles.audacious-media-player.org/${P}.tar.bz2 mirror://gentoo/gentoo_ice-xmms-0.2.tar.bz2 " # BSD-2 albumart, alsa, asx, audpl, cd-menu-items, compressor, crossfade, cue, delete-files, # ffaudio, gio, glspectrum, gtkui, jack, ladspa, mixer, mms, mpris2, openmpt, opus, pipewire, # playlist-manager, qtaudio, qtui, resample, sdl, search-tool, silence-removal, song-info, # sox-resampler, speedpitch, statusicon-qt, ui-common # BSD psf, xsf # GPL-2+ amidiplug, aosd, blur_scope, bs2b, filewriter, flac, hotkey, lirc, m3u, metronom, # neon, pls, psf(peops), pulse, qtglspectrum, qthotkey, sid, sndfile, statusicon, tonegen, # vorbis, vtx, xsf(desmume), xspf # CC-BY-SA-4.0 Glare skin # GPL-3 ampache, cdaudio, notify, playback-history-qt, scrobbler, skins-qt, skins, songchange, # LGPL-2.1+ console, ladspa.h # ISC bitcrusher, cairo-spectrum, crystalizer, lyrics, mpg123, qt-spectrum, streamtuner, # voice-removal, vumeter # MIT xsf(spu) # public-domain modplug LICENSE="BSD-2 BSD CC-BY-SA-4.0 GPL-2+ GPL-3 ISC LGPL-2.1+ MIT public-domain" SLOT="0" KEYWORDS="~amd64 ~ppc64 ~riscv ~x86" IUSE=" aac +alsa ampache bs2b cdda cue ffmpeg flac fluidsynth gme gtk http jack lame libnotify libsamplerate lirc mms modplug +mp3 opengl openmpt opus pipewire pulseaudio qt6 qtmedia scrobbler sdl sid sndfile soxr streamtuner vorbis wavpack wayland X " REQUIRED_USE=" ampache? ( http ) streamtuner? ( http ) " # The following plugins REQUIRE a GUI build of audacious, because non-GUI # builds do NOT install the libaudgui library & headers. # Plugins without a configure option: # albumart{,-qt} # blur-scope{,-qt} # delete-files # filebrowser-qt # ladspa # lyrics-{gtk,qt} # playback-history-qt # playlist-manager{,-qt} # search-tool{,-qt} # song-info-qt # spectrum-analyzer # statusicon{,-qt} # skins{,-qt} # Plugins with a configure option: # aosd (X+gtk) # ampache (qt6) # glspectrum (X) (handles qtglspectrum if qt6) # gtkui # hotkey (X) (handles qthotkey if qt6) # notify # qtui # streamtuner (qt6) # vumeter{,-qt} (forced) BDEPEND=" dev-util/gdbus-codegen virtual/pkgconfig " DEPEND=" app-arch/unzip dev-libs/glib:2 dev-libs/libxml2:2= ~media-sound/audacious-${PV}[gtk=,qt6=] virtual/zlib:= aac? ( media-libs/faad2 ) alsa? ( >=media-libs/alsa-lib-1.0.16 ) bs2b? ( >=media-libs/libbs2b-3.0.0 ) cdda? ( >=dev-libs/libcdio-0.70:= dev-libs/libcdio-paranoia:= >=media-libs/libcddb-1.2.1 ) cue? ( media-libs/libcue:= ) ffmpeg? ( >=media-video/ffmpeg-2.8.1:= ) flac? ( >=media-libs/flac-1.2.1-r1:= ) fluidsynth? ( >=media-sound/fluidsynth-1.0.6:= ) gtk? ( >=dev-libs/json-glib-1.0 x11-libs/cairo >=x11-libs/gdk-pixbuf-2.26:2 >=x11-libs/gtk+-3.22:3[wayland?,X?] x11-libs/pango libnotify? ( >=x11-libs/libnotify-0.7 ) X? ( x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXrender opengl? ( media-libs/libglvnd[X] ) ) ) http? ( >=net-libs/neon-0.27:= ) jack? ( virtual/jack ) lame? ( media-sound/lame ) libsamplerate? ( media-libs/libsamplerate ) lirc? ( app-misc/lirc ) mms? ( >=media-libs/libmms-0.3 ) modplug? ( media-libs/libmodplug ) mp3? ( >=media-sound/mpg123-base-1.12 ) openmpt? ( >=media-libs/libopenmpt-0.2 ) opus? ( >=media-libs/opusfile-0.4 ) pipewire? ( >=media-video/pipewire-0.3.33:= ) pulseaudio? ( >=media-libs/libpulse-0.9.5 ) qt6? ( dev-qt/qtbase:6[gui,widgets] ampache? ( >=media-libs/ampache_browser-1.0.7-r1 ) libnotify? ( >=x11-libs/gdk-pixbuf-2.26:2 >=x11-libs/libnotify-0.7 ) opengl? ( dev-qt/qtbase:6[-gles2-only,opengl] ) qtmedia? ( dev-qt/qtmultimedia:6 ) streamtuner? ( dev-qt/qtbase:6[network] ) X? ( dev-qt/qtbase:6[X] x11-libs/libX11 ) ) scrobbler? ( >=net-misc/curl-7.9.7 ) sdl? ( >=media-libs/libsdl3-3.2.0 ) sid? ( >=media-libs/libsidplayfp-2.0:= ) sndfile? ( >=media-libs/libsndfile-1.0.17-r1 ) soxr? ( media-libs/soxr ) vorbis? ( >=media-libs/libogg-1.1.3 >=media-libs/libvorbis-1.2.0 ) wavpack? ( >=media-sound/wavpack-4.50.1-r1 ) " RDEPEND="${DEPEND}" src_prepare() { default # avoid automagic for glspectrum if ! use X; then sed -i -e "s/dependency('x11',.*)/disabler()/" meson.build || die fi } src_configure() { # defang automagic dependencies use X || append-cppflags -DGENTOO_GTK_HIDE_X11 use wayland || append-cppflags -DGENTOO_GTK_HIDE_WAYLAND local emesonargs=( # GUI toolkits $(meson_use gtk) -Dgtk2=false $(meson_use qt6 qt) -Dqt5=false # container plugins $(meson_use cue) # transport plugins $(meson_use mms) $(meson_use http neon) # input plugins $(meson_use aac) -Dadplug=false $(meson_use fluidsynth amidiplug) $(meson_use cdda cdaudio) $(meson_use gme console) $(meson_use ffmpeg ffaudio) $(meson_use flac) $(meson_use modplug) $(meson_use mp3 mpg123) $(meson_use openmpt) $(meson_use opus) $(meson_use sid) $(meson_use sndfile) $(meson_use vorbis) $(meson_use wavpack) # output plugins $(meson_use alsa) -Dcoreaudio=false # filewriter $(meson_use flac filewriter-flac) $(meson_use lame filewriter-mp3) $(meson_use vorbis filewriter-ogg) $(meson_use jack) -Doss=false $(meson_use pipewire) $(meson_use pulseaudio pulse) $(meson_use qtmedia qtaudio) $(meson_use sdl sdlout) -Dsndio=false # general plugins $(meson_use ampache) $(meson_use X aosd) $(meson_use X hotkey) $(meson_use lirc) -Dmac-media-keys=false -Dmpris2=true $(meson_use libnotify notify) $(meson_use scrobbler scrobbler2) -Dsongchange=true $(meson_use streamtuner) # effect plugins $(meson_use bs2b) $(meson_use libsamplerate resample) $(meson_use libsamplerate speedpitch) $(meson_use soxr) # visualization plugins $(meson_use opengl gl-spectrum) -Dvumeter=true ) meson_src_configure } src_install() { meson_src_install # the skin Winamp2.9 is copyrighted, so revert upstream' commit 367e7a3 # see comments at https://www.gnome-look.org/p/1008229 and bug #965338 # part of skins-data which depends on gui if use gtk || use qt6; then rm -r "${ED}"/usr/share/audacious/Skins/Winamp2.9 || die fi # Gentoo_ice Winamp skin installation; bug #109772 # The Winamp interface is not supported on Wayland. if use X; then insinto /usr/share/audacious/Skins/gentoo_ice doins -r "${WORKDIR}"/gentoo_ice/. docinto gentoo_ice dodoc "${WORKDIR}"/README fi }