# -*- 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$ PortSystem 1.0 PortGroup compiler_blacklist_versions 1.0 name VLC-devel version 2.1.99 revision 13 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.1.git git.url git://git.videolan.org/vlc.git git.branch 4c156e1054ce76bf305ae103646ce92ed6295e7b #master_sites http://download.videolan.org/pub/videolan/vlc/${version}/ #distname vlc-${version} #use_xz yes # #checksums md5 5ad114755670e4881a2b35354e2f79bc \ # sha1 40d0ed360dd3fa7dc3ff4fbc9c319553ebb22538 \ # rmd160 9d932e1be72b65cf47057191d9e84deeedea282c depends_build port:pkgconfig depends_lib port:lame port:a52dec port:libogg port:flac \ port:libdca port:libcddb port:libcdio port:libgcrypt port:libmad \ port:libopus port:libvorbis port:libmatroska port:libid3tag \ port:ncurses port:lua port:libpng port:jpeg port:tiff port:libebml \ port:gnutls port:taglib port:libxml2 port:faad2 \ port:x264 port:libtheora port:twolame port:libssh2 \ port:libdvdnav port:libdvdread port:vcdimager port:libproxy \ port:fluidsynth port:libsamplerate port:libupnp port:opencv \ port:avahi path:lib/libavcodec.dylib:ffmpeg port:pulseaudio \ port:openjpeg15 port:libbluray port:FreeRDP port:live555 \ port:libdc1394 port:libmpeg2 port:libass port:libsdl \ port:libsdl_image port:schroedinger port:speex port:libmodplug \ port:libmpcdec port:fontconfig port:freetype port:fribidi port:libdvbpsi \ port:XviD port:bzip2 port:gettext path:lib/pkgconfig/glib-2.0.pc:glib2 port:gmp \ port:libgpg-error port:libiconv port:libidn port:libsndfile \ port:libusb port:nettle port:openssl port:orc port:p11-kit \ port:readline port:xorg-libX11 port:xorg-libXau port:xorg-libXdmcp \ port:xorg-libXext port:xorg-libXrandr port:xorg-libxcb port:xrender # 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 \ class_struct.patch \ static_assert.patch \ no-sparkle.patch post-patch { reinplace "s:librsvg-2/librsvg:librsvg:" \ ${worksrcpath}/modules/text_renderer/svg.c set cxxstdlib {} if {[info exists configure.cxx_stdlib] && ${configure.cxx_stdlib} ne {} && [string match *clang* ${configure.cxx}]} { set cxxstdlib ${configure.cxx_stdlib} } elseif {[string match *clang* ${configure.cxx}] && ${os.major} >= 13} { set cxxstdlib libc++ } else { set cxxstdlib libstdc++ } if {${cxxstdlib} == "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 --enable-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 # Video Plugins configure.args-append \ --disable-caca --enable-sdl --enable-sdl-image --disable-macosx-vout \ --without-x --disable-xcb --disable-xvideo --disable-glx \ --enable-freetype --enable-fontconfig --enable-fribidi \ --disable-svg # Audio Plugins configure.args-append \ --disable-macosx-audio --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 description {Build using X11 UI. Use at own risk} { 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 } platform macosx { default_variants-append +quartz +qtkit configure.args-delete \ --disable-macosx-vout --disable-macosx-audio --disable-macosx-eyetv configure.args-append \ --enable-macosx-vout --enable-macosx-audio --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 } } }