source: trunk/dports/multimedia/audacious-plugins/Portfile

Last change on this file was 153444, checked in by ionic@…, 12 months ago

multimedia/audacious-plugins: update to 3.8 including patchset.

Changes:

  • Renamed patches to drop the file name and add a description of what they do.
  • Refreshed patches.
  • Dropped the patch switching from -std=gnu++11 to -std=c++11 on OS X. Enabling GNU extensions shouldn't Hurd.
  • +vorbis and +flac now require +filewriter, as it doesn't make sense to not enable it if it comes for free (filewriter has no external dependencies, other than vorbis, faac and lame, which are pulled in by the vorbis, flac or lame variants.)
  • Initial support for the ampache plugin via a variant, but commented out, as the required dependency has not been ported yet.
  • +notifications can now be used with Qt5 as well and has been added to the +full variant set.
  • +filewriter added to the +full variant set, as it adds no external dependencies by itself and can now be used with GTK2, GTK3 and Qt5.
  • The Qt5 interface will now be regarded as a fully-qualified member, as it matured quite a lot.
  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 15.0 KB
Line 
1# -*- 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
2# $Id: Portfile 153444 2016-09-30 11:15:27Z ryandesign@macports.org $
3
4PortSystem          1.0
5PortGroup           conflicts_build 1.0
6PortGroup           cxx11 1.0
7
8name                audacious-plugins
9
10# Please keep audacious, audacious-core and audacious-plugins synchronized.
11version             3.8
12revision            0
13
14# FIXME: probably more licenses involved here...
15license             BSD GPL-2+
16categories          multimedia
17platforms           darwin
18maintainers         ionic
19homepage            http://www.audacious-media-player.org/
20description         Adds I/O, audio decoding, audio transforming and UI plugins.
21long_description    This ports bundles most of the functionality for audacious. \
22                    ${description}
23
24# Maintainer-only helper for testing changes quickly and easily.
25#fetch.type          git
26#git.url             git://github.com/Ionic/audacious-plugins
27#git.branch          ${name}-${version}-buildfix
28
29master_sites        http://distfiles.audacious-media-player.org
30use_bzip2           yes
31checksums           rmd160  a9599198be430218fcfda4184222df7fcaf8398e \
32                    sha256  8179b80fffc893d4a2533fc7b7c4800981bc9ab3c6d1742a4c832fd6176ca24a
33
34universal_variant   no
35
36conflicts_build     ${name}
37
38patchfiles          patch-update-buildsys-and-make-verbose.diff \
39                    patch-drop-libc++.diff
40
41depends_build       path:bin/pkg-config:pkgconfig \
42                    path:bin/aclocal:automake \
43                    path:bin/autom4te:autoconf
44
45depends_lib         port:audacious-core \
46                    port:gettext\
47                    port:libxml2 \
48                    path:lib/pkgconfig/glib-2.0.pc:glib2 \
49                    port:neon
50
51depends_run         port:unzip
52
53# Note: rpath is required on Mac OS X.
54#       sdlout is the only working audio output plugin at the moment on OS X.
55#       coreaudio is always enabled on OS X.
56#       Try PulseAudio at your own risk.
57#       --with-system-libxml2 enables or disables usage of libxml2 in /usr.
58#       Play it safe and use our libxml2 port.
59#       mac-media-keys is currently broken.
60configure.args      --enable-nls \
61                    --disable-gtk \
62                    --disable-qt \
63                    --with-system-libxml2=no \
64                    --disable-hotkey \
65                    --enable-songchange \
66                    --enable-neon \
67                    --enable-rpath \
68                    --disable-console \
69                    --disable-qtaudio \
70                    --disable-pulse \
71                    --enable-coreaudio \
72                    --disable-sdlout \
73                    --disable-mp3 \
74                    --disable-gnomeshortcuts \
75                    --disable-lirc \
76                    --disable-aosd \
77                    --disable-aosd-xcomp \
78                    --disable-notify \
79                    --disable-mpris2 \
80                    --disable-vorbis \
81                    --disable-flac \
82                    --disable-wavpack \
83                    --disable-aac \
84                    --disable-sndfile \
85                    --disable-modplug \
86                    --with-ffmpeg=none \
87                    --disable-jack \
88                    --disable-sid \
89                    --disable-oss4 \
90                    --disable-alsa \
91                    --disable-sndio \
92                    --disable-amidiplug \
93                    --disable-cdaudio \
94                    --disable-scrobbler2 \
95                    --disable-ampache \
96                    --disable-mms \
97                    --disable-cue \
98                    --disable-filewriter \
99                    --disable-filewriter_mp3 \
100                    --disable-bs2b \
101                    --disable-resample \
102                    --disable-speedpitch \
103                    --disable-soxr \
104                    --disable-glspectrum \
105                    --disable-qtglspectrum \
106                    --disable-mac-media-keys
107
108default_variants    +full
109
110use_autoreconf      yes
111autoreconf.cmd      ./autogen.sh
112autoreconf.args
113
114post-destroot {
115    xinstall -d -m 0755 ${destroot}${prefix}/share/doc/${name}
116    xinstall -m 0644 ${worksrcpath}/COPYING ${destroot}${prefix}/share/doc/${name}
117}
118
119variant console description {Add console game music decoder} {
120    depends_lib-append      port:zlib
121    configure.args-replace  --disable-console \
122                            --enable-console
123}
124
125variant pulseaudio description {Add support for PulseAudio} {
126    depends_lib-append      port:pulseaudio
127    configure.args-replace  --disable-pulse \
128                            --enable-pulse
129}
130
131variant mp3 description {Add support for reading MP3 files} {
132    depends_lib-append      port:mpg123
133    configure.args-replace  --disable-mp3 \
134                            --enable-mp3
135}
136
137variant dbus description {Adds support for GNOME shortcuts and remote control via DBUS} {
138    depends_build-append    path:bin/gdbus-codegen:glib2
139    depends_lib-append      path:lib/pkgconfig/dbus-1.pc:dbus \
140                            path:lib/pkgconfig/dbus-glib-1.pc:dbus-glib
141    configure.args-replace  --disable-gnomeshortcuts \
142                            --enable-gnomeshortcuts
143    configure.args-replace  --disable-mpris2 \
144                            --enable-mpris2
145}
146
147variant lirc description {Adds support for infrared devices via LIRC} {
148    depends_lib-append      port:lirc
149    configure.args-replace  --disable-lirc \
150                            --enable-lirc
151}
152
153variant osd description {Adds OSD support via pangocairo} {
154    depends_lib-append      port:xrender
155    configure.args-replace  --disable-aosd \
156                            --enable-aosd
157}
158
159variant osd_composite requires osd description {Enables X Composite support for OSD} {
160    depends_lib-append      port:xorg-libXcomposite
161    configure.args-replace  --disable-aosd-xcomp \
162                            --enable-aosd-xcomp
163}
164
165variant notifications description {Adds support for notifications via libnotify} {
166    depends_lib-append      port:libnotify
167    configure.args-replace  --disable-notify \
168                            --enable-notify
169}
170
171variant filewriter description {Add support for the filewriter output plugin} {
172    configure.args-replace  --disable-filewriter \
173                            --enable-filewriter
174}
175
176variant vorbis requires filewriter description {Add support for the OggVorbis audio codec} {
177    depends_lib-append      port:libvorbis
178    depends_lib-append      port:libogg
179    configure.args-replace  --disable-vorbis \
180                            --enable-vorbis
181
182    configure.args-replace  --disable-filewriter \
183                            --enable-filewriter
184}
185
186variant flac requires filewriter description {Add support for FLAC: Free Lossless Audio Codec} {
187    depends_lib-append      port:flac
188    configure.args-replace  --disable-flac \
189                            --enable-flac
190
191    configure.args-replace  --disable-filewriter \
192                            --enable-filewriter
193}
194
195variant wavpack description {Add support for wavpack audio compression tools} {
196    depends_lib-append      port:wavpack
197    configure.args-replace  --disable-wavpack \
198                            --enable-wavpack
199}
200
201variant aac description {Add support for MPEG-4 AAC Audio} {
202    depends_lib-append      port:faad2
203    configure.args-replace  --disable-aac \
204                            --enable-aac
205}
206
207variant sndfile description {Add support for libsndfile} {
208    depends_lib-append      port:libsndfile
209    configure.args-replace  --disable-sndfile \
210                            --enable-sndfile
211}
212
213variant modplug description {Add support for MOD audio codec} {
214    depends_lib-append      port:libmodplug
215    configure.args-replace  --disable-modplug \
216                            --enable-modplug
217}
218
219variant ffmpeg conflicts sdl2 description {Add support for decoding audio streams via ffmpeg} {
220    depends_lib-append      path:lib/libavcodec.dylib:ffmpeg
221    configure.args-replace  --with-ffmpeg=none \
222                            --with-ffmpeg=ffmpeg
223}
224
225variant jack description {Add support for the JACK Audio Connection Kit} {
226    depends_lib-append      port:jack
227    configure.args-replace  --disable-jack \
228                            --enable-jack
229}
230
231# libsidplayfp not ported yet.
232#variant sid description {Build with SID (Commodore 64 Audio) support} {
233#    depends_lib-append      port:libsidplayfp
234#    configure.args-replace  --disable-sid \
235#                            --enable-sid
236#}
237
238variant midi description {Add MIDI playback support via fluidsynth} {
239    depends_lib-append      port:fluidsynth
240    configure.args-replace  --disable-amidiplug \
241                            --enable-amidiplug
242}
243
244variant cdaudio description {Add support for CDAudio} {
245    depends_lib-append      port:libcdio \
246                            port:libcdio-paranoia \
247                            port:libcddb
248    configure.args-replace  --disable-cdaudio \
249                            --enable-cdaudio
250}
251
252variant lastfm description {Add support for last.fm} {
253    depends_lib-append      port:curl
254    configure.args-replace  --disable-scrobbler2 \
255                            --enable-scrobbler2
256}
257
258# ampache_browser not ported yet.
259#variant ampache requires qt5 description {Add support for browsing music on an Ampache server} {
260#   depends_lib-append      port:ampache_browser
261#   configure.args-replace  --disable-ampache \
262#                           --enable-ampache
263#}
264
265variant mms description {Add support for Microsoft Media Server (MMS) streams} {
266    depends_lib-append      port:libmms
267    configure.args-replace  --disable-mms \
268                            --enable-mms
269}
270
271variant cue description {Add support for CUE sheets} {
272    depends_lib-append      port:libcue
273    configure.args-replace  --disable-cue \
274                            --enable-cue
275}
276
277variant lame requires filewriter description {Add support for writing MP3 files} {
278    depends_lib-append      port:lame
279    configure.args-replace  --disable-filewriter_mp3 \
280                            --enable-filewriter_mp3
281}
282
283variant transform description {Add support for audio transformation, most notably resampling, pitching and speed control} {
284    depends_lib-append      port:libsamplerate \
285                            port:soxr
286    configure.args-replace  --disable-resample \
287                            --enable-resample
288    configure.args-replace  --disable-speedpitch \
289                            --enable-speedpitch
290    configure.args-replace  --disable-soxr \
291                            --enable-soxr
292}
293
294variant opengl description {Add support for spectrum visualization via OpenGL} {
295    if {[variant_isset gtk2] || [variant_isset gtk3]} {
296        depends_lib-append      path:lib/libGL.dylib:mesa
297        configure.args-replace  --disable-glspectrum \
298                                --enable-glspectrum
299    }
300}
301
302variant sdl1 conflicts sdl2 description {Add SDL audio output via libsdl1} {
303    depends_lib-append      port:libsdl
304    configure.args-replace  --disable-sdlout \
305                            --enable-sdlout
306    configure.args-append   --with-libsdl=1
307}
308
309# ffmpeg is depending upon and using libsdl1. Loading both the ffmpeg and sdlout
310# plugins (when compiled with libsdl2) will hence lead to undefined behavior, as
311# both libsdl1 and libsdl2 expose functions with the same name.
312variant sdl2 conflicts sdl1 ffmpeg description {Add SDL audio output via libsdl2} {
313    depends_lib-append      port:libsdl2
314    configure.args-replace  --disable-sdlout \
315                            --enable-sdlout
316    configure.args-append   --with-libsdl=2
317}
318
319variant qt5 description {Add Qt5 support} {
320    PortGroup   qt5 1.0
321
322    depends_lib-append      port:qt5-qtmultimedia
323
324    configure.args-replace  --disable-qt \
325                            --enable-qt
326
327    if {[variant_isset opengl]} {
328        configure.args-replace  --disable-qtglspectrum \
329                                --enable-qtglspectrum
330    }
331
332    configure.args-replace  --disable-qtaudio \
333                            --enable-qtaudio
334
335    notes-append {
336                    The Qt5 interface is known to crash upon exit, \
337                    but should otherwise be functional.\
338    }
339}
340
341variant gtk2 conflicts gtk3 description {Add GTK2 support} {
342    depends_lib-append      path:lib/pkgconfig/gtk-2.0.pc:gtk2 \
343                            path:lib/pkgconfig/gdk-x11-2.0.pc:gtk2
344
345    configure.args-replace  --disable-gtk \
346                            --enable-gtk
347    configure.args-replace  --disable-hotkey \
348                            --enable-hotkey
349}
350
351variant gtk3 conflicts gtk2 description {Add GTK3 support} {
352    depends_lib-append      path:lib/pkgconfig/gtk-3.0.pc:gtk3 \
353                            path:lib/pkgconfig/gdk-x11-3.0.pc:gtk3
354
355    patchfiles-append       patch-gtk3.diff
356
357    configure.args-replace  --disable-gtk \
358                            --enable-gtk
359    configure.args-replace  --disable-hotkey \
360                            --enable-hotkey
361}
362
363variant full requires console mp3 dbus lirc wavpack aac sndfile modplug \
364                      midi cdaudio mms cue lame flac transform opengl \
365                      filewriter notifications \
366             description {Build all plugins, except additional sound output plugins and potentially conflicting variants} {}
367
368if {[variant_isset jack]} {
369    notes-append {
370                    You have selected the JACK audio output plugin. \
371                    To use this plugin, jackd needs to be started manually. \
372                    The plugin is known to have issues leading to crackling sound output. \
373                    Please don't report bugs against this plugin.\
374    }
375}
376
377if {![variant_isset sdl2]} {
378    default_variants-append +sdl1 +ffmpeg
379}
380
381# Need either one of gtk2, gtk3 or Qt5 to have a GUI. Default to gtk2, which is preferred by upstream.
382if {![variant_isset gtk2] && ![variant_isset gtk3] && ![variant_isset qt5]} {
383    default_variants-append +gtk2
384}
385
386# Add other variants to the "full" set if gtk2 or gtk3 have been enabled.
387if {[variant_isset full] && ([variant_isset gtk2] || [variant_isset gtk3])} {
388    default_variants-append +osd +osd_composite +lastfm
389}
390
391# OSD only supported with gtk2 or gtk3.
392if {![variant_isset gtk2] && ![variant_isset gtk3] && ([variant_isset osd] || [variant_isset osd_composite])} {
393    ui_debug "The osd or osd_composite variants require either the gtk2 or gtk3 variants to be enabled."
394    error "+osd or +osd_composite require +gtk2 or +gtk3."
395}
396
397# LastFM/scrobbler2 only supported with gtk2 or gtk3.
398if {![variant_isset gtk2] && ![variant_isset gtk3] && [variant_isset lastfm]} {
399    ui_debug "The lastfm variant requires either the gtk2 or gtk3 variants to be enabled."
400    error "+lastfm requires +gtk2 or +gtk3."
401}
402
403# OpenGL only supported with gtk2, gtk3 or Qt5.
404if {![variant_isset gtk2] && ![variant_isset gtk3] && ![variant_isset qt5] && [variant_isset opengl]} {
405    ui_debug "The opengl variant requires either the gtk2, gtk3 or qt5 variants to be enabled."
406    error "+opengl requires +gtk2, +gtk3 or +qt5."
407}
408
409livecheck.type      regex
410livecheck.url       ${master_sites}
411livecheck.regex     "${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"
Note: See TracBrowser for help on using the repository browser.