# -*- 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

name                g-wrap
version             1.9.15
revision            1
categories          lang
license             LGPL-2.1+
maintainers         nomaintainer
platforms           darwin
description         A tool for autogenerating scheme bindings for C language \
                    functions, structures & enums.
long_description    ${description}

homepage            https://www.nongnu.org/g-wrap/
master_sites        https://download.savannah.gnu.org/releases/g-wrap/

checksums           rmd160  8fa8fc7f43e383c5d4e41038072b09830f25d16a \
                    sha256  0ff6e2700e74b457323726f7c2551a466d8ba44339705f6792d7b533145c602a \
                    size    701601

depends_build       port:pkgconfig

depends_lib         path:lib/pkgconfig/glib-2.0.pc:glib2 \
                    port:guile-2.2 \
                    port:libffi

patchfiles          patch-configure.diff

# error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality]
# error: indirection of non-volatile null pointer will be deleted, not trap [-Werror,-Wnull-dereference]
# error: shift count >= width of type [-Werror,-Wshift-count-overflow]
configure.args      --disable-Werror

# error: unknown type name 'intmax_t'
# error: unknown type name 'uintmax_t'; did you mean 'uintptr_t'?
# needs recent gcc compiler
# gcc10 builds on darwin 11+
# gcc8 builds on darwin10
compiler.blacklist-append   *clang*
if {${os.platform} eq "darwin" && ${os.major} > 10} {
    compiler.fallback-append macports-gcc-10
} else {
    compiler.fallback-append macports-gcc-8
}

# file: "libguile-srfi-srfi-1-v-3", message: "file not found"
build.env-append    DYLD_FALLBACK_LIBRARY_PATH=${prefix}/lib

# error: missing terminating " character
use_parallel_build  no

livecheck.type      regex
livecheck.url       https://www.nongnu.org/g-wrap/download.html
livecheck.regex     ${name}-(\[0-9.\]+)${extract.suffix}
