# -*- 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

PortSystem              1.0
PortGroup               active_variants 1.1
PortGroup               gobject_introspection 1.0

name                    goffice
description             GOffice is a library of document-centric objects and utilities.
long_description        GOffice is a library of document-centric objects \
                        and utilities building on top of GLib and Gtk+ and \
                        used by software such as Gnumeric.

maintainers             {devans @dbevans} openmaintainer
categories              gnome devel

homepage                http://www.gnumeric.org/
use_xz                  yes

if {${name} eq ${subport}} {
    epoch               1
    version             0.10.57
    revision            0

    license             {GPL-2 GPL-3}

    checksums           rmd160  302f22f832fe43d949495e5309f36740d151b7d0 \
                        sha256  66bfd7e31d2f6756d5a62c3670383cbba02b3cb4c1042950192a801b72a3c9ab \
                        size    2518848

    depends_build       path:bin/pkg-config:pkgconfig \
                        port:intltool \
                        port:gettext \
                        port:gtk-doc \
                        port:autoconf \
                        port:automake \
                        port:libtool

    depends_lib         port:gettext-runtime \
                        path:lib/pkgconfig/gtk+-3.0.pc:gtk3 \
                        port:libgsf \
                        path:lib/pkgconfig/librsvg-2.0.pc:librsvg \
                        port:libspectre \
                        port:libxslt \
                        port:libxml2 \
                        path:lib/pkgconfig/harfbuzz.pc:harfbuzz \
                        path:lib/pkgconfig/pango.pc:pango \
                        path:lib/pkgconfig/cairo.pc:cairo \
                        port:atk \
                        port:ghostscript \
                        path:lib/pkgconfig/gdk-pixbuf-2.0.pc:gdk-pixbuf2 \
                        path:lib/pkgconfig/glib-2.0.pc:glib2

    gobject_introspection yes

# reconfigure using upstream autogen.sh for intltool 0.51 compatibility

    post-patch {
        xinstall -m 755 ${filespath}/autogen.sh ${worksrcpath}
    }

    configure.cmd       ./autogen.sh

    patchfiles-append   patch-configure.ac.diff \
                        patch_quartz-goffice-goffice.c.diff
    
    configure.args-append \
                        --disable-silent-rules

    variant quartz {}

    if {[variant_isset quartz]} {
        require_active_variants gtk3 quartz x11
        depends_lib-append      port:gtk-osx-application-gtk3
    } else {
        require_active_variants gtk3 x11 quartz
    }

    livecheck.type      gnome
} else {
    livecheck.type      none
}

# Snapshot of goffice @0.8.17
# Still used by nip2 (needed until it moves to gtk3):
# see https://trac.macports.org/ticket/58494#comment:1

subport goffice08 {
    epoch               1
    version             0.8.17
    revision            7

    checksums           sha256  165070beb67b84580afe80a8a100b674a81d553ab791acd72ac0c655f4fadb15 \
                        rmd160  91d1df371c8164c8c5c9860c7c9c87b9fb69f6c3 \
                        size    1814488

    license             GPL-2

    depends_build       port:pkgconfig \
                        port:intltool \
                        port:gnome-common \
                        port:gtk-doc \
                        port:autoconf \
                        port:automake \
                        port:libtool

    depends_lib         path:lib/pkgconfig/gtk+-2.0.pc:gtk2 \
                        port:gconf \
                        port:libgsf \
                        port:libxml2 \
                        port:pcre

    patchfiles-append   patch-goffice-utils-regutf8.c.diff

# reconfigure using upstream autogen.sh for intltool 0.51 compatibility

    post-patch {
        xinstall -m 755 ${filespath}/autogen08.sh ${worksrcpath}/autogen.sh
    }

    configure.cmd       ./autogen.sh

    configure.args-append \
                        --enable-compile-warnings=minimum

    pre-activate {
        if {![catch {set installed [lindex [registry_active goffice] 0]}]} {
            set _version [lindex $installed 1]
            if {[vercmp $_version 0.10] < 0} {
                registry_deactivate_composite goffice "" [list ports_nodepcheck 1]
            }
        }
    }
}

set branch              [join [lrange [split ${version} .] 0 1] .]
master_sites            gnome:sources/${name}/${branch}/
