# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id$

PortSystem              1.0

name                    mplayer2
epoch                   3
categories              multimedia
platforms               darwin
license                 Restrictive
maintainers             cal openmaintainer
description             mplayer2 is an advanced general-purpose video player. A fork of the original MPlayer project, it contains significant \
                        further development and supports a number of features not available in other Unix players.
long_description        ${description}

homepage                http://www.mplayer2.org/
version                 2.0-20121128
revision                2
fetch.type              git
git.url                 git://git.mplayer2.org/mplayer2.git
git.branch              661a3500796f4dc2c4c0a9b074ce698f7a0987a1

# disable livecheck, because it seems upstream isn't going to do any releases
livecheck.type          none

conflicts               MPlayer mplayer-devel

depends_build-append    port:pkgconfig \
                        port:yasm \
                        port:autoconf \
                        port:python32 \
                        port:py27-docutils

depends_lib-append      path:lib/pkgconfig/sdl.pc:libsdl \
                        path:lib/libavcodec.dylib:ffmpeg \
                        port:XviD \
                        port:a52dec \
                        port:enca \
                        port:faad2 \
                        port:fontconfig \
                        port:freetype \
                        port:fribidi \
                        port:gettext \
                        port:jpeg \
                        port:lame \
                        port:lcms2 \
                        port:libass \
                        port:libdca \
                        port:libdv \
                        port:libdvdnav \
                        port:libdvdread \
                        port:libiconv \
                        port:libmad \
                        port:libmng \
                        port:libogg \
                        port:libpng \
                        port:libquvi \
                        port:libtheora \
                        port:libvorbis \
                        port:mesa \
                        port:ncurses \
                        port:speex \
                        port:zlib

universal_variant       no

patchfiles              patch-configure.diff

post-patch {
    reinplace "s|#!/usr/bin/env python3|#!$prefix/bin/python3.2|g" \
        ${worksrcpath}/TOOLS/file2string.py \
        ${worksrcpath}/TOOLS/matroska.py \
        ${worksrcpath}/TOOLS/vdpau_functions.py
}

configure.cppflags-append \
                        -I$prefix/include/freetype2

configure.args-append   --enable-termcap \
                        --disable-termios \
                        --enable-iconv \
                        --disable-lirc \
                        --disable-lircc \
                        --disable-joystick \
                        --enable-apple-remote \
                        --disable-apple-ir \
                        --disable-xf86keysym \
                        --disable-radio \
                        --disable-radio-capture \
                        --disable-radio-v4l2 \
                        --disable-radio-bsdbt848 \
                        --disable-tv \
                        --disable-tv-v4l1 \
                        --disable-tv-v4l2 \
                        --disable-tv-bsdbt848 \
                        --disable-pvr \
                        --disable-rtc \
                        --enable-networking \
                        --disable-winsock2_h \
                        --disable-smb \
                        --enable-libquvi \
                        --enable-lcms2 \
                        --enable-vcd \
                        --disable-bluray \
                        --enable-dvdnav \
                        --enable-dvdread \
                        --disable-dvdread-internal \ \
                        --disable-libdvdcss-internal \
                        --disable-unrarexec \
                        --enable-sortsub \
                        --enable-enca \
                        --enable-macosx-finder \
                        --enable-macosx-bundle \
                        --enable-inet6 \
                        --enable-gethostbyname2 \
                        --enable-ftp \
                        --disable-vstream \
                        --enable-pthreads \
                        --disable-w32threads \
                        --disable-rpath \
                        --enable-libpostproc \
                        --disable-gif \
                        --enable-png \
                        --enable-mng \
                        --enable-jpeg \
                        --disable-win32dll \
                        --disable-qtx \
                        --disable-xanim \
                        --disable-real \
                        --enable-xvid \
                        --disable-libnut \
                        --enable-libav \
                        --enable-libvorbis \
                        --disable-tremor \
                        --enable-speex \
                        --enable-theora \
                        --enable-faad \
                        --disable-ladspa \
                        --disable-libbs2b \
                        --enable-libdv \
                        --disable-mpg123 \
                        --enable-mad \
                        --disable-xmms \
                        --enable-libdca \
                        --enable-liba52 \
                        --disable-musepack \
                        --enable-gl \
                        --enable-sdl \
                        --disable-caca \
                        --disable-direct3d \
                        --disable-directx \
                        --disable-v4l2 \
                        --disable-dvb \
                        --disable-xv \
                        --disable-vdpau \
                        --disable-vm \
                        --disable-xinerama \
                        --disable-x11 \
                        --disable-xshape \
                        --disable-xss \
                        --disable-directfb \
                        --disable-tga \
                        --disable-pnm \
                        --disable-md5sum \
                        --disable-yuv4mpeg \
                        --enable-corevideo \
                        --enable-cocoa \
                        --enable-sharedbuffer \
                        --disable-alsa \
                        --disable-ossaudio \
                        --disable-rsound \
                        --disable-pulse \
                        --disable-portaudio \
                        --disable-jack \
                        --disable-openal \
                        --enable-coreaudio \
                        --enable-translation \
                        --disable-select \
                        --cc=${configure.cc} \
                        --disable-static \
                        --extra-cflags=\"${configure.cppflags} ${configure.optflags} [get_canonical_archflags cc] -Wno-pointer-sign\" \
                        --extra-ldflags=\"${configure.ldflags} [get_canonical_archflags ld]\" \
                        --extra-libs=\"-liconv -lncurses -lpng -lz -lmng -lz -ljpeg -ldvdread -lfreetype -lfontconfig -lass -lfribidi -lenca -lz -lmad -lvorbis -logg -lspeex -ltheora -logg -la52 -ldca -lfaad -lavutil -lavcodec -lavformat -lswscale -lpostproc -ldv -lxvidcore -lm -ldvdnavmini -lpthread -lm -framework IOKit -framework Cocoa -framework OpenGL -framework QuartzCore -lSDLmain -lSDL -framework CoreAudio -framework AudioUnit -framework AudioToolbox -lintl -llcms2 -lquvi \"

                        # leave out libass, as configure doesn't handle it correctly
                        # --enable-libass \

build.target            mplayer
build.args-append       V=1
build.env-append        CC=${configure.cc} \
                        CPP=${configure.cpp} \
                        CFLAGS="${configure.optflags} [get_canonical_archflags cc]" \
                        CPPFLAGS="${configure.cppflags}" \
                        LDFLAGS="${configure.ldflags} [get_canonical_archflags ld]"

variant smb description {Enable Samba support} {
    depends_lib-append  port:samba3
    configure.args-delete --disable-smb
    configure.args-append --enable-smb
}