# -*- 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 PortGroup meson 1.0 PortGroup active_variants 1.1 name audacious-plugins # Please keep audacious, audacious-core and audacious-plugins synchronized. version 4.3.1 revision 1 # 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 d6b7be1e180665bcf8c039463c6e1f12c1fca178 \ sha256 2dea26e3af583a2d684df240b27b2b2932bcd653df4db500a85f4fe5d5fdc8a6 \ size 1786114 universal_variant no depends_lib port:audacious-core \ port:gettext \ port:libxml2 \ port:zlib \ path:lib/pkgconfig/glib-2.0.pc:glib2 depends_run port:unzip compiler.cxx_standard 2011 # Options order per meson_options.txt # gui configure.args-append \ -Dgtk=false \ -Dqt=false # container configure.args-append \ -Dcue=false # transport configure.args-append \ -Dmms=false \ -Dneon=false # input configure.args-append \ -Daac=false \ -Dadplug=false \ -Damidiplug=false \ -Dcdaudio=false \ -Dconsole=true \ -Dffaudio=false \ -Dflac=false \ -Dmodplug=false \ -Dmpg123=false \ -Dopenmpt=false \ -Dopus=false \ -Dsid=false \ -Dsndfile=false \ -Dvorbis=false \ -Dwavpack=false # output # 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. configure.args-append \ -Dalsa=false \ -Dcoreaudio=true \ -Dfilewriter=true \ -Dfilewriter-flac=false \ -Dfilewriter-mp3=false \ -Dfilewriter-ogg=false \ -Djack=false \ -Doss=false \ -Dpipewire=false \ -Dpulse=false \ -Dqtaudio=false \ -Dsdlout=false \ -Dsndio=false # general configure.args-append \ -Dampache=false \ -Daosd=false \ -Dhotkey=false \ -Dlirc=false \ -Dmac-media-keys=true \ -Dmpris2=false \ -Dnotify=false \ -Dscrobbler2=false \ -Dsongchange=true \ -Dstreamtuner=false # effect configure.args-append \ -Dbs2b=false \ -Dresample=false \ -Dsoxr=false \ -Dspeedpitch=false \ # visualization configure.args-append \ -Dgl-spectrum=false \ -Dvumeter=false \ # interface configure.args-append \ -Dmoonstone=false default_variants +full depends_build port:pkgconfig post-destroot { xinstall -d -m 0755 ${destroot}${prefix}/share/doc/${name} xinstall -m 0644 ${worksrcpath}/COPYING ${destroot}${prefix}/share/doc/${name} } variant pulseaudio description {Add support for PulseAudio} { depends_lib-append port:pulseaudio configure.args-replace -Dpulse=false \ -Dpulse=true } variant mp3 description {Add support for MP3 files} { depends_lib-append port:mpg123 \ port:lame configure.args-replace -Dmpg123=false \ -Dmpg123=true \ -Dfilewriter-mp3=false \ -Dfilewriter-mp3=true } 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 -Dmpris2=false \ -Dmpris2=true } variant lirc description {Adds support for infrared devices via LIRC} { depends_lib-append port:lirc configure.args-replace -Dlirc=false \ -Dlirc=true } variant osd description {Adds OSD support via pangocairo} { depends_lib-append port:xrender \ port:xorg-libXcomposite configure.args-replace -Daosd=false \ -Daosd=true } variant notifications description {Adds support for notifications via libnotify} { depends_lib-append port:libnotify configure.args-replace -Dnotify=false \ -Dnotify=true } variant vorbis description {Add support for the OggVorbis audio codec} { depends_lib-append port:libvorbis configure.args-replace -Dvorbis=false \ -Dvorbis=true \ -Dfilewriter-ogg=false \ -Dfilewriter-ogg=true } variant opus description {Add support for the Opus codec} { depends_lib-append port:opusfile configure.args-replace -Dopus=false \ -Dopus=true } variant flac description {Add support for FLAC: Free Lossless Audio Codec} { depends_lib-append port:flac configure.args-replace -Dflac=false \ -Dflac=true \ -Dfilewriter-flac=false \ -Dfilewriter-flac=true } variant wavpack description {Add support for wavpack audio compression tools} { depends_lib-append port:wavpack configure.args-replace -Dwavpack=false \ -Dwavpack=true } variant aac description {Add support for MPEG-4 AAC Audio} { depends_lib-append port:faad2 configure.args-replace -Daac=false \ -Daac=true } variant sndfile description {Add support for libsndfile} { depends_lib-append port:libsndfile configure.args-replace -Dsndfile=false \ -Dsndfile=true } variant modplug description {Add support for MOD audio codec} { depends_lib-append port:libmodplug configure.args-replace -Dmodplug=false \ -Dmodplug=true } variant openmpt description {Add support for MOD, XM, S3M,IT, MPTM and others} { depends_lib-append port:libopenmpt configure.args-replace -Dopenmpt=false \ -Dopenmpt=true } variant adplug description {Add support for the AdLib synthesizer} { depends_lib-append port:adplug configure.args-replace -Dadplug=false \ -Dadplug=true } variant bs2b description {Add support for Bauer stereophonic-to-binaural} { depends_lib-append port:libbs2b configure.args-replace -Dbs2b=false \ -Dbs2b=true } variant ffmpeg conflicts sdl1 description {Add support for decoding audio streams via ffmpeg} { set ffmpeg_ver 6 depends_lib-append port:ffmpeg${ffmpeg_ver} configure.pkg_config_path-append \ ${prefix}/libexec/ffmpeg${ffmpeg_ver}/lib/pkgconfig configure.args-replace -Dffaudio=false \ -Dffaudio=true } variant jack description {Add support for the JACK Audio Connection Kit} { depends_lib-append port:jack configure.args-replace -Djack=false \ -Djack=true } variant sid description {Build with SID (Commodore 64 Audio) support} { depends_lib-append port:libsidplayfp configure.args-replace -Dsid=false \ -Dsid=true } variant midi description {Add MIDI playback support via fluidsynth} { depends_lib-append port:fluidsynth configure.args-replace -Damidiplug=false \ -Damidiplug=true } variant cdaudio description {Add support for CDAudio} { depends_lib-append port:libcdio-paranoia \ port:libcddb configure.args-replace -Dcdaudio=false \ -Dcdaudio=true } variant lastfm description {Add support for last.fm} { depends_lib-append port:curl configure.args-replace -Dscrobbler2=false \ -Dscrobbler2=true } variant ampache requires qt5 description {Add support for browsing music on an Ampache server} { depends_lib-append port:ampache_browser configure.args-replace -Dampache=false \ -Dampache=true require_active_variants ampache_browser qt5 } variant mms description {Add support for Microsoft Media Server (MMS) streams} { depends_lib-append port:libmms configure.args-replace -Dmms=false \ -Dmms=true } variant neon description {Add support for neon HTTP client} { depends_lib-append port:neon configure.args-replace -Dneon=false \ -Dneon=true } variant cue description {Add support for CUE sheets} { depends_lib-append port:libcue configure.args-replace -Dcue=false \ -Dcue=true } 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 -Dresample=false \ -Dresample=true \ -Dspeedpitch=false \ -Dspeedpitch=true \ -Dsoxr=false \ -Dsoxr=true } variant opengl description {Add support for spectrum visualization via OpenGL} { depends_lib-append path:lib/libGL.dylib:mesa configure.args-replace -Dgl-spectrum=false \ -Dgl-spectrum=true } variant sdl1 conflicts sdl2 ffmpeg description {Add SDL audio output via libsdl1} { depends_lib-append port:libsdl configure.args-replace -Dsdlout=false \ -Dsdlout=true } variant sdl2 conflicts sdl1 description {Add SDL audio output via libsdl2} { depends_lib-append port:libsdl2 configure.args-replace -Dsdlout=false \ -Dsdlout=true } variant qt5 description {Add Qt5 support} { PortGroup qt5 1.0 qt5.depends_component qtmultimedia configure.args-replace -Dqt=false \ -Dqt=true \ -Dqtaudio=false \ -Dqtaudio=true \ -Dvumeter=false \ -Dvumeter=true require_active_variants audacious-core qt5 } 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 -Dgtk=false \ -Dgtk=true \ -Dhotkey=false \ -Dhotkey=true require_active_variants audacious-core gtk2 } 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 configure.args-replace -Dgtk=false \ -Dgtk=true \ -Dhotkey=false \ -Dhotkey=true configure.args-append -Dgtk3=true require_active_variants audacious-core gtk3 } variant full requires mp3 dbus wavpack aac sndfile modplug openmpt sid \ midi cdaudio lastfm mms neon cue flac transform \ vorbis opus adplug bs2b 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 sdl1]} { default_variants-append +sdl2 +ffmpeg } # Need either one of gtk2, gtk3 or Qt5 to have a GUI. # Default to qt5, which is preferred by upstream. if {![variant_isset gtk2] && ![variant_isset gtk3]} { default_variants-append +qt5 } # UI required variants # Add other variants to the "full" set if gtk2, gtk3 or qt5 have been enabled. if {[variant_isset full] && ([variant_isset gtk2] || [variant_isset gtk3] || [variant_isset qt5])} { default_variants-append +opengl } # 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 variant to be enabled." error "+opengl requires +gtk2, +gtk3 or +qt5." } # GTK only # 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 only supported with gtk2 or gtk3. if {![variant_isset gtk2] && ![variant_isset gtk3] && [variant_isset osd]} { ui_debug "The osd variant requires either the gtk2 or gtk3 variant to be enabled." error "+osd require +gtk2 or +gtk3." } livecheck.type regex livecheck.url ${master_sites} livecheck.regex "${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"