# -*- 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           boost 1.0
PortGroup           meson 1.0

name                cairomm
set my_name         cairomm
version             1.18.0
revision            1

categories          graphics
license             LGPL-2+
maintainers         {devans @dbevans} {mascguy @mascguy} openmaintainer

description         Cairo is a vector graphics library with cross-device output support.
long_description    Cairo is designed to produce identical \
                    output on all output media while taking advantage of \
                    display hardware acceleration when available \
                    (e.g. through the X Render Extension).
homepage            https://www.cairographics.org

master_sites        ${homepage}/releases/
distname            ${my_name}-${version}
dist_subdir         ${my_name}
use_xz              yes

checksums           rmd160  f1854e3e0737d8cb1c68124d67fc3e8863346fc1 \
                    sha256  b81255394e3ea8e8aa887276d22afa8985fc8daef60692eb2407d23049f03cfb \
                    size    632520

# Disable unexpected download of subprojects
meson.wrap_mode     nodownload

depends_build-append \
                    port:mm-common \
                    port:pkgconfig

# Pull in legacy bindings via 'cairomm-1.0', so that dependents don't have to be changed
depends_lib-append \
                    path:lib/pkgconfig/cairo.pc:cairo \
                    port:cairomm-1.0 \
                    port:libsigcxx3

compiler.cxx_standard 2017

configure.args-append \
                    -Dbuild-documentation=false \
                    -Dbuild-examples=false \
                    -Dbuild-tests=false

# dummy variants to ensure that this port gets rebuilt if
# the corresponding variants for cairo change
variant x11 {}
variant quartz {}

default_variants +x11 +quartz

if {[variant_isset quartz]} {
    require_active_variants path:lib/pkgconfig/cairo.pc:cairo quartz
}

if {[variant_isset x11]} {
    require_active_variants path:lib/pkgconfig/cairo.pc:cairo x11
}

variant tests description {Enable test support} {
    configure.args-replace \
                    -Dbuild-tests=false \
                    -Dbuild-tests=true

    test.run        yes
}

livecheck.type      regex
livecheck.url       [lindex ${master_sites} 0]
livecheck.regex     ${my_name}-(\[0-9\]+\\.\[0-9\]*\[02468\]\\.\[0-9\]+)
