# -*- 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 102362 2013-02-01 03:43:34Z rmstonecipher@macports.org $

PortSystem          1.0

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

name                gstreamer1-gst-libav
set my_name         gst-libav
version             1.0.7
description         This is gst-libav, a set of plug-ins for GStreamer.
long_description     ${description}
maintainers         rmstonecipher openmaintainer
categories          gnome
license             GPL-2+
platforms           darwin
homepage            http://gstreamer.freedesktop.org/
master_sites        http://gstreamer.freedesktop.org/src/${my_name}/
distname            ${my_name}-${version}
use_xz              yes

checksums           rmd160  14f188db076e73458c5da758b22ead82bb2d3e4e \
                    sha256  aefa679d14e7a6558673cfbf401b9c01f1903bb52e5dc08332e9001d25a7ba7a

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:gstreamer1-gst-plugins-base

use_autoreconf      yes
autoreconf.args     -fvi

# 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}"
    set merger_configure_args(ppc) "--build=powerpc-apple-${os.platform}${os.major}"
    set merger_configure_args(ppc64) "--build=powerpc64-apple-${os.platform}${os.major}"

    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}"
        } 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}"
        }
    } else {
       set merger_configure_args(i386) "--build=i686-apple-${os.platform}${os.major}"
    }
} 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}
} else {
    configure.args-append \
        --host=${os.arch}-apple-${os.platform}${os.major} \
        --build=${os.arch}-apple-${os.platform}${os.major}
}

#
# 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/${my_name}/
livecheck.regex     "${my_name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"
