# -*- 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           legacysupport 1.1
PortGroup           wxWidgets 1.0

name                wxsvg
version             1.5.25
revision            1
categories          graphics
license             wxwidgets-3
maintainers         nomaintainer

description         C++ library based on wxWidgets to create, manipulate and render SVG files
long_description    {*}${description}

homepage            https://wxsvg.sourceforge.io
master_sites        sourceforge:project/wxsvg/wxsvg/${version}

use_bzip2           yes

checksums           rmd160  7ecc83975dd5193257464b3e466d97003b2292df \
                    sha256  5bf6ac6831b54bd19aef48cde8fa0572dbb63f30aee9d5323f6be6b3f326534b \
                    size    515503

wxWidgets.use       wxGTK-3.2

depends_build-append \
                    port:gettext \
                    path:bin/pkg-config:pkgconfig

depends_lib-append  path:lib/pkgconfig/cairo.pc:cairo \
                    port:expat \
                    path:lib/libavcodec.dylib:ffmpeg \
                    port:gettext-runtime \
                    path:lib/pkgconfig/glib-2.0.pc:glib2 \
                    path:lib/pkgconfig/harfbuzz.pc:harfbuzz \
                    port:libexif \
                    path:lib/pkgconfig/pango.pc:pango \
                    port:${wxWidgets.port}

require_active_variants cairo x11

compiler.cxx_standard   2011

# TODO: add a variant for skia.
configure.args-append \
                    --enable-render=cairo \
                    --with-wxdir=${wxWidgets.wxdir}

# The build is broken:
# SVGCanvasTextCairo.cpp:22:10: fatal error: pango/pangocairo.h: No such file or directory
# And yes, glib2 installs one of its headers in a crazy place:
# /opt/local/include/glib-2.0/glib/gtypes.h:34:10: fatal error: glibconfig.h: No such file or directory
# /opt/local/include/pango-1.0/pango/pango-coverage.h:28:10: fatal error: hb.h: No such file or directory
configure.cppflags-append \
                    -I${prefix}/include/glib-2.0 \
                    -I${prefix}/lib/glib-2.0/include \
                    -I${prefix}/include/harfbuzz \
                    -I${prefix}/include/pango-1.0
configure.ldflags-append \
                    -lglib-2.0 -lgobject-2.0 -lintl \
                    -lpango-1.0 -lpangocairo-1.0

if {[string match *gcc* ${configure.compiler}] && ${configure.build_arch} in [list arm i386 ppc]} {
    configure.ldflags-append \
                    -latomic
}
