# -*- 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 119732 2014-05-05 07:19:12Z devans@macports.org $

PortSystem      1.0
PortGroup       muniversal 1.0
PortGroup       compiler_blacklist_versions 1.0

name            gegl-devel
conflicts       gegl
set git_name    gegl
set git_commit  abf8d7add7108a9a03c6402b608f24ebcb92f66a
set git_date    20140502
version         0.3.0-${git_date}
license         {GPL-3+ LGPL-3+}
categories      graphics
maintainers     devans
platforms       darwin

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. This is the development version \
                based on a recent snapshot of upstream git master.

homepage        http://gegl.org/
master_sites    https://git.gnome.org/browse/${git_name}/snapshot/

distname        ${git_name}-${git_commit}

checksums       rmd160  8e5d20c0d8e680b2a70ce27d5a5474da87d68623 \
                sha256  cf105c377564a6eb2479ad0647b2f3770607b9a39a3a6ff4704945aa9d02d1f1

depends_build   port:pkgconfig \
                port:intltool \
                port:w3m \
                port:autoconf \
                port:automake \
                port:libtool

depends_lib     port:babl-devel \
                port:gtk2 \
                port:jpeg \
                port:lua \
                port:gobject-introspection \
                path:bin/dot:graphviz \
                port:openexr \
                port:exiv2 \
                port:libopenraw \
                port:librsvg \
                port:libsdl \
                path:lib/libavcodec.dylib:ffmpeg \
                port:libspiro \
                port:lensfun \
                port:vala

patchfiles      patch-configure.ac.diff \
                patch-ffmpeg.diff \
                rename-for-altivec.patch

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.cmd   ./autogen.sh

configure.args  --disable-docs \
                --disable-silent-rules \
                --enable-introspection=yes \
                --without-umfpack

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} == "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 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  none
