# -*- 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 92446 2012-04-28 21:06:53Z jeremyhu@macports.org $

PortSystem          1.0

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

name		        gst-plugins-bad
version		        0.10.23
revision		1
description         A set of plug-ins for GStreamer that need more quality.
long_description    \
    GStreamer Bad Plug-ins is a set of plug-ins that aren't up to par compared \
    to the rest. They might be close to being good quality, but they're missing \
    something - be it a good code review, some documentation, a set of tests, a \
    real live maintainer, or some actual wide use.
license             GPL LGPL
maintainers         rmstonecipher openmaintainer
categories          gnome
platforms           darwin
homepage            http://gstreamer.freedesktop.org/modules/${name}.html
master_sites        http://gstreamer.freedesktop.org/src/${name}/
use_bzip2           yes

checksums           md5     fcb09798114461955260e4d940db5987 \
                    sha1    46208d7bcebaac31310e2a884cc840c51034781a \
                    rmd160  3a837843b8aa941ff7c81b90d37930ccb1ddb0be

depends_build port:pkgconfig
depends_lib port:gst-plugins-base \
            port:XviD \
            port:dirac \
            port:exempi \
            port:faac \
            port:faad2 \
            port:jasper \
            port:libdc1394 \
            port:libdca \
            port:libexif \
            port:libglade2 \
            port:libmms \
            port:libmodplug \
            port:libmpcdec \
            port:libmusicbrainz2 \
            port:libvpx \
            port:soundtouch \
            port:neon \
            port:schroedinger

#
# could depend on tons for multimedia stuff +variants
# the following ports are available but don't configure
# and/or build correctly
#
# port:mjpegtools (mpeg2enc mplex build fails) need to disable mpeg2enc mplex explicitly in case mjpegtools is installed
# path:lib/pkgconfig/sdl.pc:libsdl (builds but sdlvideosink is broken)
# port:slv2 (builds but lv2 plugin fails to load and slv2 is not universal) disable lv2 explicitly in case slv2 is installed
# port:swfdec (configure wants pkg-config swfdec-0.3, we have swfdec-0.8)
#

configure.args              --disable-apple_media \
                            --disable-silent-rules \
                            --disable-quicktime \
                            --disable-mpeg2enc \
                            --disable-mplex \
                            --disable-lv2 \
                            --disable-jack \
                            --disable-sdltest \
                            --enable-experimental \
                            --enable-static

#
# port:soundtouch (fails on autoreconf on darwin 8 & 9, see #27533) disable soundtouch on these platforms
#

if { ${os.major} < 10 } {
        depends_lib-delete port:soundtouch
        configure.args-append --disable-soundtouch
}

configure.cppflags-append   "-L${prefix}/lib"
configure.cflags-append     -funroll-loops -fstrict-aliasing
configure.env-append        "HAVE_CXX=yes"

patchfiles  modplug.patch

post-patch {
    reinplace "s|-flat_namespace -undefined suppress|-undefined define_a_way|g" \
        ${worksrcpath}/configure
    reinplace "s|libSoundTouch|soundtouch-1.0|g" \
        ${worksrcpath}/configure
}

variant no_x11 {
        configure.args-append --disable-examples
}

variant jack description {enable use of jack backend } {
    depends.lib-append      port:jack
    configure.args-delete   --disable-jack
}

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}
} elseif {${build_arch} == "i386"} {
    configure.args-append \
        --host=i686-apple-${os.platform}${os.major} \
        --build=i686-apple-${os.platform}${os.major}
} elseif {${build_arch} == "x86_64"} {
    configure.args-append \
        --host=${build_arch}-apple-${os.platform}${os.major} \
        --build=${build_arch}-apple-${os.platform}${os.major}
}

livecheck.type  regex
livecheck.url   ${master_sites}
livecheck.regex "${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"
