# -*- 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               compiler_blacklist_versions 1.0
PortGroup               active_variants 1.1
PortGroup               github 1.0
PortGroup               python 1.0

github.setup            pygobject pycairo 1.18.2 v
name                    py-cairo
github.tarball_from     releases
revision                0

categories-append       graphics
license                 {LGPL-2.1 MPL-1.1}
platforms               darwin
maintainers             nomaintainer

description             Pycairo is set of Python bindings for the cairo graphics library
long_description        ${description}

checksums               rmd160  49a2ed4c9cf5c2606e7cf7c9693bceff40a1bebf \
                        sha256  dcb853fd020729516e8828ad364084e752327d4cff8505d20b13504b32b16531 \
                        size    200462

python.versions         27 34 35 36 37 38

if {${name} ne ${subport}} {
    depends_build-append    port:pkgconfig
    depends_lib-append      path:lib/pkgconfig/cairo.pc:cairo

    depends_test-append     port:py${python.version}-pytest \
                            port:py${python.version}-hypothesis

    test.run                yes

    # cairo/surface.c:478: error: #pragma GCC diagnostic not allowed inside functions
    # early clang versions don't use CPATH
    compiler.blacklist-append *gcc-3.* *gcc-4.* {clang < 300}

    variant quartz {
        require_active_variants cairo quartz
    }

    variant x11 {
        require_active_variants cairo x11
    }

    if {[catch {set result [active_variants cairo quartz]}]} {
        default_variants-append +quartz
    }

    if {[catch {set result [active_variants cairo x11]}]} {
        default_variants-append +x11
    }

    livecheck.type      none
}
