1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# Copyright 2013-2021 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/"
pypi = "networkit/networkit-6.1.tar.gz"
maintainers = ['fabratu']
version('8.0', sha256='36c30e894e835bf93f0aa0fb0b526758234e74318150820911e024ffe5ec1fd2')
version('7.1', sha256='8609dc7a574a8a82d8880b8b1e3dfdd9c59ad67cd02135628e675c482fe98a96')
version('7.0', sha256='eea4b5e565d6990b674e1c7f4d598be9377d57b61d0d82883ecc39edabaf3631')
version('6.1', sha256='f7fcb50dec66a8253f85c10ff9314100de013c7578d531c81d3f71bc6cf8f093')
# Required dependencies
depends_on('cmake', type='build')
depends_on('libnetworkit@8.0', type=('build', 'link'), when='@8.0')
depends_on('libnetworkit@7.1', type=('build', 'link'), when='@7.1')
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')
depends_on('python@3:', type=('build', 'run'))
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
|