# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4 PortSystem 1.0 name audacious-plugins # Please keep audacious, audacious-core and audacious-plugins synchronized. version 3.10.1 revision 6 # FIXME: probably more licenses involved here... license BSD GPL-2+ categories multimedia maintainers {ionic @Ionic} homepage https://www.audacious-media-player.org/ description Adds I/O, audio decoding, audio transforming and UI plugins. long_description This ports bundles most of the functionality for audacious. \ {*}${description} # Maintainer-only helper for testing changes quickly and easily. #fetch.type git #git.url https://github.com/Ionic/audacious-plugins #git.branch ${name}-${version}-buildfix master_sites https://distfiles.audacious-media-player.org use_bzip2 yes checksums rmd160 96b7f2b0041508e8cea5f8188d9fb7b69b08f0a3 \ sha256 eec3177631f99729bf0e94223b627406cc648c70e6646e35613c7b55040a2642 \ size 1715477 universal_variant no patchfiles patch-buildsys-make-verbose.diff depends_lib port:audacious-core \ port:gettext\ port:libxml2 \ path:lib/pkgconfig/glib-2.0.pc:glib2 \ port:neon depends_run port:unzip compiler.cxx_standard 2011 # Note: rpath is required on macOS. # sdlout was originally the only working audio output plugin on macOS. # coreaudio is always enabled on macOS. It has problems setting the initial volume. # When using Qt5, the QtMultimedia audio output seems to be a good choice feature-wise. # Try PulseAudio at your own risk. # --with-system-libxml2 enables or disables usage of libxml2 in /usr. # Play it safe and use our libxml2 port. configure.args --enable-nls \ --disable-gtk \ --disable-qt \ --with-system-libxml2=no \ --disable-hotkey \ --enable-songchange \ --enable-neon \ --enable-rpath \ --enable-mac-media-keys \ --disable-console \ --disable-qtaudio \ --disable-pulse \ --enable-coreaudio \ --disable-sdlout \ --disable-mp3 \ --disable-gnomeshortcuts \ --disable-lirc \ --disable-aosd \ --disable-aosd-xcomp \ --disable-notify \ --disable-mpris2 \ --disable-vorbis \ --disable-flac \ --disable-wavpack \ --disable-aac \ --disable-sndfile \ --disable-modplug \ --with-ffmpeg=none \ --disable-jack \ --disable-sid \ --disable-oss4 \ --disable-alsa \ --disable-sndio \ --disable-amidiplug \ --disable-cdaudio \ --disable-scrobbler2 \ --disable-ampache \ --disable-mms \ --disable-cue \ --disable-filewriter \ --disable-filewriter_mp3 \ --disable-bs2b \ --disable-resample \ --disable-speedpitch \ --disable-soxr \ --disable-glspectrum \ --disable-qtglspectrum default_variants +full use_autoreconf yes autoreconf.cmd ./autogen.sh autoreconf.args depends_build port:pkgconfig \ path:bin/aclocal:automake \ path:bin/autom4te:autoconf post-destroot { xinstall -d -m 0755 ${destroot}${prefix}/share/doc/${name} xinstall -m 0644 ${worksrcpath}/COPYING ${destroot}${prefix}/share/doc/${name} } variant console description {Add console game music decoder} { depends_lib-append port:zlib configure.args-replace --disable-console \ --enable-console } variant pulseaudio description {Add support for PulseAudio} { depends_lib-append port:pulseaudio configure.args-replace --disable-pulse \ --enable-pulse } variant mp3 description {Add support for reading MP3 files} { depends_lib-append port:mpg123 configure.args-replace --disable-mp3 \ --enable-mp3 } variant dbus description {Adds support for GNOME shortcuts and remote control via DBUS} { depends_build-append path:bin/gdbus-codegen:glib2 depends_lib-append path:lib/pkgconfig/dbus-1.pc:dbus \ path:lib/pkgconfig/dbus-glib-1.pc:dbus-glib configure.args-replace --disable-gnomeshortcuts \ --enable-gnomeshortcuts configure.args-replace --disable-mpris2 \ --enable-mpris2 } variant lirc description {Adds support for infrared devices via LIRC} { depends_lib-append port:lirc configure.args-replace --disable-lirc \ --enable-lirc } variant osd description {Adds OSD support via pangocairo} { depends_lib-append port:xrender configure.args-replace --disable-aosd \ --enable-aosd } variant osd_composite requires osd description {Enables X Composite support for OSD} { depends_lib-append port:xorg-libXcomposite configure.args-replace --disable-aosd-xcomp \ --enable-aosd-xcomp } variant notifications description {Adds support for notifications via libnotify} { depends_lib-append port:libnotify configure.args-replace --disable-notify \ --enable-notify } variant filewriter description {Add support for the filewriter output plugin} { configure.args-replace --disable-filewriter \ --enable-filewriter } variant vorbis requires filewriter description {Add support for the OggVorbis audio codec} { depends_lib-append port:libvorbis depends_lib-append port:libogg configure.args-replace --disable-vorbis \ --enable-vorbis } variant flac requires filewriter description {Add support for FLAC: Free Lossless Audio Codec} { depends_lib-append port:flac configure.args-replace --disable-flac \ --enable-flac } variant wavpack description {Add support for wavpack audio compression tools} { depends_lib-append port:wavpack configure.args-replace --disable-wavpack \ --enable-wavpack } variant aac description {Add support for MPEG-4 AAC Audio} { depends_lib-append port:faad2 configure.args-replace --disable-aac \ --enable-aac } variant sndfile description {Add support for libsndfile} { depends_lib-append port:libsndfile configure.args-replace --disable-sndfile \ --enable-sndfile } variant modplug description {Add support for MOD audio codec} { depends_lib-append port:libmodplug configure.args-replace --disable-modplug \ --enable-modplug } variant ffmpeg conflicts sdl2 description {Add support for decoding audio streams via ffmpeg} { depends_lib-append path:lib/libavcodec.dylib:ffmpeg configure.args-replace --with-ffmpeg=none \ --with-ffmpeg=ffmpeg } variant jack description {Add support for the JACK Audio Connection Kit} { depends_lib-append port:jack configure.args-replace --disable-jack \ --enable-jack } # libsidplayfp not ported yet. #variant sid description {Build with SID (Commodore 64 Audio) support} { # depends_lib-append port:libsidplayfp # configure.args-replace --disable-sid \ # --enable-sid #} variant midi description {Add MIDI playback support via fluidsynth} { depends_lib-append port:fluidsynth configure.args-replace --disable-amidiplug \ --enable-amidiplug } variant cdaudio description {Add support for CDAudio} { depends_lib-append port:libcdio \ port:libcdio-paranoia \ port:libcddb configure.args-replace --disable-cdaudio \ --enable-cdaudio } variant lastfm description {Add support for last.fm} { depends_lib-append port:curl configure.args-replace --disable-scrobbler2 \ --enable-scrobbler2 } # ampache_browser not ported yet. #variant ampache requires qt5 description {Add support for browsing music on an Ampache server} { # depends_lib-append port:ampache_browser # configure.args-replace --disable-ampache \ # --enable-ampache #} variant mms description {Add support for Microsoft Media Server (MMS) streams} { depends_lib-append port:libmms configure.args-replace --disable-mms \ --enable-mms } variant cue description {Add support for CUE sheets} { depends_lib-append port:libcue configure.args-replace --disable-cue \ --enable-cue } variant lame requires filewriter description {Add support for writing MP3 files} { depends_lib-append port:lame configure.args-replace --disable-filewriter_mp3 \ --enable-filewriter_mp3 } variant transform description {Add support for audio transformation, most notably resampling, pitching and speed control} { depends_lib-append port:libsamplerate \ port:soxr configure.args-replace --disable-resample \ --enable-resample configure.args-replace --disable-speedpitch \ --enable-speedpitch configure.args-replace --disable-soxr \ --enable-soxr } variant opengl description {Add support for spectrum visualization via OpenGL} { if {[variant_isset gtk2] || [variant_isset gtk3]} { depends_lib-append path:lib/libGL.dylib:mesa configure.args-replace --disable-glspectrum \ --enable-glspectrum } } variant sdl1 conflicts sdl2 description {Add SDL audio output via libsdl1} { depends_lib-append port:libsdl configure.args-replace --disable-sdlout \ --enable-sdlout configure.args-append --with-libsdl=1 } # ffmpeg is depending upon and using libsdl1. Loading both the ffmpeg and sdlout # plugins (when compiled with libsdl2) will hence lead to undefined behavior, as # both libsdl1 and libsdl2 expose functions with the same name. variant sdl2 conflicts sdl1 ffmpeg description {Add SDL audio output via libsdl2} { depends_lib-append port:libsdl2 configure.args-replace --disable-sdlout \ --enable-sdlout configure.args-append --with-libsdl=2 } variant qt5 description {Add Qt5 support} { PortGroup qt5 1.0 qt5.depends_component qtmultimedia configure.args-replace --disable-qt \ --enable-qt if {[variant_isset opengl]} { configure.args-replace --disable-qtglspectrum \ --enable-qtglspectrum notes-append { The Qt5 Spectrum Analyzer Visualization plugin is\ known to produce garbage output.\ } } configure.args-replace --disable-qtaudio \ --enable-qtaudio } variant gtk2 conflicts gtk3 description {Add GTK2 support} { depends_lib-append path:lib/pkgconfig/gtk-2.0.pc:gtk2 \ path:lib/pkgconfig/gdk-x11-2.0.pc:gtk2 configure.args-replace --disable-gtk \ --enable-gtk configure.args-replace --disable-hotkey \ --enable-hotkey } variant gtk3 conflicts gtk2 description {Add GTK3 support} { depends_lib-append path:lib/pkgconfig/gtk-3.0.pc:gtk3 \ path:lib/pkgconfig/gdk-x11-3.0.pc:gtk3 patchfiles-append patch-gtk3.diff configure.args-replace --disable-gtk \ --enable-gtk configure.args-replace --disable-hotkey \ --enable-hotkey } variant full requires console mp3 dbus lirc wavpack aac sndfile modplug \ midi cdaudio mms cue lame flac transform opengl \ filewriter notifications \ description {Build all plugins, except additional sound output plugins and potentially conflicting variants} {} if {[variant_isset jack]} { notes-append { You have selected the JACK audio output plugin. \ To use this plugin, jackd needs to be started manually. \ The plugin is known to have issues leading to crackling sound output. \ Please don't report bugs against this plugin.\ } } if {![variant_isset sdl2]} { default_variants-append +sdl1 +ffmpeg } # Need either one of gtk2, gtk3 or Qt5 to have a GUI. Default to gtk2, which is preferred by upstream. if {![variant_isset gtk2] && ![variant_isset gtk3] && ![variant_isset qt5]} { default_variants-append +gtk2 } # Add other variants to the "full" set if gtk2 or gtk3 have been enabled. if {[variant_isset full] && ([variant_isset gtk2] || [variant_isset gtk3])} { default_variants-append +osd +osd_composite +lastfm } # OSD only supported with gtk2 or gtk3. if {![variant_isset gtk2] && ![variant_isset gtk3] && ([variant_isset osd] || [variant_isset osd_composite])} { ui_debug "The osd or osd_composite variants require either the gtk2 or gtk3 variants to be enabled." error "+osd or +osd_composite require +gtk2 or +gtk3." } # LastFM/scrobbler2 only supported with gtk2 or gtk3. if {![variant_isset gtk2] && ![variant_isset gtk3] && [variant_isset lastfm]} { ui_debug "The lastfm variant requires either the gtk2 or gtk3 variants to be enabled." error "+lastfm requires +gtk2 or +gtk3." } # OpenGL only supported with gtk2, gtk3 or Qt5. if {![variant_isset gtk2] && ![variant_isset gtk3] && ![variant_isset qt5] && [variant_isset opengl]} { ui_debug "The opengl variant requires either the gtk2, gtk3 or qt5 variants to be enabled." error "+opengl requires +gtk2, +gtk3 or +qt5." } livecheck.type regex livecheck.url ${master_sites} livecheck.regex "${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"