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

name                peg
epoch               1
# As of June 2024, 0.1.20 is a development version subject to change and
# incompatible with ngs.
# https://github.com/ngs-lang/ngs/issues/662
# If updating to 0.1.20 in the future, remember that version 0.1.20 revision 0
# has already existed in MacPorts and corresponded to the November 2023 version
# of 0.1.20. If a future final version of 0.1.20 differs from that, then the
# MacPorts revision should start at 1 and dist_subdir must also be changed.
version             0.1.19
revision            0
checksums           rmd160  e7962ebef366f96f7ab27b8c3aead7a78cd085e1 \
                    sha256  0013dd83a6739778445a64bced3d74b9f50c07553f86ea43333ae5fab5c2bbb4 \
                    size    136241

description         \
    recursive-descent parser generators for C

long_description    \
    peg and leg are tools for generating recursive-descent parsers: programs \
    that perform pattern matching on text. They processes a Parsing \
    Expression Grammar (PEG) \[Ford 2004\] to produce a program that \
    recognises legal sentences of that grammar. peg processes PEGs written \
    using the original syntax described by Ford\; leg processes PEGs written \
    using slightly different syntax and conventions that are intended to make \
    it an attractive replacement for parsers built with lex and yacc. Unlike \
    lex and yacc, peg and leg support unlimited backtracking, provide ordered \
    choice as a means for disambiguation, and can combine scanning (lexical \
    analysis) and parsing (syntactic analysis) into a single activity.

categories          devel
installs_libs       no
license             MIT
maintainers         {gmail.com:herby.gillot @herbygillot} \
                    openmaintainer

homepage            https://www.piumarta.com/software/peg/
master_sites        ${homepage}

makefile.override-append \
                    PREFIX

destroot.destdir    ROOT=${destroot}
destroot.args       MANDIR=${destroot}${prefix}/share/man/man1

livecheck.regex     ${name}-(\\d+(?:\\.\\d+)*)</a>\\s+\\(stable\\)
