# -*- 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 # $Id: Portfile 139229 2015-08-08 03:10:35Z jeremyhu@macports.org $ PortSystem 1.0 PortGroup compiler_blacklist_versions 1.0 name VLC-devel set commit_date 20150427 version 2.2.2-${commit_date} revision 2 categories multimedia maintainers nomaintainer description VLC is a cross-platform media player and streaming server long_description VLC media player is a highly portable multimedia player for \ various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, \ mp3, ogg, ...) as well as DVDs, VCDs, and various streaming protocols. \ It can also be used as a server to stream in unicast or multicast \ in IPv4 or IPv6 on a high-bandwidth network. license GPL platforms darwin conflicts VLC homepage http://www.videolan.org # http://git.videolan.org/?p=vlc.git # http://git.videolan.org/?p=vlc.git;a=forks fetch.type git git.url git://git.videolan.org/vlc/vlc-2.2.git git.branch 25028749dc5f86c04a67ae47fccc7d6ad672ee8a depends_build port:pkgconfig depends_lib \ port:a52dec \ port:avahi \ port:bzip2 \ port:faad2 \ path:lib/libavcodec.dylib:ffmpeg \ port:flac \ port:fluidsynth \ port:fontconfig \ port:FreeRDP \ port:freetype \ port:fribidi \ port:gettext \ path:lib/pkgconfig/glib-2.0.pc:glib2 \ port:gmp \ port:gnutls \ port:jpeg \ port:lame \ port:libass \ port:libbluray \ port:libcddb \ port:libcdio \ port:libdc1394 \ port:libdca \ port:libdvbpsi \ port:libdvdnav \ port:libdvdread \ port:libebml \ port:libgcrypt \ port:libgpg-error \ port:libiconv \ port:libid3tag \ port:libidn \ port:libmad \ port:libmatroska \ port:libmodplug \ port:libmpcdec \ port:libmpeg2 \ port:libogg \ port:libopus \ port:libpng \ port:libproxy \ port:libsamplerate \ port:libsdl \ port:libsdl_image \ port:libsndfile \ port:libssh2 \ port:libtheora \ port:libupnp \ port:libusb \ port:libvorbis \ port:libvpx \ port:libxml2 \ port:live555 \ port:lua \ port:ncurses \ port:nettle \ port:openjpeg15 \ path:lib/libssl.dylib:openssl \ port:orc \ port:p11-kit \ port:pulseaudio \ port:readline \ port:schroedinger \ port:speex \ port:taglib \ port:tiff \ port:twolame \ port:vcdimager \ port:x264 \ port:xorg-libX11 \ port:xorg-libXau \ port:xorg-libXdmcp \ port:xorg-libXext \ port:xorg-libXrandr \ port:xorg-libxcb \ port:xrender \ port:XviD # VLC-2.1 and later are x86_64-only: https://trac.videolan.org/vlc/ticket/8161 universal_variant no supported_archs x86_64 compiler.blacklist gcc-4.2 llvm-gcc-4.2 {clang < 300} pre-fetch { if {${os.platform} eq "darwin" && ${os.major} < 10} { ui_error "${name} ${version} requires Mac OS X 10.6 or greater." return -code error "incompatible Mac OS X version" } } patchfiles buildfix-package.mak.patch \ configure.ac-no-arch.patch \ PR-34741-no__clang_version__.patch \ static_assert.patch \ no-sparkle.patch \ dispatch_queue_serial.patch post-patch { reinplace "s:librsvg-2/librsvg:librsvg:" \ ${worksrcpath}/modules/text_renderer/svg.c if {[string match *clang* ${configure.cxx}] && ${configure.cxx_stdlib} == "libc++"} { reinplace "s:-lstdc\+\+:-lc++:" \ ${worksrcpath}/configure.ac \ ${worksrcpath}/modules/access/Makefile.am } } use_autoreconf yes autoreconf.cmd ./bootstrap autoreconf.pre_args autoreconf.args depends_build-append port:libtool port:autoconf port:automake configure.env-append CXXCPP="${configure.cxx} -E" build.args-append DESTDIR=${worksrcpath}/dest_ignore V=1 # gl.c:121:3: error: Platform not recognized. configure.cppflags-append -D__unix__=1 # access/rdp.c:45:11: fatal error: 'freerdp/version.h' file not found configure.cppflags-append -DFREERDP_INTERFACE_VERSION -DFREERDP_VERSION_MAJOR=1 -DFREERDP_VERSION_MINOR=1 # live555 is installed to a weird location configure.cppflags-append -I${prefix}/lib/live/liveMedia/include build.target all destroot.target install livecheck.type none # Other configure.args-append \ --with-contrib=${worksrcpath}/contrib \ --disable-debug --disable-update-check --enable-gnutls \ --disable-notify --disable-dbus --enable-lua \ --disable-gnomevfs --disable-growl --disable-macosx-vlc-app # Input Plugins configure.args-append \ --enable-dvdnav --enable-dvdread --disable-smbclient --enable-vcdx \ --disable-macosx-qtkit --disable-macosx-eyetv --disable-realrtsp \ --enable-freerdp --disable-opencv --enable-sftp # Mux/Demux Plugins configure.args-append \ --enable-dvbpsi --enable-ogg --enable-mux_ogg \ --enable-mkv --enable-mod --enable-mpc --disable-shout # Codec Plugins configure.args-append \ --enable-a52 --enable-faad --enable-flac --enable-live555 \ --enable-opus --enable-vorbis --enable-ogg --enable-mad --enable-libass \ --enable-dca --enable-png --disable-quicktime --enable-twolame \ --enable-speex --enable-theora --enable-x264 --enable-postproc \ --enable-avcodec --enable-avformat --enable-swscale \ --disable-fluidsynth --enable-schroedinger --enable-vpx # Video Plugins configure.args-append \ --disable-caca --enable-sdl --enable-sdl-image \ --without-x --disable-xcb --disable-xvideo \ --enable-freetype --enable-fontconfig --enable-fribidi \ --disable-svg # Audio Plugins configure.args-append \ --disable-jack --enable-samplerate # Interface Plugins configure.args-append \ --disable-macosx --disable-macosx-dialog-provider \ --disable-qt --enable-ncurses --disable-skins2 # Visualisations and Video Filter Plugins configure.args-append \ --disable-goom # Service Discovery Plugins configure.args-append \ --enable-bonjour --enable-upnp variant jack description {Enable jack and fluidsynth plugins for audio output} { depends_lib-append port:jack port:fluidsynth port:portaudio configure.args-delete --disable-jack --disable-fluidsynth configure.args-append --enable-jack --enable-fluidsynth } variant qtkit description {Enable qtcapture and qtaudio} { configure.args-delete --disable-macosx-qtkit configure.args-append --enable-macosx-qtkit } variant svg description {Enable SVG support} { depends_lib-append port:librsvg configure.args-delete --disable-svg configure.args-append --enable-svg } variant shout description {Enable Shoutcast/Icecast streaming output support} { depends_lib-append port:libshout2 configure.args-delete --disable-shout configure.args-append --enable-shout } variant smb description {Enable Samba 3 input support} { depends_lib-append port:samba3 configure.args-delete --disable-smbclient configure.args-append --enable-smbclient configure.ldflags-append -L${prefix}/lib/samba3 } variant x11 { depends_lib-append \ port:mesa \ port:xorg-libXinerama \ port:xorg-libXv \ port:xorg-libXxf86vm \ port:xorg-xcb-util \ port:xorg-xcb-util-keysyms configure.args-delete --without-x --disable-xvideo --disable-glx --disable-xcb configure.args-append --with-x --x-include=${prefix}/include --x-lib=${prefix}/lib \ --enable-xvideo --enable-glx --enable-xcb } variant qt4 description {Build using QT4 UI. This will use qt4-mac. Experimental} { configure.args-delete --disable-qt configure.args-append --enable-qt PortGroup qt4 1.0 post-activate { if {![variant_isset quartz]} { 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." } } } variant quartz { depends_lib-append port:BGHUDAppKit configure.args-delete --disable-macosx --disable-macosx-dialog-provider configure.args-append --enable-macosx --enable-macosx-dialog-provider } variant huge \ requires jack shout svg vcd \ description {Enable all variants except quartz, qt4, smb, and x11} {} variant full \ requires huge qt4 quartz smb x11 \ description {Enable all variants} {} platform darwin 10 { # FreeRDP fails to build on Snow Leopard configure.args-delete --enable-freerdp configure.args-append --disable-freerdp depends_lib-delete port:FreeRDP # same goes for pulseaudio configure.args-append --disable-pulse depends_lib-delete port:pulseaudio } platform macosx { default_variants-append +quartz +qtkit configure.args-delete \ --disable-macosx-eyetv configure.args-append \ --enable-macosx-eyetv if {[variant_isset qt4] || [variant_isset quartz]} { configure.args-delete --disable-macosx-vlc-app configure.args-append --enable-macosx-vlc-app } post-patch { reinplace "s/Appkit/AppKit/" ${worksrcpath}/configure.ac reinplace "/Sparkle.framework/d" \ ${worksrcpath}/extras/package/macosx/vlc.xcodeproj/project.pbxproj reinplace "/SDKROOT/d" \ ${worksrcpath}/extras/package/macosx/vlc.xcodeproj/project.pbxproj reinplace "/Growl.framework/d" \ ${worksrcpath}/extras/package/macosx/package.mak reinplace "s:LD_LIBRARY_PATH:DYLD_LIBRARY_PATH:g" \ ${worksrcpath}/Makefile.am reinplace "/argv/s/environ/*_NSGetEnviron()/" \ ${worksrcpath}/modules/misc/inhibit/xdg.c \ ${worksrcpath}/modules/stream_filter/decomp.c reinplace "s/extern char \\*\\*environ;/#include /" \ ${worksrcpath}/modules/misc/inhibit/xdg.c \ ${worksrcpath}/modules/stream_filter/decomp.c ln -s ${frameworks_dir}/BGHUDAppKit.framework ${worksrcpath}/contrib/BGHUDAppKit.framework # To trick configure file mkdir "${worksrcpath}/contrib/lib" } post-destroot { eval file delete [glob ${destroot}${prefix}/lib/vlc/plugins/*/*.la] if {[variant_isset qt4] || [variant_isset quartz]} { file copy ${worksrcpath}/VLC.app ${destroot}${applications_dir}/VLC.app # These are already in ${prefix}, so we don't need to bundle them as well file delete -force ${destroot}${applications_dir}/VLC.app/Contents/Frameworks file delete -force ${destroot}${applications_dir}/VLC.app/Contents/lib # There's no need to install these into the bundle and the prefix file delete -force ${destroot}${applications_dir}/VLC.app/Contents/MacOS/include file delete -force ${destroot}${applications_dir}/VLC.app/Contents/MacOS/lib file delete -force ${destroot}${applications_dir}/VLC.app/Contents/MacOS/plugins # http://trac.macports.org/ticket/35131 ln -s ${prefix}/lib ${destroot}${applications_dir}/VLC.app/Contents/MacOS/lib ln -s ${prefix}/lib/vlc/plugins ${destroot}${applications_dir}/VLC.app/Contents/MacOS/plugins } } }