Ticket #49051: VLC.diff

File VLC.diff, 28.9 KB (added by RJVB (René Bertin), 9 years ago)

diff against port:VLC version 2.1.5_6

  • multimedia/VLC/Portfile

    old new  
    11# -*- 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 139821 2015-08-28 16:57:16Z devans@macports.org $
     2# kate: backspace-indents true; indent-pasted-text true; indent-width 4; keep-extra-spaces true; remove-trailing-spaces modified; replace-tabs true; replace-tabs-save true; syntax Tcl/Tk; tab-indents true; tab-width 4;
     3# $Id: Portfile 133968 2015-03-16 09:49:19Z petr@macports.org $
    34
    45PortSystem          1.0
    56PortGroup           compiler_blacklist_versions 1.0
    67
    78name                VLC
    8 version             2.1.5
    9 revision            6
    10 categories          multimedia
    11 
    12 maintainers         gmail.com:rjvbertin openmaintainer
    13 description         VLC is a cross-platform media player and streaming server
    14 long_description    VLC media player is a highly portable multimedia player for \
    15                     various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, \
    16                     mp3, ogg, ...) as well as DVDs, VCDs, and various streaming protocols. \
    17                     It can also be used as a server to stream in unicast or multicast \
    18                     in IPv4 or IPv6 on a high-bandwidth network.
    19 license             GPL
     9version             2.2.1
    2010
    21 platforms           darwin
    22 conflicts           VLC-devel
    2311
    24 homepage            http://www.videolan.org
     12categories          multimedia devel
     13
     14subport             lib${name} {
     15    maintainers         gmail.com:rjvbertin openmaintainer
     16    description         the core engine and interface to VLC's multimedia framework
     17    long_description    libVLC is the core engine and the interface to the multimedia \
     18                        framework on which VLC media player is based.  It allows developers \
     19                        to create a wide range of multimedia applications using the VLC features.
     20    conflicts           ${name} VLC-devel libVLC-devel
     21    homepage            http://www.videolan.org/vlc/libvlc.html
     22}
     23
     24if {${subport} ne "lib${name}"} {
     25    maintainers         nomaintainer
     26    description         VLC is a cross-platform media player and streaming server
     27    long_description    VLC media player is a highly portable multimedia player for \
     28                        various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, \
     29                        mp3, ogg, ...) as well as DVDs, VCDs, and various streaming protocols. \
     30                        It can also be used as a server to stream in unicast or multicast \
     31                        in IPv4 or IPv6 on a high-bandwidth network.
     32    conflicts           lib${name} libVLC-devel VLC-devel
     33    homepage            http://www.videolan.org
     34}
     35
     36license             GPL
    2537
    26 # http://git.videolan.org/?p=vlc.git
    27 # http://git.videolan.org/?p=vlc.git;a=forks
    28 #fetch.type          git
    29 #git.url             git://git.videolan.org/vlc/vlc-2.1.git
    30 #git.url             git://git.videolan.org/vlc.git
    31 #git.branch          edd88358218f273fddde646a172a2104796d46c2
     38platforms           darwin
    3239
    3340master_sites        http://download.videolan.org/pub/videolan/vlc/${version}/
    3441distname            vlc-${version}
    3542use_xz              yes
    3643
    37 checksums           md5     3941b561f590cc95ca5e795213cba2f2 \
    38                     sha1    7f1cb6324a04cf393896bbb5976ca9febd7b3efc \
    39                     rmd160  4a18210f0f01ac8dfaf166926ab10eea6d97fbae
     44checksums           rmd160  3b199e3555e8aa52a760a9ed7b89874c782e0dff \
     45                    sha256  543d9d7e378ec0fa1ee2e7f7f5acf8c456c7d0ecc32037171523197ef3cf1fcb
     46
     47# Enable HFS compression.
     48depends_extract-append      port:libarchive
     49extract.post_args           "| bsdtar -x --hfsCompression"
    4050
    4151depends_build       port:pkgconfig
    4252
    43 depends_lib         \
     53depends_lib         port:a52dec \
     54                    port:avahi \
     55                    port:bzip2 \
     56                    port:faad2 \
     57                    path:lib/libavcodec.dylib:ffmpeg \
     58                    port:flac \
     59                    port:fluidsynth \
     60                    port:fontconfig \
     61                    port:freetype \
     62                    port:fribidi \
     63                    port:gettext \
     64                    path:lib/pkgconfig/glib-2.0.pc:glib2 \
     65                    port:gmp \
     66                    port:gnutls \
    4467                    port:jpeg \
    4568                    port:lame \
     69                    port:libass \
     70                    port:libbluray \
     71                    port:libcddb \
    4672                    port:libcdio \
     73                    port:libdc1394 \
     74                    port:libdca \
     75                    port:libdvbpsi \
     76                    port:libdvdnav \
     77                    port:libdvdread \
    4778                    port:libebml \
    4879                    port:libgcrypt \
     80                    port:libgpg-error \
     81                    port:libiconv \
    4982                    port:libid3tag \
     83                    port:libidn \
     84                    port:libmad \
    5085                    port:libmatroska \
     86                    port:libmodplug \
     87                    port:libmpcdec \
    5188                    port:libmpeg2 \
     89                    port:libmtp \
     90                    port:libogg \
     91                    port:libopus \
     92                    port:libpng \
     93                    port:libproxy \
     94                    port:libsamplerate \
     95                    port:libsdl \
     96                    port:libsdl_image \
     97                    port:libsndfile \
     98                    port:libssh2 \
     99                    port:libtheora \
     100                    port:libupnp \
     101                    port:libusb \
     102                    port:libvorbis \
    52103                    port:libxml2 \
     104                    port:live555 \
     105                    port:ncurses \
    53106                    port:nettle \
     107                    port:opencv \
    54108                    port:openjpeg15 \
     109                    port:openssl \
     110                    port:orc \
     111                    port:p11-kit \
     112                    port:readline \
     113                    port:schroedinger \
     114                    port:speex \
    55115                    port:taglib \
    56116                    port:tiff \
     117                    port:twolame \
     118                    port:vcdimager \
     119                    port:x264
    57120
    58 # TODO: live555 opencv FreeRDP
     121# VLC 2.2.2 should have full Lua 5.3 compatibility, for now, depend on port:lua52
     122# That requires the patch-for-lua52.diff which is appended to patchfiles below.
     123depends_lib-append  port:lua52
    59124
    60125# VLC-2.1 and later are x86_64-only: https://trac.videolan.org/vlc/ticket/8161
    61126universal_variant   no
     
    73138patchfiles          buildfix-package.mak.patch \
    74139                    configure.ac-no-arch.patch \
    75140                    PR-34741-no__clang_version__.patch \
    76                     class_struct.patch \
    77                     qtkit.patch \
    78141                    static_assert.patch \
    79142                    no-sparkle.patch \
    80                     patch-ffmpeg-2.4.diff
     143                    patch-vlc-no-O4.diff
    81144
    82145post-patch {
    83146    reinplace "s:librsvg-2/librsvg:librsvg:" \
     
    102165# gl.c:121:3: error: Platform not recognized.
    103166configure.cppflags-append -D__unix__=1
    104167
     168# live555 is installed to a weird location
     169configure.cppflags-append -I${prefix}/lib/live/liveMedia/include
     170
    105171build.target        all
    106172destroot.target     install
    107173
     
    109175livecheck.regex     <a href=\"(\\d\[\\d|\.|\\w\]+).*/\">
    110176
    111177# Other
    112 
    113 depends_lib-append  port:gnutls \
    114                     port:lua
    115 
    116178configure.args-append \
    117179                    --with-contrib=${worksrcpath}/contrib \
    118                     --enable-shared \
    119                     --disable-debug \
    120                     --disable-update-check \
    121                     --disable-dbus \
    122                     --disable-growl \
    123                     --disable-macosx-vlc-app \
    124                     --disable-notify \
    125                     --enable-gnutls \
    126                     --enable-lua
     180                    --disable-debug --disable-update-check --enable-gnutls \
     181                    --disable-notify --disable-dbus --enable-lua \
     182                    --disable-gnomevfs --disable-growl --disable-macosx-vlc-app
    127183
    128184# Input Plugins
    129 # build fails when FreeRDP is installed
    130 # build fails when opencv is installed
    131 
    132 depends_lib-append  \
    133                     port:libbluray \
    134                     port:libcddb \
    135                     port:libdc1394 \
    136                     port:libdvdnav \
    137                     port:libdvdread \
    138                     port:libssh2
    139 
    140185configure.args-append \
    141                     --disable-decklink \
    142                     --disable-dv1394 \
    143                     --disable-gnomevfs \
    144                     --disable-libfreerdp \
    145                     --disable-libvnc \
    146                     --disable-linsys \
    147                     --disable-macosx-eyetv \
    148                     --disable-macosx-qtkit \
    149                     --disable-macosx-avfoundation \
    150                     --disable-opencv \
    151                     --disable-realrtsp \
    152                     --disable-smbclient \
    153                     --disable-v4l2 \
    154                     --disable-vcdx \
    155                     --enable-bluray \
    156                     --enable-dc1394 \
    157                     --enable-dvdnav \
    158                     --enable-dvdread \
    159                     --enable-libcddb \
    160                     --enable-sftp \
    161                     --enable-vcd
     186                    --enable-dvdnav --enable-dvdread --disable-smbclient --enable-vcdx \
     187                    --disable-macosx-qtkit --disable-macosx-eyetv --disable-realrtsp \
     188                    --disable-freerdp --enable-opencv --enable-sftp
    162189
    163190# Mux/Demux Plugins
    164 depends_lib-append \
    165                     port:libogg
    166 
    167191configure.args-append \
    168                     --disable-dvbpsi \
    169                     --disable-gme \
    170                     --disable-mod \
    171                     --disable-mpc \
    172                     --disable-sid \
    173                     --disable-shout \
    174                     --enable-mkv \
    175                     --enable-mux_ogg \
    176                     --enable-ogg
     192                    --enable-dvbpsi --enable-ogg --enable-mux_ogg \
     193                    --enable-mkv --enable-mod --enable-mpc --disable-shout
    177194
    178195# Codec Plugins
    179 
    180 depends_lib-append  \
    181                     port:a52dec \
    182                     path:lib/libavcodec.dylib:ffmpeg \
    183                     port:libdca \
    184                     port:dirac \
    185                     port:faad2 \
    186                     port:flac \
    187                     port:fluidsynth \
    188                     port:libmad \
    189                     port:libopus \
    190                     port:libpng \
    191                     port:libvpx \
    192                     port:schroedinger \
    193                     port:libtheora \
    194                     port:twolame \
    195                     port:libvorbis \
    196                     port:x264
    197 
    198 
    199196configure.args-append \
    200                     --disable-crystalhd \
    201                     --disable-dxva2 \
    202                     --disable-fdkaac \
    203                     --disable-kate \
    204                     --disable-libass \
    205                     --disable-libva \
    206                     --disable-live555 \
    207                     --disable-omxil \
    208                     --disable-omxil-vout \
    209                     --disable-quicksync \
    210                     --disable-quicktime \
    211                     --disable-rpi-omxil \
    212                     --disable-speex \
    213                     --disable-tiger \
    214                     --disable-wma-fixed \
    215                     --disable-shine \
    216                     --disable-zvbi \
    217                     --enable-a52 \
    218                     --enable-avcodec \
    219                     --enable-avformat \
    220                     --enable-dca \
    221                     --enable-dirac \
    222                     --enable-faad \
    223                     --enable-flac \
    224                     --enable-fluidsynth \
    225                     --enable-mad \
    226                     --enable-opus \
    227                     --enable-png \
    228                     --enable-postproc \
    229                     --enable-schroedinger \
    230                     --enable-swscale \
    231                     --enable-telx \
    232                     --enable-theora \
    233                     --enable-twolame \
    234                     --enable-vorbis \
    235                     --enable-x264
    236 
    237 # Video Plugins
     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
    238203
     204# Video Plugins. We do our best to deactivate X11 and disable its auto-detection by
     205# claiming the headers and libs are somewhere they're not.
    239206configure.args-append \
    240                     --without-x \
    241                     --disable-aa \
    242                     --disable-caca \
    243                     --disable-egl \
    244                     --disable-fontconfig \
    245                     --disable-freetype \
    246                     --disable-fribidi \
    247                     --disable-gles1 \
    248                     --disable-gles2 \
    249                     --disable-glx \
    250                     --disable-macosx-vout \
    251                     --disable-sdl \
    252                     --disable-sdl-image \
    253                     --disable-svg \
    254                     --disable-vdpau \
    255                     --disable-xcb \
    256                     --disable-xvideo
     207                    --disable-caca --enable-sdl --enable-sdl-image \
     208                    --without-x --disable-xcb --disable-xvideo --disable-glx \
     209                    --x-includes=${destroot} --x-libraries=${destroot} \
     210                    --enable-freetype --enable-fontconfig --enable-fribidi \
     211                    --disable-svg
    257212
    258213# Audio Plugins
    259 depends_lib-append  \
    260                     port:libsamplerate
    261 
    262214configure.args-append \
    263                     --disable-chromaprint  \
    264                     --disable-macosx-audio \
    265                     --enable-samplerate \
    266                     --disable-jack \
    267                     --disable-pulse
     215                    --disable-jack --enable-samplerate --disable-pulse
    268216
    269217# Interface Plugins
    270 depends_lib-append  \
    271                     port:ncurses
    272 
    273218configure.args-append \
    274                     --disable-macosx \
    275                     --disable-macosx-dialog-provider \
    276                     --disable-qt \
    277                     --disable-skins2 \
    278                     --enable-ncurses
     219                    --disable-macosx --disable-macosx-dialog-provider \
     220                    --disable-qt --enable-ncurses --disable-skins2
    279221
    280222# Visualisations and Video Filter Plugins
    281223configure.args-append \
    282                     --disable-goom \
    283                     --disable-projectm \
    284                     --disable-vsxu
     224                    --disable-goom
    285225
    286226# Service Discovery Plugins
    287 depends_lib-append  \
    288                     port:avahi \
    289                     port:libupnp
    290 
    291227configure.args-append \
    292                     --disable-mtp \
    293                     --disable-udev \
    294                     --enable-bonjour \
    295                     --enable-upnp
     228                    --enable-bonjour --enable-upnp
     229
     230# 20150209: Jack really would require a newer variant than what's currently in MacPorts
     231variant jack description {Enable jack and fluidsynth plugins for audio output} {
     232    depends_lib-append      port:jack port:fluidsynth port:portaudio
     233    configure.args-delete   --disable-jack --disable-fluidsynth
     234    configure.args-append   --enable-jack --enable-fluidsynth
     235}
    296236
    297237variant dbus description {Enable DBus support} {
    298238    depends_lib-append      port:dbus
    299     configure.args-delete   --disable-dbus
     239    configure.args-delete   --disable-dbus 
    300240    configure.args-append   --enable-dbus
    301241}
    302242
    303 variant pulse description {Enable PulseAudio support} {
    304     depends_lib-append      port:pulseaudio
    305     configure.args-delete   --disable-pulse
    306     configure.args-append   --enable-pulse
    307 }
    308 
    309 variant eyetv description {Enable eyetv plugin} {
    310     configure.args-delete --disable-macosx-eyetv
    311     configure.args-append --enable-macosx-eyetv
    312 }
    313 
    314 variant dvb description {enable DVB Program Specific Information support} {
    315     depends_lib-append      port:libdvbpsi
    316     configure.args-delete   --disable-dvbpsi
    317     configure.args-append   --enable-dvbpsi
    318 }
    319 
    320 variant fribidi requires osd description {Enable FriBidi Unicode support} {
    321     depends_lib-append      port:fribidi
    322     configure.args-delete   --disable-fribidi
    323     configure.args-append   --enable-fribidi
    324 }
    325 
    326 variant jack description {Enable jack plugin for audio output} {
    327     depends_lib-append      port:jack
    328     configure.args-delete   --disable-jack
    329     configure.args-append   --enable-jack
    330 }
    331 
    332 variant mod description {Enable MOD demuxer support} {
    333     depends_lib-append      port:libmodplug
    334     configure.args-delete   --disable-mod
    335     configure.args-append   --enable-mod
    336 }
    337 
    338 variant mpc description {enable Musepack Decoder library support} {
    339     depends_lib-append      port:libmpcdec
    340     configure.args-delete   --disable-mpc
    341     configure.args-append   --enable-mpc
    342 }
    343 
    344 variant osd description {Enable onscreen display and TrueType font support} {
    345     depends_lib-append      port:fontconfig port:freetype
    346     configure.args-delete   --disable-freetype --disable-fontconfig
    347     configure.args-append   --enable-freetype --enable-fontconfig
    348 }
    349 
    350243variant qtkit description {Enable qtcapture and qtaudio} {
    351244    configure.args-delete   --disable-macosx-qtkit
    352245    configure.args-append   --enable-macosx-qtkit
    353246}
    354247
    355 variant sdl description {Enable SDL/SDL-Image support} {
    356     depends_lib-append      port:libsdl port:libsdl_image
    357     configure.args-delete   --disable-sdl
    358     configure.args-append   --enable-sdl
     248variant svg description {Enable SVG support} {
     249    depends_lib-append      port:librsvg
     250    configure.args-delete   --disable-svg
     251    configure.args-append   --enable-svg
    359252}
    360253
    361 variant shout description {Enable Shoutcast support} {
     254variant shout description {Enable Shoutcast/Icecast streaming output support} {
    362255    depends_lib-append      port:libshout2
    363256    configure.args-delete   --disable-shout
    364257    configure.args-append   --enable-shout
    365258}
    366259
    367 variant smb description {Enable Samba 3 support} {
     260variant smb description {Enable Samba 3 input support} {
    368261    depends_lib-append      port:samba3
    369262    configure.args-delete   --disable-smbclient
    370263    configure.args-append   --enable-smbclient
    371264    configure.ldflags-append    -L${prefix}/lib/samba3
    372265}
    373266
    374 variant speex description {Enable Speex decoder support} {
    375     depends_lib-append      path:lib/libspeex.dylib:speex
    376     configure.args-delete   --disable-speex
    377     configure.args-append   --enable-speex
    378 }
    379 
    380 variant svg description {Enable SVG support} {
    381     depends_lib-append      port:librsvg
    382     configure.args-delete   --disable-svg
    383     configure.args-append   --enable-svg
    384 }
    385 
    386 variant vcd description {Enable VCD support} {
    387     depends_lib-append      port:vcdimager
    388     configure.args-delete   --disable-vcdx
    389     configure.args-append   --enable-vcdx
     267variant pulse description {Enable PulseAudio support} {
     268    depends_lib-append      port:pulseaudio
     269    configure.args-delete   --disable-pulse
     270    configure.args-append   --enable-pulse
    390271}
    391272
    392273variant x11 {
    393274    depends_lib-append \
     275        port:xorg-libX11 \
     276        port:xorg-libXau \
     277        port:xorg-libXdmcp \
     278        port:xorg-libXext \
     279        port:xorg-libXrandr \
     280        port:xorg-libxcb \
     281        port:xrender \
     282        port:XviD \
    394283        port:mesa \
    395284        port:xorg-libXinerama \
    396285        port:xorg-libXv \
     
    398287        port:xorg-xcb-util \
    399288        port:xorg-xcb-util-keysyms
    400289
    401     configure.args-delete   --without-x \
    402                             --disable-glx \
    403                             --disable-xcb \
    404                             --disable-xvideo
    405     configure.args-append   --with-x \
    406                             --x-include=${prefix}/include \
    407                             --x-lib=${prefix}/lib \
    408                             --enable-glx \
    409                             --enable-xcb \
    410                             --enable-xvideo
    411 }
    412 
    413 variant qt4 description {Build using QT4 UI. This will use qt4-mac} {
    414     configure.args-delete   --disable-qt
    415     configure.args-append   --enable-qt
    416     patchfiles-append       patch-vlc-qt4mac.diff
     290    configure.args-delete   --without-x --disable-xvideo --disable-glx --disable-xcb \
     291                            --x-includes=${destroot} --x-libraries=${destroot}
     292    configure.args-append   --with-x --enable-xvideo --enable-xcb
     293}
    417294
    418     PortGroup qt4 1.0
     295if {${subport} ne "lib${name}"} {
     296    variant qt4 conflicts qt5 description {Build using Qt4 UI. This will use qt4-mac. Experimental and probably dysfunctional} {
     297        patchfiles-append       patch-vlc-no-qt5.diff \
     298                                patch-vlc-qt-configureac.diff \
     299                                patch-simplepreferences.diff
    419300
    420     post-activate {
    421         if {![variant_isset quartz]} {
    422             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."
    423         }
     301        configure.args-delete   --disable-qt
     302        configure.args-append   --enable-qt
     303
     304        PortGroup               qt4 1.0
     305    }
     306    variant qt5 conflicts qt4 description {Build using Qt5 UI. This will use qt5-mac. Experimental and probably dysfunctional} {
     307        patchfiles-append       patch-vlc-qt-configureac.diff \
     308                                patch-simplepreferences.diff
     309
     310        configure.args-delete   --disable-qt
     311        configure.args-append   --enable-qt
     312
     313        PortGroup               qt5 1.0
    424314    }
    425315}
    426316
    427317variant quartz {
    428     patchfiles-append       patch-vlc-for-macports.diff
    429 
    430     depends_lib-append      port:BGHUDAppKit
    431318    depends_lib-delete      port:libsamplerate
     319    depends_lib-append      port:BGHUDAppKit
     320
     321    patchfiles-append       patch-vlc-for-macports.diff \
     322                            patch-ignore-libGL.diff
     323
    432324    configure.args-delete   --disable-macosx \
    433                             --disable-macosx-avfoundation \
    434                             --enable-samplerate
    435                            
    436     configure.args-append   --enable-macosx \
    437                             --enable-macosx-avfoundation
     325                            --enable-samplerate --disable-realrtsp
     326    configure.args-append   --enable-macosx
    438327    # taken from VLC's own configure.sh script for OS X:
    439328    configure.args-append   --disable-samplerate \
    440329                            --enable-merge-ffmpeg \
    441                             --enable-realrtsp \
    442                             --enable-libass
     330                            --enable-realrtsp
    443331}
    444332
    445 default_variants +mod +mpc +osd +quartz
     333# FreeRDP currently doesn't build with CMake >= 3.1 (#47389)
     334variant freerdp description {Build the FreeRDP support; currently dysfunctional} {
     335    depends_lib-append          port:FreeRDP
     336    # access/rdp.c:45:11: fatal error: 'freerdp/version.h' file not found
     337    configure.cppflags-append   -DFREERDP_INTERFACE_VERSION -DFREERDP_VERSION_MAJOR=1 -DFREERDP_VERSION_MINOR=1
     338    configure.args-delete --disable-freerdp
     339    configure.args-append --enable-freerdp
     340}
    446341
    447342variant huge \
    448     requires dvb eyetv fribidi jack mod mpc osd sdl shout speex svg vcd pulse \
    449         description {Enable all variants except quartz, qt4, smb, and x11} {}
     343    requires jack shout svg vcd \
     344    description {Enable all variants except quartz, smb, freerdp and x11} {}
    450345
    451 variant full \
    452     requires huge qt4 quartz smb x11 \
    453         description {Enable all variants} {}
     346if {${subport} ne "lib${name}"} {
     347    variant full \
     348        requires huge quartz smb x11 \
     349        description {Enable all variants except x11 (and except freerdp, currently)} {}
     350} else {
     351    variant full \
     352        requires huge quartz smb \
     353        description {Enable all variants (except freerdp, currently)} {}
     354}
     355
     356# this patchfile can probably go with VLC 2.2.2, or should be reviewed then.
     357patchfiles-append           patch-for-lua52.diff
    454358
    455359platform macosx {
    456     default_variants-append +qtkit
     360    default_variants-append +quartz +qtkit
    457361
    458362    configure.args-delete \
    459         --disable-macosx-vout --disable-macosx-audio \
     363        --disable-macosx-eyetv
    460364
    461365    configure.args-append \
    462         --enable-macosx-vout --enable-macosx-audio \
    463         --with-macosx-sdk=/
     366        --enable-macosx-eyetv
    464367
    465     if {[variant_isset qt4] || [variant_isset quartz]} {
     368    if {${subport} ne "lib${name}"} {
    466369        configure.args-delete --disable-macosx-vlc-app
    467370        configure.args-append --enable-macosx-vlc-app
    468371    }
     
    487390            ${worksrcpath}/modules/misc/inhibit/xdg.c \
    488391            ${worksrcpath}/modules/stream_filter/decomp.c
    489392
    490         ln -s ${frameworks_dir}/BGHUDAppKit.framework ${worksrcpath}/contrib/BGHUDAppKit.framework
     393        if {![file exists ${worksrcpath}/contrib/BGHUDAppKit.framework]} {
     394            ln -s ${frameworks_dir}/BGHUDAppKit.framework ${worksrcpath}/contrib/BGHUDAppKit.framework
     395        }
    491396
    492397        # To trick configure
    493398        file mkdir "${worksrcpath}/contrib/lib"
     
    496401    post-destroot {
    497402        eval file delete [glob ${destroot}${prefix}/lib/vlc/plugins/*/*.la]
    498403
    499         if {[variant_isset qt4] || [variant_isset quartz]} {
    500             file rename ${worksrcpath}/VLC.app ${destroot}${applications_dir}/VLC.app
    501 
    502             # These are already in ${prefix}, so we don't need to bundle them as well
    503             file delete -force ${destroot}${applications_dir}/VLC.app/Contents/Frameworks
    504             file delete -force ${destroot}${applications_dir}/VLC.app/Contents/lib
    505 
    506             # There's no need to install these into the bundle and the prefix
    507             file delete -force ${destroot}${applications_dir}/VLC.app/Contents/MacOS/include
    508             file delete -force ${destroot}${applications_dir}/VLC.app/Contents/MacOS/lib
    509             file delete -force ${destroot}${applications_dir}/VLC.app/Contents/MacOS/plugins
    510 
    511             # http://trac.macports.org/ticket/35131
    512             ln -s ${prefix}/lib ${destroot}${applications_dir}/VLC.app/Contents/MacOS/lib
    513             ln -s ${prefix}/lib/vlc/plugins ${destroot}${applications_dir}/VLC.app/Contents/MacOS/plugins
    514             # the vlc executable needs to be started with a full path to the app bundle executable
    515             # or else the Mac OS X interface will hang beyond even a ^C or ^\ :
    516             file delete ${destroot}${prefix}/bin/vlc
    517             set vlc [open "${workpath}/vlc" "w"]
    518             puts ${vlc} "#!/bin/sh"
    519             puts ${vlc} ""
    520             puts ${vlc} "exec ${applications_dir}/VLC.app/Contents/MacOS/VLC \"$@\""
    521             close ${vlc}
    522             xinstall -m 755 ${workpath}/vlc ${destroot}${prefix}/bin
     404        if {[variant_isset qt4] || [variant_isset qt5] || [variant_isset quartz]} {
     405            if {${subport} ne "lib${name}"} {
     406                copy ${worksrcpath}/VLC.app ${destroot}${applications_dir}/VLC.app
     407
     408                # These are already in ${prefix}, so we don't need to bundle them as well
     409                delete ${destroot}${applications_dir}/VLC.app/Contents/Frameworks
     410                delete ${destroot}${applications_dir}/VLC.app/Contents/lib
     411
     412                # There's no need to install these into the bundle and the prefix
     413                delete ${destroot}${applications_dir}/VLC.app/Contents/MacOS/include
     414                delete ${destroot}${applications_dir}/VLC.app/Contents/MacOS/lib
     415                delete ${destroot}${applications_dir}/VLC.app/Contents/MacOS/plugins
     416
     417                # http://trac.macports.org/ticket/35131
     418                ln -s ${prefix}/lib ${destroot}${applications_dir}/VLC.app/Contents/MacOS/lib
     419                ln -s ${prefix}/lib/vlc/plugins ${destroot}${applications_dir}/VLC.app/Contents/MacOS/plugins
     420
     421                # the vlc executable needs to be started with a full path to the app bundle executable
     422                # or else the Mac OS X interface will hang beyond even a ^C or ^\ :
     423                move ${destroot}${prefix}/bin/vlc ${destroot}${prefix}/bin/vlc.exe
     424                xinstall -m 755 ${filespath}/vlc ${destroot}${prefix}/bin
     425                reinplace "s|@APPLICATIONS_DIR@|${applications_dir}|g" ${destroot}${prefix}/bin/vlc
     426            } else {
     427                delete ${destroot}${prefix}/bin
     428                delete ${destroot}${prefix}/share/applications
     429                delete ${destroot}${prefix}/share/man
     430            }
     431        }
     432    }
     433    post-activate {
     434        if {[variant_isset qt4] || [variant_isset qt5]} {
     435            notes-append "The Qt interface modules for VLC are currently dysfunctional. If you encounter bugs with them, please file them with VLC and not MacPorts."
    523436        }
     437        system "${prefix}/lib/vlc/vlc-cache-gen -f ${prefix}/lib/vlc"
    524438    }
    525439}