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

set _name           BitVector

name                py-${_name}
version             3.4.8
categories-append   math
platforms           darwin
supported_archs     noarch

maintainers         {petr @petrrr} openmaintainer

license             PSF

description         A memory-efficient packed representation for bit arrays

long_description    The BitVector class is for a memory-efficient packed \
                    representation of bit arrays and for logical operations \
                    on such arrays. It is written in pure Python.

homepage            https://engineering.purdue.edu/kak/dist/${_name}-${version}.html

distname            ${_name}-${version}
master_sites        https://engineering.purdue.edu/kak/dist

checksums           rmd160  4830e41317c6bf5753983bcea05477b4bb44f97e \
                    sha256  c636d81495a15c3ccd8c3c1497d90deaf7fdcf60aa8cfc91e60a771796ba7f72 \
                    size    126947

python.versions     27 34 35 36 37

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

    test.run            yes
    test.cmd            ${python.bin} TestBitVector/Test.py
    test.target         {}

    # delete redundant files & avoid testing different version
    pre-patch {
        delete {*}[glob ${worksrcpath}/TestBitVector/BitVector.py]

        # create link for testing
        ln -s ../BitVector/BitVector.py ${worksrcpath}/TestBitVector/BitVector.py
    }

    # Adding documentation & examples
    post-destroot {
        set dest_doc ${destroot}${prefix}/share/doc/${subport}
        copy ${worksrcpath}/${distname}.html ${dest_doc}

        # Avoid creation of example directory
        delete ${dest_doc}/examples
        copy ${worksrcpath}/Examples ${dest_doc}/examples
    }

    livecheck.type      none
} else {
    livecheck.type      regex
    livecheck.url       [lindex ${master_sites} 0]
    livecheck.regex     "${_name}-(\\d+(\\.\\d+)+)\\${extract.suffix}"
}