# -*- 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: Portfile 92060 2012-04-17 00:51:30Z jeremyhu@macports.org $

PortSystem          1.0

# https://bugzilla.gnome.org/show_bug.cgi?id=636134
PortGroup   muniversal 1.0

name                gst-ffmpeg
version             0.10.13
revision            1
description         This is gst-ffmpeg, a set of plug-ins for GStreamer.
long_description     ${description}
maintainers         rmstonecipher openmaintainer
categories          gnome
license             GPL-2+
platforms           darwin
homepage            http://www.gnome.org/
master_sites        http://gstreamer.freedesktop.org/src/${name}/

checksums           md5     7f5beacaf1312db2db30a026b36888c4 \
                    sha1    8de5c848638c16c6c6c14ce3b22eecd61ddeed44 \
                    rmd160  3e5e3d44302665214cfde8a908b633f8d0f70d31

patchfiles          patch-gst-libs_ext_libav_configure.diff

post-patch {
    reinplace "s|%%CONFIGURE.CC%%|${configure.cc}|g" ${worksrcpath}/gst-libs/ext/libav/configure
}

depends_build       port:pkgconfig

depends_lib         port:gst-plugins-base

use_bzip2           yes

configure.args      --mandir=${prefix}/share/man

# This will cause the installed ffmpeg headers to be used, remove it.
configure.cppflags-delete -I${prefix}/include

if {[variant_isset universal]} { 
    set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
    set merger_host(i386) i686-apple-${os.platform}${os.major}
    set merger_host(ppc64) powerpc64-apple-${os.platform}${os.major}
    set merger_host(ppc) powerpc-apple-${os.platform}${os.major}
    set merger_configure_args(x86_64) "--build=x86_64-apple-${os.platform}${os.major} --with-ffmpeg-extra-configure=\"--cc=${configure.cc} --arch=x86_64\""
    set merger_configure_args(ppc) "--build=powerpc-apple-${os.platform}${os.major} --with-ffmpeg-extra-configure=\"--cc=${configure.cc} --arch=ppc\""
    set merger_configure_args(ppc64) "--build=powerpc64-apple-${os.platform}${os.major} --with-ffmpeg-extra-configure=\"--cc=${configure.cc} --arch=ppc64\""

    if {[string match "*gcc-4.2" ${configure.compiler}] && [lsearch ${universal_archs} i386] != -1} {
        if {[vercmp ${xcodeversion} 3.2] >= 0} {
            set merger_configure_compiler(i386) clang
            set merger_configure_args(i386) "--build=i686-apple-${os.platform}${os.major} --with-ffmpeg-extra-configure=\"--cc=[portconfigure::find_developer_tool clang] --arch=i686\""
        } else {
            # i386 in +universal needs MacPorts base 2.1 on Leopard
            depends_build port:clang-3.0
            depends_skip_archcheck-append clang-3.0

            set merger_configure_compiler(i386) macports-clang-3.0

            set merger_configure_args(i386) "--build=i686-apple-${os.platform}${os.major} --with-ffmpeg-extra-configure=\"--cc=${prefix}/bin/clang-mp-3.0 --arch=i686\""
        }
    } else {
       set merger_configure_args(i386) "--build=i686-apple-${os.platform}${os.major} --with-ffmpeg-extra-configure=\"--cc=${configure.cc} --arch=i686\""
    }
} elseif {${build_arch} == "i386"} {
    if {${configure.compiler} == "gcc-4.2"} {
        if {[vercmp ${xcodeversion} 3.2] >= 0} {
            configure.compiler clang
        } else {
            depends_build port:clang-3.0
            depends_skip_archcheck-append clang-3.0

            # FIXME: Use macports-clang-3.0 once 2.1 is out
            configure.cc ${prefix}/bin/clang-mp-3.0
        }
    }
    configure.args-append \
        --host=i686-apple-${os.platform}${os.major} \
        --build=i686-apple-${os.platform}${os.major} \
        --with-ffmpeg-extra-configure="--cc=${configure.cc} --arch=i686"
} else {
    configure.args-append \
        --host=${os.arch}-apple-${os.platform}${os.major} \
        --build=${os.arch}-apple-${os.platform}${os.major} \
        --with-ffmpeg-extra-configure="--cc=${configure.cc} --arch=${os.arch}"
}

#
# embedded ffmpeg code requires gmake 3.81 to build properly
#
platform darwin 8 {
    depends_build-append port:gmake
    depends_skip_archcheck-append gmake

    build.cmd            gmake
    destroot.cmd         gmake
}

livecheck.type      regex
livecheck.url       http://gstreamer.freedesktop.org/src/${name}/
livecheck.regex     "${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"
