diff options
-rw-r--r-- | var/spack/repos/builtin/packages/py-networkit/package.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/py-networkit/package.py b/var/spack/repos/builtin/packages/py-networkit/package.py new file mode 100644 index 0000000000..4ffe5e3b63 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-networkit/package.py @@ -0,0 +1,42 @@ +# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class PyNetworkit(PythonPackage): + """NetworKit is a growing open-source toolkit for large-scale network + analysis. Its aim is to provide tools for the analysis of large networks + in the size range from thousands to billions of edges. For this purpose, + it implements efficient graph algorithms, many of them parallel to + utilize multicore architectures. These are meant to compute standard + measures of network analysis, such as degree sequences, clustering + coefficients, and centrality measures. In this respect, NetworKit is + comparable to packages such as NetworkX, albeit with a focus on + parallelism and scalability.""" + + homepage = "https://networkit.github.io/" + url = "https://pypi.io/packages/source/n/networkit/networkit-6.1.tar.gz" + + version('7.0', sha256='eea4b5e565d6990b674e1c7f4d598be9377d57b61d0d82883ecc39edabaf3631') + version('6.1', sha256='f7fcb50dec66a8253f85c10ff9314100de013c7578d531c81d3f71bc6cf8f093') + + # Required dependencies + depends_on('cmake', type='build') + depends_on('libnetworkit@7.0', type=('build', 'link'), when='@7.0') + depends_on('libnetworkit@6.1', type=('build', 'link'), when='@6.1') + depends_on('llvm-openmp', when='%apple-clang') + depends_on('ninja', type='build') + depends_on('py-cython', type='build') + depends_on('py-numpy', type=('build', 'run')) + depends_on('py-scipy', type=('build', 'run')) + depends_on('py-setuptools', type='build') + + phases = ['build_ext', 'install'] + + # Overwrite build_ext to enable ext. core-library + parallel build + def build_ext_args(self, spec, prefix): + args = ['--networkit-external-core', '-j{0}'.format(make_jobs)] + return args |