# -*- 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 119671 2014-05-03 17:13:38Z devans@macports.org $

PortSystem      1.0
PortGroup       muniversal 1.0

name            gegl
conflicts       gegl-devel
version         0.2.0
revision        12
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:gobject-introspection\
                port:jpeg \
                port:lua \
                port:openexr \
                port:exiv2 \
                port:libopenraw \
                port:librsvg \
                port:libsdl \
                path:lib/libavcodec.dylib:ffmpeg \
                port:libspiro \
                port:lensfun \
                port:vala

patchfiles      patch-fix-introspection.diff \
                patch-configure.ac.diff \
                patch-examples-Makefile.am.diff \
                rename-for-altivec.patch \
                patch-ffmpeg.diff

use_autoreconf  yes
autoreconf.args -fvi

compiler.blacklist-append gcc-4.0 *gcc-4.2

# gobject-introspection uses g-ir-scanner, which uses $CC from env

if {[variant_isset universal]} {
    foreach arch ${configure.universal_archs} {
        lappend merger_build_args(${arch})  CC='${configure.cc} -arch ${arch}'
    }
} else {
    build.args-append       CC="${configure.cc} ${configure.cc_archflags}"
}

configure.args  --disable-docs \
                --disable-silent-rules \
                --enable-introspection=yes \
                --without-graphviz \
                --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
    }

    # Not sure what they expected by using these macros... they only belong in system headers...
    reinplace "s/AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER//" ${worksrcpath}/gegl/opencl/cl_platform.h
}

platform darwin {
    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} eq "ppc"} {
        configure.cflags-append -fno-altivec
        configure.cxxflags-append -fno-altivec
    } elseif {${build_arch} eq "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 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
}

#
# the following dummy variants are used
# to identify this port's binary dependencies
# inherited from libsdl and librsvg
#

variant x11 conflicts quartz {}
variant quartz conflicts x11 {}

if {![variant_isset quartz]} {
    default_variants +x11
}

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