# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4

PortSystem          1.0
PortGroup           gitlab 1.0
PortGroup           gobject_introspection 1.0

gitlab.instance     https://gitlab.gnome.org

set my_name         librsvg
name                ${my_name}
# 2028.08.02
gitlab.setup        GNOME ${my_name} e6aa73e1fba5646572f23c6c8dffd1dcf4801872
conflicts           ${my_name}-devel
version             2.52.0
revision            0
epoch               1
categories          graphics gnome
license             {GPL-2+ LGPL-2+}
maintainers         {mascguy @mascguy} openmaintainer
description         GNOME implementation of rsvg
long_description    {*}${description}
homepage            https://wiki.gnome.org/Projects/LibRsvg
checksums           rmd160  08f033a0056d729b847c167092a584e30426ab22 \
                    sha256  73dde41afc207645c215aa42f9aa9ce8a375d3d25a6f5a18aeb53a571d8b832c \
                    size    2020267
gitlab.livecheck.branch ${my_name}-for-gtk

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

depends_lib-append  path:lib/pkgconfig/cairo.pc:cairo \
                    path:lib/pkgconfig/freetype2.pc:freetype \
                    path:lib/pkgconfig/gdk-pixbuf-2.0.pc:gdk-pixbuf2 \
                    path:lib/pkgconfig/glib-2.0.pc:glib2 \
                    path:lib/pkgconfig/harfbuzz.pc:harfbuzz \
                    port:libcroco \
                    port:libxml2 \
                    path:lib/pkgconfig/pango.pc:pango \
                    path:bin/vala:vala

license_noconflict  gobject-introspection \
                    vala

patch.pre_args-replace \
                    -p0 -p1

# https://trac.macports.org/ticket/65407
patchfiles-append   patch-librsvg-makefile-in-vapi-deps.diff

patchfiles-append   0001-css-Rename-the-internal-RsvgLength-to-RsvgInternalLe.patch \
                    0002-rsvg-Add-the-public-RsvgRectangle-RsvgUnit-and-RsvgL.patch \
                    0003-cairo-Add-rsvg_handle_render_document-and-rsvg_handl.patch \
                    0004-cairo-Add-the-2.46-geometry-queries-and-rsvg_handle_.patch \
                    0005-rsvg-Add-rsvg_handle_get_intrinsic_dimensions-and-th.patch \
                    0006-tests-Cover-the-viewport-and-geometry-API.patch \
                    0007-meta-Bump-version-to-2.52.0-and-add-the-rsvg_-_versi.patch

compiler.c_standard 2011

gobject_introspection   yes

configure.cmd       ./autogen.sh

configure.args      --disable-Bsymbolic \
                    --disable-gtk-doc \
                    --disable-silent-rules \
                    --enable-vala

configure.ldflags-append \
                    -lobjc

post-destroot {
    set docdir ${prefix}/share/doc/${my_name}
    xinstall -d ${destroot}${docdir}
    xinstall -m 644 -W ${worksrcpath} AUTHORS COPYING COPYING.LIB \
        ${destroot}${docdir}

    xinstall -m 755 -W ${filespath} svg2pdf \
        ${destroot}${prefix}/bin

    set badfile ${prefix}/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.a
    if {[file exists ${destroot}${badfile}]} {
        file delete ${destroot}${badfile}
    }
}

post-activate {
    system "${prefix}/bin/gdk-pixbuf-query-loaders --update-cache"
}

post-deactivate {
    system "${prefix}/bin/gdk-pixbuf-query-loaders --update-cache"
}

# variant viewer disabled by default in an attempt to avoid loading
# gtk3 by those who are using it strictly as a library outside of GTK+/GNOME.
# https://trac.macports.org/ticket/43328
# https://trac.macports.org/ticket/47443
# https://trac.macports.org/ticket/47596
variant viewer description "Build the rsvg-view-3 viewer utility" {
    depends_lib-append  path:lib/pkgconfig/gtk+-3.0.pc:gtk3
    depends_run-append  port:adwaita-icon-theme
}

test.run            yes
test.dir            ${worksrcpath}/tests
test.target         check

livecheck.type      gnome
livecheck.name      ${my_name}
