# -*- 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-networkit
version             7.0
revision            0
categories-append   devel
platforms           darwin
license             MIT

python.versions     37 38

maintainers         {stromnov @stromnov} openmaintainer

description         NetworKit is a toolbox for high-performance network analysis
long_description    ${description}

homepage            https://networkit.iti.kit.edu/

checksums           rmd160  432de3a8ff849835059ea2972cb6b7c5071845e0 \
                    sha256  eea4b5e565d6990b674e1c7f4d598be9377d57b61d0d82883ecc39edabaf3631 \
                    size    1905444

if {${name} ne ${subport}} {
    compiler.cxx_standard 2017
    compiler.openmp_version 2.5

    patchfiles-append   patch-setup.py.diff

    post-patch {
        # force cython usage
        file delete ${worksrcpath}/networkit/_NetworKit.cpp
        reinplace "s|@@PREFIX@@|${prefix}|" ${worksrcpath}/setup.py
        reinplace "s|@@CYTHON@@|cython-${python.branch}|" ${worksrcpath}/setup.py
    }

    depends_build-append \
                        port:py${python.version}-setuptools \
                        port:py${python.version}-cython \
                        port:cmake

    depends_lib-append  port:py${python.version}-scipy \
                        port:py${python.version}-matplotlib \
                        port:py${python.version}-pandas \
                        port:py${python.version}-numpy \
                        port:py${python.version}-networkx \
                        port:py${python.version}-tabulate \
                        port:py${python.version}-seaborn \
                        port:py${python.version}-scikit-learn \
                        port:py${python.version}-ipython \
                        port:libomp

    build.env-append    "CXX=${configure.cxx}"

    destroot.env-append "CXX=${configure.cxx}"

    livecheck.type      none
}
