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

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

misc: Change port:openssl dependency to path:lib/libssl.dylib:openssl

This should allow usage of libressl as a replacement for openssl in relevant
ports. Not all ports have been tested, but libressl aims for API
compatibility with OpenSSL, so it is expected to work.

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