# -*- 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.1
revision            0

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  1a69263d55dda8a792a15744864aadf605f55393 \
                    sha256  e0e996a979ee52c840dca3ee74f5d005e3259b94ddce58f255d3b6f47c8cb41d \
                    size    613728

# Disable unexpected download of subprojects
meson.wrap_mode     nodownload

depends_build-append \
                    port:mm-common \
                    path:bin/pkg-config: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

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\]+)
