# -*- 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 107669 2013-07-04 05:30:17Z jeremyhu@macports.org $

PortSystem      1.0
PortGroup       muniversal 1.0

name            gegl
version         0.2.0
revision        6
license         {GPL-3+ LGPL-3+}
set branch      [join [lrange [split ${version} .] 0 1] .]
categories      graphics
maintainers     devans
platforms       darwin
homepage        http://gegl.org/
master_sites    gimp:${name}/${branch}/

use_bzip2       yes

description \
    GEGL is a graph based image processing framework.

long_description \
    GEGL is a graph based image processing framework offering image processing and \
    compositing on large images. GEGL is suitable for projects ranging from small \
    one-off projects to interactive applications.

checksums       sha1    764cc66cb3c7b261b8fc18a6268a0e264a91d573 \
                rmd160  cc10365cff27dd42b002bf305f82de54d8c158fa

depends_build \
    port:pkgconfig \
    port:intltool \
    port:w3m

depends_lib \
    port:babl \
    port:gtk2 \
    port:jpeg \
    port:lua \
    port:openexr \
    port:exiv2 \
    port:libopenraw \
    port:librsvg \
    path:lib/pkgconfig/sdl.pc:libsdl \
    path:lib/libavcodec.dylib:ffmpeg \
    port:libspiro \
    port:lensfun

patchfiles     patch-configure.diff \
               opencl.patch \
               rename-for-altivec.patch \
               patch-ffmpeg-1.0.diff

# introspection: Need to define Gegl_0_2_gir_FILES

configure.args  --disable-docs \
                --disable-silent-rules \
                --disable-introspection \
                --without-graphviz \
                --without-vala \
                --without-umfpack

# disable parallel build, see #31498
use_parallel_build no

post-patch {
    # http://trac.macports.org/ticket/35148
    if {${os.major} < 10} {
        reinplace "s|OpenGL/CGLDevice.h|OpenGL/CGLTypes.h|" ${worksrcpath}/gegl/opencl/cl_gl.h
    }
}

platform darwin {
    if {${os.major} == 10} {
        compiler.blacklist gcc-4.2
    }

    if {[variant_isset universal]} {
        # In order to build universal on Leopard, you need MacPorts 2.1
        set merger_configure_args(x86_64) --build=${build_arch}-apple-${os.platform}${os.version}
        set merger_configure_cflags(ppc) -fno-altivec
        set merger_configure_cxxflags(ppc) -fno-altivec
    } elseif {${build_arch} == "ppc"} {
        configure.cflags-append -fno-altivec
        configure.cxxflags-append -fno-altivec
    } elseif {${build_arch} == "x86_64"} {
        configure.args-append --build=${build_arch}-apple-${os.platform}${os.version}
    }
}

variant html_doc description {Build html docs with enscript and asciidoc} {
    depends_build-append port:asciidoc
    configure.args-delete --disable-docs
    configure.args-append --enable-docs
}

variant workshop description {Enable build of workshop operations} {
    configure.args-append --enable-workshop
}

variant graphviz description {Build with graphviz support} {
    depends_lib-append    path:bin/dot:graphviz
    configure.args-delete --without-graphviz
}

variant vala description {Enable Vala bindings} {
    depends_lib-append    port:vala
    configure.args-delete --without-vala
}

variant python25 conflicts python26 python27 description {Build using Python 2.5} {
    configure.python          ${prefix}/bin/python2.5
    depends_build-append      port:python25
}

variant python26 conflicts python25 python27 description {Build using Python 2.6} {
    configure.python          ${prefix}/bin/python2.6
    depends_build-append      port:python26
}

variant python27 conflicts python25 python26 description {Build using Python 2.7} {
    configure.python          ${prefix}/bin/python2.7
    depends_build-append      port:python27
}

if {![variant_isset python25] && ![variant_isset python26]} {
    default_variants +python27
}

livecheck.type  regex
livecheck.url   ftp://ftp.gimp.org/pub/${name}/${branch}/
livecheck.regex "${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"
