source: trunk/dports/multimedia/VLC-devel/Portfile @ 127266

Last change on this file since 127266 was 127266, checked in by jeremyhu@…, 5 years ago

VLC-devel: Bump to current 2.2 git

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 13.2 KB
Line 
1# -*- coding: utf-8; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4
2# $Id: Portfile 127266 2014-10-24 14:57:40Z jeremyhu@macports.org $
3
4PortSystem          1.0
5PortGroup           compiler_blacklist_versions 1.0
6
7name                VLC-devel
8version             2.1.99
9revision            18
10
11categories          multimedia
12
13maintainers         nomaintainer
14description         VLC is a cross-platform media player and streaming server
15long_description    VLC media player is a highly portable multimedia player for \
16                    various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, \
17                    mp3, ogg, ...) as well as DVDs, VCDs, and various streaming protocols. \
18                    It can also be used as a server to stream in unicast or multicast \
19                    in IPv4 or IPv6 on a high-bandwidth network.
20license             GPL
21
22platforms           darwin
23conflicts           VLC
24
25homepage            http://www.videolan.org
26
27# http://git.videolan.org/?p=vlc.git
28# http://git.videolan.org/?p=vlc.git;a=forks
29fetch.type          git
30#git.url             git://git.videolan.org/vlc/vlc-2.1.git
31git.url             git://git.videolan.org/vlc/vlc-2.2.git
32#git.url             git://git.videolan.org/vlc.git
33git.branch          70d70ee0460d3e4fedc98428de9d539ec9352a34
34
35#master_sites        http://download.videolan.org/pub/videolan/vlc/${version}/
36#distname            vlc-${version}
37#use_xz              yes
38#
39#checksums           md5     5ad114755670e4881a2b35354e2f79bc \
40#                    sha1    40d0ed360dd3fa7dc3ff4fbc9c319553ebb22538 \
41#                    rmd160  9d932e1be72b65cf47057191d9e84deeedea282c
42
43depends_build       port:pkgconfig
44
45depends_lib         \
46                    port:a52dec \
47                    port:avahi \
48                    port:bzip2 \
49                    port:faad2 \
50                    path:lib/libavcodec.dylib:ffmpeg \
51                    port:flac \
52                    port:fluidsynth \
53                    port:fontconfig \
54                    port:FreeRDP \
55                    port:freetype \
56                    port:fribidi \
57                    port:gettext \
58                    path:lib/pkgconfig/glib-2.0.pc:glib2 \
59                    port:gmp \
60                    port:gnutls \
61                    port:jpeg \
62                    port:lame \
63                    port:libass \
64                    port:libbluray \
65                    port:libcddb \
66                    port:libcdio \
67                    port:libdc1394 \
68                    port:libdca \
69                    port:libdvbpsi \
70                    port:libdvdnav \
71                    port:libdvdread \
72                    port:libebml \
73                    port:libgcrypt \
74                    port:libgpg-error \
75                    port:libiconv \
76                    port:libid3tag \
77                    port:libidn \
78                    port:libmad \
79                    port:libmatroska \
80                    port:libmodplug \
81                    port:libmpcdec \
82                    port:libmpeg2 \
83                    port:libogg \
84                    port:libopus \
85                    port:libpng \
86                    port:libproxy \
87                    port:libsamplerate \
88                    port:libsdl \
89                    port:libsdl_image \
90                    port:libsndfile \
91                    port:libssh2 \
92                    port:libtheora \
93                    port:libupnp \
94                    port:libusb \
95                    port:libvorbis \
96                    port:libxml2 \
97                    port:live555 \
98                    port:lua \
99                    port:ncurses \
100                    port:nettle \
101                    port:opencv \
102                    port:openjpeg15 \
103                    port:openssl \
104                    port:orc \
105                    port:p11-kit \
106                    port:pulseaudio \
107                    port:readline \
108                    port:schroedinger \
109                    port:speex \
110                    port:taglib \
111                    port:tiff \
112                    port:twolame \
113                    port:vcdimager \
114                    port:x264 \
115                    port:xorg-libX11 \
116                    port:xorg-libXau \
117                    port:xorg-libXdmcp \
118                    port:xorg-libXext \
119                    port:xorg-libXrandr \
120                    port:xorg-libxcb \
121                    port:xrender \
122                    port:XviD
123
124# VLC-2.1 and later are x86_64-only: https://trac.videolan.org/vlc/ticket/8161
125universal_variant   no
126supported_archs     x86_64
127
128compiler.blacklist  gcc-4.2 llvm-gcc-4.2 {clang < 300}
129
130pre-fetch {
131    if {${os.platform} eq "darwin" && ${os.major} < 10} {
132        ui_error "${name} ${version} requires Mac OS X 10.6 or greater."
133        return -code error "incompatible Mac OS X version"
134    }
135}
136
137patchfiles          buildfix-package.mak.patch \
138                    configure.ac-no-arch.patch \
139                    PR-34741-no__clang_version__.patch \
140                    static_assert.patch \
141                    no-sparkle.patch
142
143post-patch {
144    reinplace "s:librsvg-2/librsvg:librsvg:" \
145        ${worksrcpath}/modules/text_renderer/svg.c
146
147    if {[string match *clang* ${configure.cxx}] && ${configure.cxx_stdlib} == "libc++"} {
148        reinplace "s:-lstdc\+\+:-lc++:" \
149            ${worksrcpath}/configure.ac \
150            ${worksrcpath}/modules/access/Makefile.am
151    }
152}
153
154use_autoreconf      yes
155autoreconf.cmd      ./bootstrap
156autoreconf.pre_args
157autoreconf.args
158depends_build-append port:libtool port:autoconf port:automake
159
160configure.env-append CXXCPP="${configure.cxx} -E"
161build.args-append    DESTDIR=${worksrcpath}/dest_ignore V=1
162
163# gl.c:121:3: error: Platform not recognized.
164configure.cppflags-append -D__unix__=1
165
166# access/rdp.c:45:11: fatal error: 'freerdp/version.h' file not found
167configure.cppflags-append -DFREERDP_INTERFACE_VERSION -DFREERDP_VERSION_MAJOR=1 -DFREERDP_VERSION_MINOR=1
168
169# live555 is installed to a weird location
170configure.cppflags-append -I${prefix}/lib/live/liveMedia/include
171
172build.target        all
173destroot.target     install
174
175livecheck.type      none
176
177# Other
178configure.args-append \
179                    --with-contrib=${worksrcpath}/contrib \
180                    --disable-debug --disable-update-check --enable-gnutls \
181                    --disable-notify --disable-dbus --enable-lua \
182                    --disable-gnomevfs --disable-growl --disable-macosx-vlc-app
183
184# Input Plugins
185configure.args-append \
186                    --enable-dvdnav --enable-dvdread --disable-smbclient --enable-vcdx \
187                    --disable-macosx-qtkit --disable-macosx-eyetv --disable-realrtsp \
188                    --enable-freerdp --enable-opencv --enable-sftp
189
190# Mux/Demux Plugins
191configure.args-append \
192                    --enable-dvbpsi --enable-ogg --enable-mux_ogg \
193                    --enable-mkv --enable-mod --enable-mpc --disable-shout
194
195# Codec Plugins
196configure.args-append \
197                    --enable-a52 --enable-faad --enable-flac --enable-live555 \
198                    --enable-opus --enable-vorbis --enable-ogg --enable-mad --enable-libass \
199                    --enable-dca --enable-png --disable-quicktime --enable-twolame \
200                    --enable-speex --enable-theora --enable-x264 --enable-postproc \
201                    --enable-avcodec --enable-avformat --enable-swscale \
202                    --disable-fluidsynth --enable-schroedinger
203
204# Video Plugins
205configure.args-append \
206                    --disable-caca --enable-sdl --enable-sdl-image --disable-macosx-vout \
207                    --without-x --disable-xcb --disable-xvideo --disable-glx \
208                    --enable-freetype --enable-fontconfig --enable-fribidi \
209                    --disable-svg
210
211# Audio Plugins
212configure.args-append \
213                    --disable-macosx-audio --disable-jack --enable-samplerate
214
215# Interface Plugins
216configure.args-append \
217                    --disable-macosx --disable-macosx-dialog-provider \
218                    --disable-qt --enable-ncurses --disable-skins2
219
220# Visualisations and Video Filter Plugins
221configure.args-append \
222                    --disable-goom
223
224# Service Discovery Plugins
225configure.args-append \
226                    --enable-bonjour --enable-upnp
227
228variant jack description {Enable jack and fluidsynth plugins for audio output} {
229    depends_lib-append      port:jack port:fluidsynth port:portaudio
230    configure.args-delete   --disable-jack --disable-fluidsynth
231    configure.args-append   --enable-jack --enable-fluidsynth
232}
233
234variant qtkit description {Enable qtcapture and qtaudio} {
235    configure.args-delete   --disable-macosx-qtkit
236    configure.args-append   --enable-macosx-qtkit
237}
238
239variant svg description {Enable SVG support} {
240    depends_lib-append      port:librsvg
241    configure.args-delete   --disable-svg
242    configure.args-append   --enable-svg
243}
244
245variant shout description {Enable Shoutcast/Icecast streaming output support} {
246    depends_lib-append      port:libshout2
247    configure.args-delete   --disable-shout
248    configure.args-append   --enable-shout
249}
250
251variant smb description {Enable Samba 3 input support} {
252    depends_lib-append      port:samba3
253    configure.args-delete   --disable-smbclient
254    configure.args-append   --enable-smbclient
255    configure.ldflags-append    -L${prefix}/lib/samba3
256}
257
258variant x11 {
259    depends_lib-append \
260        port:mesa \
261        port:xorg-libXinerama \
262        port:xorg-libXv \
263        port:xorg-libXxf86vm \
264        port:xorg-xcb-util \
265        port:xorg-xcb-util-keysyms
266
267    configure.args-delete   --without-x --disable-xvideo --disable-glx --disable-xcb
268    configure.args-append   --with-x --x-include=${prefix}/include --x-lib=${prefix}/lib \
269                            --enable-xvideo --enable-glx --enable-xcb
270}
271
272variant qt4 description {Build using QT4 UI.  This will use qt4-mac. Experimental} {
273    configure.args-delete   --disable-qt
274    configure.args-append   --enable-qt
275
276    PortGroup qt4 1.0
277
278    post-activate {
279        if {![variant_isset quartz]} {
280            ui_info "The qt4 interface module for VLC is not very stable.  If you encounter bugs with it, please file them with VLC and not MacPorts."
281        }
282    }
283}
284
285variant quartz {
286    depends_lib-append      port:BGHUDAppKit
287    configure.args-delete   --disable-macosx --disable-macosx-dialog-provider
288    configure.args-append   --enable-macosx --enable-macosx-dialog-provider
289}
290
291variant huge \
292    requires jack shout svg vcd \
293    description {Enable all variants except quartz, qt4, smb, and x11} {}
294
295variant full \
296    requires huge qt4 quartz smb x11 \
297    description {Enable all variants} {}
298
299platform darwin 10 {
300    # FreeRDP fails to build on Snow Leopard
301    configure.args-delete --enable-freerdp
302    configure.args-append --disable-freerdp
303    depends_lib-delete port:FreeRDP
304}
305
306platform macosx {
307    default_variants-append +quartz +qtkit
308
309    configure.args-delete \
310        --disable-macosx-vout --disable-macosx-audio --disable-macosx-eyetv
311
312    configure.args-append \
313        --enable-macosx-vout --enable-macosx-audio --enable-macosx-eyetv
314
315    if {[variant_isset qt4] || [variant_isset quartz]} {
316        configure.args-delete --disable-macosx-vlc-app
317        configure.args-append --enable-macosx-vlc-app
318    }
319
320    post-patch {
321        reinplace "s/Appkit/AppKit/" ${worksrcpath}/configure.ac
322        reinplace "/Sparkle.framework/d" \
323            ${worksrcpath}/extras/package/macosx/vlc.xcodeproj/project.pbxproj
324        reinplace "/SDKROOT/d" \
325            ${worksrcpath}/extras/package/macosx/vlc.xcodeproj/project.pbxproj
326        reinplace "/Growl.framework/d" \
327            ${worksrcpath}/extras/package/macosx/package.mak
328
329        reinplace "s:LD_LIBRARY_PATH:DYLD_LIBRARY_PATH:g" \
330            ${worksrcpath}/Makefile.am
331
332        reinplace "/argv/s/environ/*_NSGetEnviron()/" \
333            ${worksrcpath}/modules/misc/inhibit/xdg.c \
334            ${worksrcpath}/modules/stream_filter/decomp.c
335
336        reinplace "s/extern char \\*\\*environ;/#include <crt_externs.h>/" \
337            ${worksrcpath}/modules/misc/inhibit/xdg.c \
338            ${worksrcpath}/modules/stream_filter/decomp.c
339
340        ln -s ${frameworks_dir}/BGHUDAppKit.framework ${worksrcpath}/contrib/BGHUDAppKit.framework
341
342        # To trick configure
343        file mkdir "${worksrcpath}/contrib/lib"
344    }
345
346    post-destroot {
347        eval file delete [glob ${destroot}${prefix}/lib/vlc/plugins/*/*.la]
348
349        if {[variant_isset qt4] || [variant_isset quartz]} {
350            file copy ${worksrcpath}/VLC.app ${destroot}${applications_dir}/VLC.app
351
352            # These are already in ${prefix}, so we don't need to bundle them as well
353            file delete -force ${destroot}${applications_dir}/VLC.app/Contents/Frameworks
354            file delete -force ${destroot}${applications_dir}/VLC.app/Contents/lib
355
356            # There's no need to install these into the bundle and the prefix
357            file delete -force ${destroot}${applications_dir}/VLC.app/Contents/MacOS/include
358            file delete -force ${destroot}${applications_dir}/VLC.app/Contents/MacOS/lib
359            file delete -force ${destroot}${applications_dir}/VLC.app/Contents/MacOS/plugins
360
361            # http://trac.macports.org/ticket/35131
362            ln -s ${prefix}/lib ${destroot}${applications_dir}/VLC.app/Contents/MacOS/lib
363            ln -s ${prefix}/lib/vlc/plugins ${destroot}${applications_dir}/VLC.app/Contents/MacOS/plugins
364        }
365    }
366}
Note: See TracBrowser for help on using the repository browser.