# -*- 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
# $Id: Portfile 118351 2014-03-31 18:31:49Z g5pw@macports.org $

PortSystem          1.0
PortGroup           python 1.0

set _name           BitVector

name                py-${_name}
version             3.3.2
categories-append   math
platforms           darwin

maintainers         bo.ingv.it:Peter.Danecek 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           md5     707a0b356aa1bf404a1777b2e044a9c7 \
                    rmd160  4f4265a15799128114729f368fe1723d09d2ef96 \
                    sha256  8d63d4410f345e6cb7ea236d0b15b5b4b775bcff3bc1409ba2a07da3c1341c83

python.versions     26 27 31 32 33 34

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 {
        eval delete [ glob ${worksrcpath}/*/BitVector.py ]

        # create link for testing
        ln -s ../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}"
}
