# -*- 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 119508 2014-04-28 14:51:24Z devans@macports.org $

PortSystem          1.0

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

name                gstreamer1-gst-plugins-base
set my_name         gst-plugins-base
version             1.2.4
set branch          [join [lrange [split ${version} .] 0 1] .]
description         This is gst-plugins, a set of plug-ins for GStreamer.
long_description    ${description}
maintainers         rmstonecipher openmaintainer
categories          gnome
platforms           darwin
license             LGPL-2+
homepage            http://gstreamer.freedesktop.org/modules/${my_name}.html

use_xz              yes
master_sites        gnome:sources/${my_name}/${branch}/ \
                    http://gstreamer.freedesktop.org/src/${my_name}/
distname            ${my_name}-${version}

checksums           rmd160  6efa34daeecc700d4831cb71e2a0c5e9e60c3d4d \
                    sha256  4d6273dc3f5a94bcc53ccfe0711cfddd49e31371d1136bf62fa1ecc604fc6550

depends_build       port:pkgconfig
depends_lib         port:gstreamer1 \
                    port:orc \
                    path:lib/pkgconfig/pango.pc:pango \
                    port:zlib \
                    port:gobject-introspection

configure.args-append \
                    --enable-experimental \
                    --disable-examples \
                    --disable-libvisual \
                    --disable-alsa \
                    --disable-cdparanoia \
                    --disable-ogg \
                    --disable-vorbis \
                    --disable-theora \
                    --disable-ivorbis \
                    --without-x \
                    --disable-x \
                    --disable-xvideo \
                    --disable-xshm

# legacy variants +no_x11 +no_ogg may be removed after 11/2014

variant no_x11 conflicts x11 description {Legacy compatibility variant} {}

variant x11 conflicts no_x11 {
    depends_lib-append port:xorg-libice \
                       port:xorg-libsm \
                       port:xorg-libXv

    configure.args-delete --without-x --disable-x --disable-xvideo --disable-xshm
}

if {[variant_isset no_x11]} {
    default_variants -x11
} else {
    default_variants +x11
}

variant no_ogg conflicts ogg description {Legacy compatibility variant} {}

variant ogg conflicts no_ogg description {Build with support for libogg, libvorbis, libtheora} {
    depends_lib-append    port:libogg port:libvorbis port:libtheora
    configure.args-delete --disable-ogg --disable-vorbis --disable-theora
}

if {[variant_isset no_ogg]} {
    default_variants -ogg
} else {
    default_variants +ogg
}

variant examples description {Build example programs} {
    PortGroup qt4 1.0
    depends_lib-append port:gtk2
    configure.args-delete --disable-examples
}

#
# current cdparanoia port (cdparanoia III 10.2) appears to not be API compatible
# with gst-plugins-base.  See #19843.
# disable by default until this is rectified.
#

variant cdparanoia description {Enable (currently broken) cdparanoia plugin} {
    depends_lib-append port:cdparanoia
    configure.args-delete --disable-cdparanoia
}

#-fgcse (from -O2) causes build failures, but -O2 -fno-gcse doesn't seem to work
if {[string match "*gcc-4.2" ${configure.compiler}]} {
    lappend merger_configure_cflags(i386) -O1 -fexpensive-optimizations
    if {![variant_isset universal] && ${build_arch} eq "i386"} {
        configure.cflags-delete -O2
        configure.cflags-append -O1 -fexpensive-optimizations
    }
}

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_configure_args(x86_64) --build=x86_64-apple-${os.platform}${os.major}
    set merger_configure_args(i386) --build=i686-apple-${os.platform}${os.major}

    # gobject-introspection uses g-ir-scanner, which uses $CC from env
    foreach arch ${configure.universal_archs} {
        lappend merger_build_args(${arch})  CC='${configure.cc} -arch ${arch}'
        lappend merger_destroot_args(${arch})  CC='${configure.cc} -arch ${arch}'
    }
} else {

    if {${build_arch} eq "i386"} {
        configure.args-append \
            --host=i686-apple-${os.platform}${os.major} \
            --build=i686-apple-${os.platform}${os.major}
    } elseif {${build_arch} eq "x86_64"} {
        configure.args-append \
            --host=${build_arch}-apple-${os.platform}${os.major} \
            --build=${build_arch}-apple-${os.platform}${os.major}
    }

    build.args-append       CC="${configure.cc} ${configure.cc_archflags}"
    destroot.args-append    CC="${configure.cc} ${configure.cc_archflags}"
}

livecheck.type      gnome
livecheck.name      ${my_name}
