# -*- 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.7
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  c4dd203a2e09ebb9e69ddd94814ad3c82279c674 \
                    sha256  daedd1081ed7040684ca97f5749947ef7b86eaabae27e7a9b69bfd613d22751a

python.versions     27 34 35 36

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}"
}