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

github.setup        skvadrik re2c 4.5.1
revision            0
categories          devel
license             public-domain
maintainers         {ryandesign @ryandesign} openmaintainer

description         A tool for generating C-based recognizers from regular \
                    expressions.

long_description    re2c is a tool for generating C-based recognizers from \
                    regular expressions. re2c-based scanners are efficient: \
                    an re2c-based scanner is said to be typically almost twice as fast \
                    as a flex-based scanner with little or no increase in size.

homepage            https://re2c.org

checksums           rmd160  989d233b7862c66c4664f7ee5c2e47caceaf078b \
                    sha256  af85de20a6d780f2ef345eac81b35786eded075dc468384f79a65ad1059dc50d \
                    size    1762584

# The datetime parsers in php must be generated with this version or older.
subport ${name}-0.15 {
    github.setup    ${github.author} ${github.project} 0.15.3
    revision        0
    checksums       rmd160  a8867ba92ad3a9712a814b15a0cc7b6d0b51e995 \
                    sha256  f9d2a96c60a8c60d9c6c70e10590cbceaf0776d3115e7b3b35c7d7240cc1613b \
                    size    4881197

    configure.args-append \
                    --program-suffix=-0.15
}

github.tarball_from releases

if {${subport} eq ${name}} {
    use_lzip                yes

    compiler.cxx_standard   2011

    set py_ver              3.14
    set py_ver_nodot        [string map {. {}} ${py_ver}]

    depends_build-append    port:python${py_ver_nodot}
    configure.python        ${prefix}/bin/python${py_ver}
}

depends_build-append \
                    port:bison

configure.args-append \
                    --disable-silent-rules

test.run            yes
test.target         check
# Make sed happy:
test.env            LANG=C

if {${subport} ne ${name}} {
    livecheck.type  none
}
