Ticket #47192: VLC-portfile.diff

File VLC-portfile.diff, 28.1 KB (added by RJVB (René Bertin), 9 years ago)
  • 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 126549 2014-10-12 01:35:10Z ctreleaven@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;
    33
    44PortSystem          1.0
    55PortGroup           compiler_blacklist_versions 1.0
    66
    77name                VLC
    8 version             2.1.5
    9 revision            3
    10 categories          multimedia
    11 
    12 maintainers         gmail.com:rjvbertin nomaintainer
    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.
     8version             2.2.0
     9
     10
     11categories          multimedia devel
     12
     13subport             lib${name} {
     14    maintainers         gmail.com:rjvbertin openmaintainer
     15    description         the core engine and interface to VLC's multimedia framework
     16    long_description    libVLC is the core engine and the interface to the multimedia \
     17                        framework on which VLC media player is based.  It allows developers \
     18                        to create a wide range of multimedia applications using the VLC features.
     19    conflicts           ${name} VLC-devel libVLC-devel
     20    homepage            http://www.videolan.org/vlc/libvlc.html
     21}
     22
     23if {${subport} ne "lib${name}"} {
     24    maintainers         nomaintainer
     25    description         VLC is a cross-platform media player and streaming server
     26    long_description    VLC media player is a highly portable multimedia player for \
     27                        various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, \
     28                        mp3, ogg, ...) as well as DVDs, VCDs, and various streaming protocols. \
     29                        It can also be used as a server to stream in unicast or multicast \
     30                        in IPv4 or IPv6 on a high-bandwidth network.
     31    conflicts           lib${name} libVLC-devel VLC-devel
     32    homepage            http://www.videolan.org
     33}
     34
    1935license             GPL
    2036
    2137platforms           darwin
    22 conflicts           VLC-devel
    23 
    24 homepage            http://www.videolan.org
     38conflicts           VLC
    2539
    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
    3240
    3341master_sites        http://download.videolan.org/pub/videolan/vlc/${version}/
    3442distname            vlc-${version}
    3543use_xz              yes
    3644
    37 checksums           md5     3941b561f590cc95ca5e795213cba2f2 \
    38                     sha1    7f1cb6324a04cf393896bbb5976ca9febd7b3efc \
    39                     rmd160  4a18210f0f01ac8dfaf166926ab10eea6d97fbae
     45checksums           rmd160  b57bdb04e8bacbd3a5d2b8c8e43c2570d2d4a7d5 \
     46                    sha256  5e0a27e248c47da723a696420aca3a4dd15cc3ed8cc81618d3f1dc8661b25517
     47
     48# Enable HFS compression.
     49depends_extract-append      port:libarchive
     50extract.post_args           "| bsdtar -x -k --hfsCompression"
    4051
    4152depends_build       port:pkgconfig
    4253
    43 depends_lib         \
     54depends_lib         port:a52dec \
     55                    port:avahi \
     56                    port:bzip2 \
     57                    port:faad2 \
     58                    path:lib/libavcodec.dylib:ffmpeg \
     59                    port:flac \
     60                    port:fluidsynth \
     61                    port:fontconfig \
     62                    port:FreeRDP \
     63                    port:freetype \
     64                    port:fribidi \
     65                    port:gettext \
     66                    path:lib/pkgconfig/glib-2.0.pc:glib2 \
     67                    port:gmp \
     68                    port:gnutls \
    4469                    port:jpeg \
    4570                    port:lame \
     71                    port:libass \
     72                    port:libbluray \
     73                    port:libcddb \
    4674                    port:libcdio \
     75                    port:libdc1394 \
     76                    port:libdca \
     77                    port:libdvbpsi \
     78                    port:libdvdnav \
     79                    port:libdvdread \
    4780                    port:libebml \
    4881                    port:libgcrypt \
     82                    port:libgpg-error \
     83                    port:libiconv \
    4984                    port:libid3tag \
     85                    port:libidn \
     86                    port:libmad \
    5087                    port:libmatroska \
     88                    port:libmodplug \
     89                    port:libmpcdec \
    5190                    port:libmpeg2 \
     91                    port:libmtp \
     92                    port:libogg \
     93                    port:libopus \
     94                    port:libpng \
     95                    port:libproxy \
     96                    port:libsamplerate \
     97                    port:libsdl \
     98                    port:libsdl_image \
     99                    port:libsndfile \
     100                    port:libssh2 \
     101                    port:libtheora \
     102                    port:libupnp \
     103                    port:libusb \
     104                    port:libvorbis \
    52105                    port:libxml2 \
     106                    port:live555 \
     107                    port:lua \
     108                    port:ncurses \
     109                    port:nettle \
     110                    port:opencv \
    53111                    port:openjpeg15 \
     112                    port:openssl \
     113                    port:orc \
     114                    port:p11-kit \
     115                    port:readline \
     116                    port:schroedinger \
     117                    port:speex \
    54118                    port:taglib \
    55119                    port:tiff \
    56 
    57 # TODO: live555 opencv FreeRDP
     120                    port:twolame \
     121                    port:vcdimager \
     122                    port:x264 \
    58123
    59124# VLC-2.1 and later are x86_64-only: https://trac.videolan.org/vlc/ticket/8161
    60125universal_variant   no
     
    72137patchfiles          buildfix-package.mak.patch \
    73138                    configure.ac-no-arch.patch \
    74139                    PR-34741-no__clang_version__.patch \
    75                     class_struct.patch \
    76                     qtkit.patch \
    77140                    static_assert.patch \
    78141                    no-sparkle.patch \
    79                     patch-ffmpeg-2.4.diff
     142                    patch-vlc-no-O4.diff
    80143
    81144post-patch {
    82145    reinplace "s:librsvg-2/librsvg:librsvg:" \
     
    101164# gl.c:121:3: error: Platform not recognized.
    102165configure.cppflags-append -D__unix__=1
    103166
     167# access/rdp.c:45:11: fatal error: 'freerdp/version.h' file not found
     168configure.cppflags-append -DFREERDP_INTERFACE_VERSION -DFREERDP_VERSION_MAJOR=1 -DFREERDP_VERSION_MINOR=1
     169
     170# live555 is installed to a weird location
     171configure.cppflags-append -I${prefix}/lib/live/liveMedia/include
     172
    104173build.target        all
    105174destroot.target     install
    106175
    107 livecheck.url       http://download.videolan.org/pub/videolan/vlc/
    108 livecheck.regex     <a href=\"(\\d\[\\d|\.|\\w\]+).*/\">
     176livecheck.type      none
    109177
    110178# Other
    111 
    112 depends_lib-append  port:gnutls \
    113                     port:lua
    114 
    115179configure.args-append \
    116180                    --with-contrib=${worksrcpath}/contrib \
    117                     --enable-shared \
    118                     --disable-debug \
    119                     --disable-update-check \
    120                     --disable-dbus \
    121                     --disable-growl \
    122                     --disable-macosx-vlc-app \
    123                     --disable-notify \
    124                     --enable-gnutls \
    125                     --enable-lua
     181                    --disable-debug --disable-update-check --enable-gnutls \
     182                    --disable-notify --disable-dbus --enable-lua \
     183                    --disable-gnomevfs --disable-growl --disable-macosx-vlc-app
    126184
    127185# Input Plugins
    128 # build fails when FreeRDP is installed
    129 # build fails when opencv is installed
    130 
    131 depends_lib-append  \
    132                     port:libbluray \
    133                     port:libcddb \
    134                     port:libdc1394 \
    135                     port:libdvdnav \
    136                     port:libdvdread \
    137                     port:libssh2
    138 
    139186configure.args-append \
    140                     --disable-decklink \
    141                     --disable-dv1394 \
    142                     --disable-gnomevfs \
    143                     --disable-libfreerdp \
    144                     --disable-libvnc \
    145                     --disable-linsys \
    146                     --disable-macosx-eyetv \
    147                     --disable-macosx-qtkit \
    148                     --disable-macosx-avfoundation \
    149                     --disable-opencv \
    150                     --disable-realrtsp \
    151                     --disable-smbclient \
    152                     --disable-v4l2 \
    153                     --disable-vcdx \
    154                     --enable-bluray \
    155                     --enable-dc1394 \
    156                     --enable-dvdnav \
    157                     --enable-dvdread \
    158                     --enable-libcddb \
    159                     --enable-sftp \
    160                     --enable-vcd
     187                    --enable-dvdnav --enable-dvdread --disable-smbclient --enable-vcdx \
     188                    --disable-macosx-qtkit --disable-macosx-eyetv --disable-realrtsp \
     189                    --enable-freerdp --enable-opencv --enable-sftp
    161190
    162191# Mux/Demux Plugins
    163 depends_lib-append \
    164                     port:libogg
    165 
    166192configure.args-append \
    167                     --disable-dvbpsi \
    168                     --disable-gme \
    169                     --disable-mod \
    170                     --disable-mpc \
    171                     --disable-sid \
    172                     --disable-shout \
    173                     --enable-mkv \
    174                     --enable-mux_ogg \
    175                     --enable-ogg
     193                    --enable-dvbpsi --enable-ogg --enable-mux_ogg \
     194                    --enable-mkv --enable-mod --enable-mpc --disable-shout
    176195
    177196# Codec Plugins
    178 
    179 depends_lib-append  \
    180                     port:a52dec \
    181                     path:lib/libavcodec.dylib:ffmpeg \
    182                     port:libdca \
    183                     port:dirac \
    184                     port:faad2 \
    185                     port:flac \
    186                     port:fluidsynth \
    187                     port:libmad \
    188                     port:libopus \
    189                     port:libpng \
    190                     port:schroedinger \
    191                     port:libtheora \
    192                     port:twolame \
    193                     port:libvorbis \
    194                     port:x264
    195 
    196 
    197197configure.args-append \
    198                     --disable-crystalhd \
    199                     --disable-dxva2 \
    200                     --disable-fdkaac \
    201                     --disable-kate \
    202                     --disable-libass \
    203                     --disable-libva \
    204                     --disable-live555 \
    205                     --disable-omxil \
    206                     --disable-omxil-vout \
    207                     --disable-quicksync \
    208                     --disable-quicktime \
    209                     --disable-rpi-omxil \
    210                     --disable-speex \
    211                     --disable-tiger \
    212                     --disable-wma-fixed \
    213                     --disable-shine \
    214                     --disable-zvbi \
    215                     --enable-a52 \
    216                     --enable-avcodec \
    217                     --enable-avformat \
    218                     --enable-dca \
    219                     --enable-dirac \
    220                     --enable-faad \
    221                     --enable-flac \
    222                     --enable-fluidsynth \
    223                     --enable-mad \
    224                     --enable-opus \
    225                     --enable-png \
    226                     --enable-postproc \
    227                     --enable-schroedinger \
    228                     --enable-swscale \
    229                     --enable-telx \
    230                     --enable-theora \
    231                     --enable-twolame \
    232                     --enable-vorbis \
    233                     --enable-x264
    234 
    235 # Video Plugins
     198                    --enable-a52 --enable-faad --enable-flac --enable-live555 \
     199                    --enable-opus --enable-vorbis --enable-ogg --enable-mad --enable-libass \
     200                    --enable-dca --enable-png --disable-quicktime --enable-twolame \
     201                    --enable-speex --enable-theora --enable-x264 --enable-postproc \
     202                    --enable-avcodec --enable-avformat --enable-swscale \
     203                    --disable-fluidsynth --enable-schroedinger
    236204
     205# Video Plugins. We do our best to deactivate X11 and disable its auto-detection by
     206# claiming the headers and libs are somewhere they're not.
    237207configure.args-append \
    238                     --without-x \
    239                     --disable-aa \
    240                     --disable-caca \
    241                     --disable-egl \
    242                     --disable-fontconfig \
    243                     --disable-freetype \
    244                     --disable-fribidi \
    245                     --disable-gles1 \
    246                     --disable-gles2 \
    247                     --disable-glx \
    248                     --disable-macosx-vout \
    249                     --disable-sdl \
    250                     --disable-sdl-image \
    251                     --disable-svg \
    252                     --disable-vdpau \
    253                     --disable-xcb \
    254                     --disable-xvideo
     208                    --disable-caca --enable-sdl --enable-sdl-image \
     209                    --without-x --disable-xcb --disable-xvideo --disable-glx \
     210                    --x-includes=${destroot} --x-libraries=${destroot} \
     211                    --enable-freetype --enable-fontconfig --enable-fribidi \
     212                    --disable-svg
    255213
    256214# Audio Plugins
    257 depends_lib-append  \
    258                     port:libsamplerate
    259 
    260215configure.args-append \
    261                     --disable-chromaprint  \
    262                     --disable-macosx-audio \
    263                     --enable-samplerate \
    264                     --disable-jack \
    265                     --disable-pulse
     216                    --disable-jack --enable-samplerate --disable-pulse
    266217
    267218# Interface Plugins
    268 depends_lib-append  \
    269                     port:ncurses
    270 
    271219configure.args-append \
    272                     --disable-macosx \
    273                     --disable-macosx-dialog-provider \
    274                     --disable-qt \
    275                     --disable-skins2 \
    276                     --enable-ncurses
     220                    --disable-macosx --disable-macosx-dialog-provider \
     221                    --disable-qt --enable-ncurses --disable-skins2
    277222
    278223# Visualisations and Video Filter Plugins
    279224configure.args-append \
    280                     --disable-goom \
    281                     --disable-projectm \
    282                     --disable-vsxu
     225                    --disable-goom
    283226
    284227# Service Discovery Plugins
    285 depends_lib-append  \
    286                     port:avahi \
    287                     port:libupnp
    288 
    289228configure.args-append \
    290                     --disable-mtp \
    291                     --disable-udev \
    292                     --enable-bonjour \
    293                     --enable-upnp
     229                    --enable-bonjour --enable-upnp
     230
     231# 20150209: Jack really would require a newer variant than what's currently in MacPorts
     232variant jack description {Enable jack and fluidsynth plugins for audio output} {
     233    depends_lib-append      port:jack port:fluidsynth port:portaudio
     234    configure.args-delete   --disable-jack --disable-fluidsynth
     235    configure.args-append   --enable-jack --enable-fluidsynth
     236}
    294237
    295238variant dbus description {Enable DBus support} {
    296239    depends_lib-append      port:dbus
     
    298241    configure.args-append   --enable-dbus
    299242}
    300243
    301 variant pulse description {Enable PulseAudio support} {
    302     depends_lib-append      port:pulseaudio
    303     configure.args-delete   --disable-pulse
    304     configure.args-append   --enable-pulse
    305 }
    306 
    307 variant eyetv description {Enable eyetv plugin} {
    308     configure.args-delete --disable-macosx-eyetv
    309     configure.args-append --enable-macosx-eyetv
    310 }
    311 
    312 variant dvb description {enable DVB Program Specific Information support} {
    313     depends_lib-append      port:libdvbpsi
    314     configure.args-delete   --disable-dvbpsi
    315     configure.args-append   --enable-dvbpsi
    316 }
    317 
    318 variant fribidi requires osd description {Enable FriBidi Unicode support} {
    319     depends_lib-append      port:fribidi
    320     configure.args-delete   --disable-fribidi
    321     configure.args-append   --enable-fribidi
    322 }
    323 
    324 variant jack description {Enable jack plugin for audio output} {
    325     depends_lib-append      port:jack
    326     configure.args-delete   --disable-jack
    327     configure.args-append   --enable-jack
    328 }
    329 
    330 variant mod description {Enable MOD demuxer support} {
    331     depends_lib-append      port:libmodplug
    332     configure.args-delete   --disable-mod
    333     configure.args-append   --enable-mod
    334 }
    335 
    336 variant mpc description {enable Musepack Decoder library support} {
    337     depends_lib-append      port:libmpcdec
    338     configure.args-delete   --disable-mpc
    339     configure.args-append   --enable-mpc
    340 }
    341 
    342 variant osd description {Enable onscreen display and TrueType font support} {
    343     depends_lib-append      port:fontconfig port:freetype
    344     configure.args-delete   --disable-freetype --disable-fontconfig
    345     configure.args-append   --enable-freetype --enable-fontconfig
    346 }
    347 
    348244variant qtkit description {Enable qtcapture and qtaudio} {
    349245    configure.args-delete   --disable-macosx-qtkit
    350246    configure.args-append   --enable-macosx-qtkit
    351247}
    352248
    353 variant sdl description {Enable SDL/SDL-Image support} {
    354     depends_lib-append      port:libsdl port:libsdl_image
    355     configure.args-delete   --disable-sdl
    356     configure.args-append   --enable-sdl
     249variant svg description {Enable SVG support} {
     250    depends_lib-append      port:librsvg
     251    configure.args-delete   --disable-svg
     252    configure.args-append   --enable-svg
    357253}
    358254
    359 variant shout description {Enable Shoutcast support} {
     255variant shout description {Enable Shoutcast/Icecast streaming output support} {
    360256    depends_lib-append      port:libshout2
    361257    configure.args-delete   --disable-shout
    362258    configure.args-append   --enable-shout
    363259}
    364260
    365 variant smb description {Enable Samba 3 support} {
     261variant smb description {Enable Samba 3 input support} {
    366262    depends_lib-append      port:samba3
    367263    configure.args-delete   --disable-smbclient
    368264    configure.args-append   --enable-smbclient
    369265    configure.ldflags-append    -L${prefix}/lib/samba3
    370266}
    371267
    372 variant speex description {Enable Speex decoder support} {
    373     depends_lib-append      path:lib/libspeex.dylib:speex
    374     configure.args-delete   --disable-speex
    375     configure.args-append   --enable-speex
    376 }
    377 
    378 variant svg description {Enable SVG support} {
    379     depends_lib-append      port:librsvg
    380     configure.args-delete   --disable-svg
    381     configure.args-append   --enable-svg
    382 }
    383 
    384 variant vcd description {Enable VCD support} {
    385     depends_lib-append      port:vcdimager
    386     configure.args-delete   --disable-vcdx
    387     configure.args-append   --enable-vcdx
     268variant pulse description {Enable PulseAudio support} {
     269    depends_lib-append      port:pulseaudio
     270    configure.args-delete   --disable-pulse
     271    configure.args-append   --enable-pulse
    388272}
    389273
    390274variant x11 {
    391275    depends_lib-append \
     276        port:xorg-libX11 \
     277        port:xorg-libXau \
     278        port:xorg-libXdmcp \
     279        port:xorg-libXext \
     280        port:xorg-libXrandr \
     281        port:xorg-libxcb \
     282        port:xrender \
     283        port:XviD \
    392284        port:mesa \
    393285        port:xorg-libXinerama \
    394286        port:xorg-libXv \
     
    396288        port:xorg-xcb-util \
    397289        port:xorg-xcb-util-keysyms
    398290
    399     configure.args-delete   --without-x \
    400                             --disable-glx \
    401                             --disable-xcb \
    402                             --disable-xvideo
    403     configure.args-append   --with-x \
    404                             --x-include=${prefix}/include \
    405                             --x-lib=${prefix}/lib \
    406                             --enable-glx \
    407                             --enable-xcb \
    408                             --enable-xvideo
    409 }
    410 
    411 variant qt4 description {Build using QT4 UI. This will use qt4-mac} {
    412     configure.args-delete   --disable-qt
    413     configure.args-append   --enable-qt
    414     patchfiles-append       patch-vlc-qt4mac.diff
     291    configure.args-delete   --without-x --disable-xvideo --disable-glx --disable-xcb \
     292                            --x-includes=${destroot} --x-libraries=${destroot}
     293    configure.args-append   --with-x --enable-xvideo --enable-xcb
     294}
     295
     296if {${subport} ne "lib${name}"} {
     297    variant qt4 description {Build using Qt4 UI.  This will use qt4-mac. Experimental and probably dysfunctional} {
     298        patchfiles-append       patch-vlc-no-qt5.diff \
     299                                patch-vlc-qt-configureac.diff \
     300                                patch-simplepreferences.diff
    415301
    416     PortGroup qt4 1.0
     302        configure.args-delete   --disable-qt
     303        configure.args-append   --enable-qt
    417304
    418     post-activate {
    419         if {![variant_isset quartz]} {
    420             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."
    421         }
     305        PortGroup               qt4 1.0
     306        conflicts               qt5
     307    }
     308    variant qt5 description {Build using Qt5 UI.  This will use qt5-mac. Experimental and probably dysfunctional} {
     309        patchfiles-append       patch-vlc-qt-configureac.diff \
     310                                patch-simplepreferences.diff
     311
     312        configure.args-delete   --disable-qt
     313        configure.args-append   --enable-qt
     314
     315        PortGroup               qt5 1.0
     316        conflicts               qt4
    422317    }
    423318}
    424319
    425320variant quartz {
    426     patchfiles-append       patch-vlc-for-macports.diff
    427 
    428     depends_lib-append      port:BGHUDAppKit
    429321    depends_lib-delete      port:libsamplerate
     322    depends_lib-append      port:BGHUDAppKit
     323
     324    patchfiles-append       patch-vlc-for-macports.diff \
     325                            patch-ignore-libGL.diff
     326
    430327    configure.args-delete   --disable-macosx \
    431                             --disable-macosx-avfoundation \
    432                             --enable-samplerate
    433                            
    434     configure.args-append   --enable-macosx \
    435                             --enable-macosx-avfoundation
     328                            --enable-samplerate --disable-realrtsp
     329    configure.args-append   --enable-macosx
    436330    # taken from VLC's own configure.sh script for OS X:
    437331    configure.args-append   --disable-samplerate \
    438332                            --enable-merge-ffmpeg \
    439333                            --enable-realrtsp \
    440                             --enable-libass
    441334}
    442335
    443 default_variants +mod +mpc +osd +quartz
    444 
    445336variant huge \
    446     requires dvb eyetv fribidi jack mod mpc osd sdl shout speex svg vcd pulse \
    447         description {Enable all variants except quartz, qt4, smb, and x11} {}
     337    requires jack shout svg vcd \
     338    description {Enable all variants except quartz, smb, and x11} {}
    448339
    449 variant full \
    450     requires huge qt4 quartz smb x11 \
     340if {${subport} ne "lib${name}"} {
     341    variant full \
     342        requires huge quartz smb x11 \
    451343        description {Enable all variants} {}
     344} else {
     345    variant full \
     346        requires huge quartz smb \
     347        description {Enable all variants} {}
     348    # FreeRDP doesn't make a lot of sense with just the library
     349    configure.args-delete --enable-freerdp
     350    configure.args-append --disable-freerdp
     351    depends_lib-delete port:FreeRDP
     352}
     353
     354platform darwin 10 {
     355    # FreeRDP fails to build on Snow Leopard
     356    configure.args-delete --enable-freerdp
     357    configure.args-append --disable-freerdp
     358    depends_lib-delete port:FreeRDP
     359}
    452360
    453361platform macosx {
    454     default_variants-append +qtkit
     362    default_variants-append +quartz +qtkit
    455363
    456364    configure.args-delete \
    457         --disable-macosx-vout --disable-macosx-audio \
     365        --disable-macosx-eyetv
    458366
    459367    configure.args-append \
    460         --enable-macosx-vout --enable-macosx-audio \
    461         --with-macosx-sdk=/
     368        --enable-macosx-eyetv
    462369
    463     if {[variant_isset qt4] || [variant_isset quartz]} {
     370    if {${subport} ne "lib${name}"} {
    464371        configure.args-delete --disable-macosx-vlc-app
    465372        configure.args-append --enable-macosx-vlc-app
    466373    }
     
    495402        eval file delete [glob ${destroot}${prefix}/lib/vlc/plugins/*/*.la]
    496403
    497404        if {[variant_isset qt4] || [variant_isset quartz]} {
    498             file rename ${worksrcpath}/VLC.app ${destroot}${applications_dir}/VLC.app
     405            if {${subport} ne "lib${name}"} {
     406                file copy ${worksrcpath}/VLC.app ${destroot}${applications_dir}/VLC.app
    499407
    500             # These are already in ${prefix}, so we don't need to bundle them as well
    501             file delete -force ${destroot}${applications_dir}/VLC.app/Contents/Frameworks
    502             file delete -force ${destroot}${applications_dir}/VLC.app/Contents/lib
    503 
    504             # There's no need to install these into the bundle and the prefix
    505             file delete -force ${destroot}${applications_dir}/VLC.app/Contents/MacOS/include
    506             file delete -force ${destroot}${applications_dir}/VLC.app/Contents/MacOS/lib
    507             file delete -force ${destroot}${applications_dir}/VLC.app/Contents/MacOS/plugins
    508 
    509             # http://trac.macports.org/ticket/35131
    510             ln -s ${prefix}/lib ${destroot}${applications_dir}/VLC.app/Contents/MacOS/lib
    511             ln -s ${prefix}/lib/vlc/plugins ${destroot}${applications_dir}/VLC.app/Contents/MacOS/plugins
    512             # the vlc executable needs to be started with a full path to the app bundle executable
    513             # or else the Mac OS X interface will hang beyond even a ^C or ^\ :
    514             file delete ${destroot}${prefix}/bin/vlc
    515             set vlc [open "${filespath}/vlc" "w"]
    516             puts ${vlc} "#!/bin/sh"
    517             puts ${vlc} ""
    518             puts ${vlc} "exec ${applications_dir}/VLC.app/Contents/MacOS/VLC \"$@\""
    519             close ${vlc}
    520             xinstall -m 755 ${filespath}/vlc ${destroot}${prefix}/bin
     408                # These are already in ${prefix}, so we don't need to bundle them as well
     409                file delete -force ${destroot}${applications_dir}/VLC.app/Contents/Frameworks
     410                file delete -force ${destroot}${applications_dir}/VLC.app/Contents/lib
     411
     412                # There's no need to install these into the bundle and the prefix
     413                file delete -force ${destroot}${applications_dir}/VLC.app/Contents/MacOS/include
     414                file delete -force ${destroot}${applications_dir}/VLC.app/Contents/MacOS/lib
     415                file delete -force ${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                file rename ${destroot}${prefix}/bin/vlc ${destroot}${prefix}/bin/vlc.exe
     424                xinstall -m 755 ${filespath}/vlc ${destroot}${prefix}/bin
     425                if {${applications_dir} ne "/Applications/MacPorts"} {
     426                    reinplace "s|/Applications/MacPorts/|${applications_dir}/|g" ${destroot}${prefix}/bin/vlc
     427                }
     428            } else {
     429                file delete -force ${destroot}${prefix}/bin
     430                file delete -force ${destroot}${prefix}/share/applications
     431                file delete -force ${destroot}${prefix}/share/man
     432            }
     433        }
     434    }
     435    post-activate {
     436        if {[variant_isset qt4] || [variant_isset qt5]} {
     437            ui_info "The Qt interface modules for VLC are currently dysfunctional. If you encounter bugs with them, please file them with VLC and not MacPorts."
    521438        }
     439        system "${prefix}/lib/vlc/vlc-cache-gen -f ${prefix}/lib/vlc"
    522440    }
    523441}