Skip to content
Snippets Groups Projects
Commit f90f95f1 authored by Athanasios Karmas's avatar Athanasios Karmas
Browse files

Merge branch 'pynn-brainscales' into 'master'

Add pynn-brainscales

See merge request akarmas/ebrains-spack-builds!11
parents 24f2ddba 7af6d6f4
No related branches found
No related tags found
No related merge requests found
...@@ -40,6 +40,7 @@ class Genpybind(WafPackage): ...@@ -40,6 +40,7 @@ class Genpybind(WafPackage):
version('develop', branch='develop') version('develop', branch='develop')
version('visions', branch='master', git='https://github.com/electronicvisions/genpybind') version('visions', branch='master', git='https://github.com/electronicvisions/genpybind')
version('ebrains', tag='ebrains_release-1-rc1', git='https://github.com/electronicvisions/genpybind')
depends_on( depends_on(
'llvm+clang+python+visionary@5.0.0:', 'llvm+clang+python+visionary@5.0.0:',
...@@ -52,7 +53,7 @@ class Genpybind(WafPackage): ...@@ -52,7 +53,7 @@ class Genpybind(WafPackage):
def configure_args(self): def configure_args(self):
args = super(Genpybind, self).configure_args() args = super(Genpybind, self).configure_args()
if self.spec.satisfies("@visions"): if self.spec.satisfies("@visions") or self.spec.satisfies("@ebrains"):
# currently only our HEAD supports the rename # currently only our HEAD supports the rename
# TODO: adapt once the change is upstream # TODO: adapt once the change is upstream
args.append("--genpybind-disable-tests") args.append("--genpybind-disable-tests")
......
...@@ -35,7 +35,7 @@ class MetaBrainscales(Package): ...@@ -35,7 +35,7 @@ class MetaBrainscales(Package):
depends_on('cereal') depends_on('cereal')
depends_on('cppcheck') depends_on('cppcheck')
depends_on('doxygen+graphviz') depends_on('doxygen+graphviz')
depends_on('genpybind@visions') depends_on('genpybind@ebrains')
depends_on('gflags') depends_on('gflags')
depends_on('googletest+gmock') depends_on('googletest+gmock')
depends_on('intel-tbb') # ppu gdbserver depends_on('intel-tbb') # ppu gdbserver
......
# 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 PynnBrainscales(WafPackage):
"""PyNN toplevel for the BrainScaleS-2 neuromorphic hardware systems"""
homepage = "https://github.com/electronicvisions/pynn-brainscales"
#url = "https://github.com/electronicvisions/pynn-brainscales/archive/v0.1.0.tar.gz"
git = "https://github.com/electronicvisions/pynn-brainscales.git"
version('waf', branch='waf')
depends_on('meta-brainscales', type=('build', 'link', 'run'))
extends('python')
def setup_build_environment(self, env):
"""waf needs to find headers and libraries by itself (mostly `boost`
tool, but also `gtest`); it also needs to run executables during
configuration."""
include = []
for dep in self.spec.traverse(deptype='build'):
query = self.spec[dep.name]
try:
include.extend(query.headers.directories)
except:
pass
library = []
for dep in self.spec.traverse(deptype=('link', 'run')):
query = self.spec[dep.name]
try:
print("\nQUERY", query)
library.extend(query.libs.directories)
print(query.libs.directories, "\n")
except:
pass
path = []
for dep in self.spec.traverse(deptype=('build', 'link', 'run')):
query = self.spec[dep.name]
try:
path.append(query.prefix.bin)
except:
pass
# llvm might be built with ~shared_libs but still builds shared libs
if not any('llvm' in lib for lib in library):
library.append(self.spec['llvm'].prefix.lib)
env.set('CPATH', ':'.join(include))
env.set('C_INCLUDE_PATH', ':'.join(include))
env.set('CPLUS_INCLUDE_PATH', ':'.join(include))
env.set('LIBRARY_PATH', ':'.join(library))
env.set('LD_LIBRARY_PATH', ':'.join(library))
env.prepend_path('PATH', ':'.join(path))
# override configure step as we perform a project setup first
def configure(self, spec, prefix):
"""Setup and configure the project."""
self.waf('setup', '--project=pynn-brainscales', '--without-grenade-ppu-support', '--without-munge',
'--project=grenade@ebrains_release-1-rc1',
'--project=hate@ebrains_release-1-rc1',
'--project=hxcomm@ebrains_release-1-rc1',
'--project=lib-rcf@ebrains_release-1-rc1',
'--project=visions-slurm@ebrains_release-1-rc1'
)
args = ['--prefix={0}'.format(self.prefix)]
args += self.configure_args()
self.waf('configure', *args)
...@@ -22,3 +22,4 @@ spack: ...@@ -22,3 +22,4 @@ spack:
- tvb-storage ^binutils+ld+gold %gcc@10.3.0 - tvb-storage ^binutils+ld+gold %gcc@10.3.0
- tvb-framework ^binutils+ld+gold %gcc@10.3.0 - tvb-framework ^binutils+ld+gold %gcc@10.3.0
- meta-brainscales %gcc@10.3.0 - meta-brainscales %gcc@10.3.0
- pynn-brainscales %gcc@10.3.0
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment