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

name                py-tatsu
python.rootname     TatSu
version             5.6.1
revision            1
categories-append   devel textproc
platforms           darwin
license             BSD

python.versions     27 35 36 37 38 39

maintainers         {stromnov @stromnov} openmaintainer

description         Tool that takes grammars in a variation of EBNF as input, and outputs memoizing PEG parsers in Python.
long_description    ${description}

homepage            https://github.com/neogeny/tatsu

use_zip             yes

checksums           rmd160  5529b54b5b4ce48032e43d8f02af300e975bdbbc \
                    sha256  6a4f07aa7bfe9dfbee8015824feaf13f0b1a89577e2ee5a4a62c18630c309d4e \
                    size    192828

if {${name} ne ${subport}} {

    if {${python.version} <= 35} {
        version             4.4.0
        revision            0
        distname            ${python.rootname}-${version}
        checksums           rmd160  e4492b787bacdfaecc3d70246b8c456ad3ff4cfa \
                            sha256  80713413473a009f2081148d0f494884cabaf9d6866b71f2a68a92b6442f343d \
                            size    137688
        patchfiles-append   patch-pre36-setup.py.diff
        depends_build-append \
                            port:py${python.version}-cython
        depends_lib-append  port:py${python.version}-future
    } elseif {${python.version} < 38} {
        version             5.5.0
        revision            0
        epoch               1
        distname            ${python.rootname}-${version}
        checksums           rmd160  eef2accaabd35c7fa657ab9f6b312a0a3e41fc6b \
                            sha256  0adbf7189a8c4f9a882b442f7b8ed6c6ab3baae37057db0e96b6888daacffad0 \
                            size    227253
        patchfiles-append   patch-setup.py.diff
    } else {
        patchfiles-append   patch-setup.py.diff
    }

    patchfiles-append   patch-MANIFEST.in.diff

    depends_lib-append  port:py${python.version}-setuptools

    # Fix permissions
    post-extract {
        fs-traverse item ${worksrcpath} {
            if {[file isdirectory ${item}]} {
                file attributes ${item} -permissions a+rx
            } elseif {[file isfile ${item}]} {
                file attributes ${item} -permissions a+r
            }
        }
    }

    livecheck.type      none
}
