# -*- 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
PortGroup           select 1.0

name                py-pylint
version             2.3.1
revision            0
categories-append   devel
platforms           darwin
license             GPL-2+
supported_archs     noarch

python.versions     27 34 35 36 37

maintainers         {blair @blair} {stromnov @stromnov} openmaintainer

description         Error (and style) checking for python

long_description    Pylint is a tool that checks for errors in python code, \
                    and tries to check that a given coding standard \
                    is respected by the coders. This is similar but \
                    nevertheless different from what pychecker_ provides, \
                    especially since pychecker explicitely does not bother \
                    with coding style. The default coding style used \
                    by pylint is close to `Guido's style guide`_.

homepage            https://pylint.org
master_sites        pypi:[string index ${python.rootname} 0]/${python.rootname}

distname            ${python.rootname}-${version}

checksums           rmd160  917358dcdd31e8147c6ee4680ed46385767b11a2 \
                    sha256  723e3db49555abaf9bf79dc474c6b9e2935ad82230b10c1138a71ea41ac0fff1 \
                    size    577767

if {${name} ne ${subport}} {
    depends_build-append \
                        port:py${python.version}-pytest-runner

    depends_lib-append  port:py${python.version}-setuptools \
                        port:py${python.version}-astroid \
                        port:py${python.version}-isort \
                        port:py${python.version}-flake8-mccabe

    if {${python.version} eq 27} {
        version             1.9.4
        revision            0
        distname            ${python.rootname}-${version}
        checksums           rmd160  763a56b52da567df22a09caa965da3e15dccbd9a \
                            sha256  ee1e85575587c5b58ddafa25e1c1b01691ef172e139fc25585e5d3f02451da93 \
                            size    519076

        depends_lib-append  port:py${python.version}-configparser \
                            port:py${python.version}-backports-functools_lru_cache \
                            port:py${python.version}-singledispatch \
                            port:py${python.version}-six
    }

    depends_run-append  port:pylint_select

    post-destroot {
        xinstall -m 755 -d ${destroot}${prefix}/share/doc/${subport}
        if {[file exists ${worksrcpath}/doc]} {
            xinstall -m 644 {*}[glob -types f ${worksrcpath}/doc/*] \
                ${destroot}${prefix}/share/doc/${subport}
            if {[file exists ${worksrcpath}/doc/_static]} {
                xinstall -m 755 -d ${destroot}${prefix}/share/doc/${subport}/_static
                xinstall -m 644 {*}[glob -types f ${worksrcpath}/doc/_static/*] \
                    ${destroot}${prefix}/share/doc/${subport}/_static
            }
        }
        xinstall -m 644 -W ${worksrcpath} ChangeLog README.rst \
            ${destroot}${prefix}/share/doc/${subport}
        file delete ${destroot}${python.pkgd}/logilab/__init__.py
    }

    select.group    pylint
    select.file     ${filespath}/pylint${python.version}

    notes "
To make the Python ${python.branch} version of pylint the one that is run\
when you execute the commands without a version suffix, e.g. 'pylint', run:

port select --set ${select.group} [file tail ${select.file}]
"

    livecheck.type      none
}