diff --git a/packages/build-brainscales/package.py b/packages/build-brainscales/package.py index a162821d8753e6cb8c9dd17e8e5cea7713ea1c03..4fc13e349aa7e27945cf41898cf10f7eb084ce42 100644 --- a/packages/build-brainscales/package.py +++ b/packages/build-brainscales/package.py @@ -14,6 +14,13 @@ import spack.build_environment class BuildBrainscales(WafPackage): """Common stuff for BrainScaleS packages...""" + # waf setup performs git clone and might query gerrit + depends_on('git', type=('build', 'link')) + depends_on('py-git-review', type=('build', 'link')) + + # hack to provide genpybind PATH in all brainscales-style builds + depends_on('genpybind@ebrains', type=('build', 'link')) + def do_fetch(self, mirror_only=False): """Setup the project.""" diff --git a/packages/genpybind/package.py b/packages/genpybind/package.py index a0a631beff14bf1a6eda836c47e88c8874eb7700..fdca20b64b4a7089ec080aca1da4d907dc7ac6a9 100644 --- a/packages/genpybind/package.py +++ b/packages/genpybind/package.py @@ -43,8 +43,8 @@ class Genpybind(WafPackage): version('ebrains', tag='ebrains_release-1-rc1', git='https://github.com/electronicvisions/genpybind') depends_on( - 'llvm+clang+python+visionary@5.0.0: libcxx=none', - type=('build', 'link', 'run')) + 'llvm+clang+python+visionary@5.0.0:', + type=('build', 'link')) depends_on('binutils', type='build') depends_on('python@2.7:', type=('build', 'run')) @@ -52,6 +52,9 @@ class Genpybind(WafPackage): patch('v0.2.1-python3.10.patch', when='@:0.2.1 ^python@3.10:') + # llvm-config needs to be found at build time of packages using genpybind + def setup_dependent_build_environment(self, env, dependent_spec): + env.prepend_path("PATH", self.spec["llvm"].prefix.bin) def configure_args(self): args = super(Genpybind, self).configure_args() diff --git a/packages/hxtorch/package.py b/packages/hxtorch/package.py index f9751d98611bb07b3afb9313834ac6a8680ae5d3..4e4652dc0476168af5e98c4a3697585ae8dd9a94 100644 --- a/packages/hxtorch/package.py +++ b/packages/hxtorch/package.py @@ -45,9 +45,8 @@ class Hxtorch(build_brainscales.BuildBrainscales): depends_on('boost@1.69.0: +graph+icu+mpi+numpy+coroutine+context+filesystem+python+serialization+system+thread+program_options cxxstd=17', type=('build', 'link', 'run', 'test')) depends_on('cereal', type=('build', 'link', 'run', 'test')) depends_on('cppcheck', type=('build', 'link', 'run')) - depends_on('genpybind@ebrains', type=('build', 'link', 'run')) + depends_on('genpybind@ebrains', type=('build', 'link')) depends_on('gflags', type=('build', 'link', 'run')) - depends_on('git', type=('build', 'link')) depends_on('googletest@1.11.0:+gmock', type=('build', 'link', 'run')) # variadic templates needed depends_on('inja', type=('build', 'link', 'run', 'test')) # template engine for PPU source jit generation depends_on('intel-tbb', type=('build', 'link', 'run')) # ppu gdbserver @@ -57,9 +56,7 @@ class Hxtorch(build_brainscales.BuildBrainscales): depends_on('pkgconfig', type=('build', 'link', 'run')) depends_on('psmisc', type=('run', 'test')) depends_on('python@3.7.0:', type=('build', 'link', 'run')) # BrainScaleS-2 only supports Python >= 3.7 - depends_on('py-git-review', type=('build', 'link')) depends_on('py-h5py', type=('build', 'link', 'run')) # PyNN tests need it - depends_on('py-jax@0.3.25:', type=('build', 'link', 'run')) depends_on('py-matplotlib', type=('build', 'link', 'run')) depends_on('py-networkx', type=('build', 'link', 'run')) depends_on('py-nose', type=('build', 'link', 'run')) @@ -71,7 +68,6 @@ class Hxtorch(build_brainscales.BuildBrainscales): depends_on('py-pylint', type=('build', 'link', 'run')) depends_on('py-torch@1.9.1:', type=('build', 'link', 'run', 'test')) depends_on('py-torchvision', type=('run')) # for demos - depends_on('py-tree-math', type=('build', 'link', 'run')) depends_on('py-pyyaml', type=('build', 'link', 'run')) depends_on('py-scipy', type=('build', 'link', 'run')) depends_on('py-sqlalchemy', type=('build', 'link', 'run')) diff --git a/packages/pynn-brainscales/package.py b/packages/pynn-brainscales/package.py index 39f07d8129ee0c8d0b8f151cceb746d0dd762dc1..9bbefd4dc38588c62376f58551232279d8c7d246 100644 --- a/packages/pynn-brainscales/package.py +++ b/packages/pynn-brainscales/package.py @@ -45,9 +45,8 @@ class PynnBrainscales(build_brainscales.BuildBrainscales): depends_on('boost@1.69.0: +graph+icu+mpi+numpy+coroutine+context+filesystem+python+serialization+system+thread+program_options cxxstd=17', type=('build', 'link', 'run', 'test')) depends_on('cereal', type=('build', 'link', 'run', 'test')) depends_on('cppcheck', type=('build', 'link', 'run')) - depends_on('genpybind@ebrains', type=('build', 'link', 'run')) + depends_on('genpybind@ebrains', type=('build', 'link')) depends_on('gflags', type=('build', 'link', 'run')) - depends_on('git', type=('build', 'link')) depends_on('googletest@1.11.0:+gmock', type=('build', 'link', 'run')) # variadic templates needed depends_on('inja', type=('build', 'link', 'run', 'test')) # template engine for PPU source jit generation depends_on('intel-tbb', type=('build', 'link', 'run')) # ppu gdbserver @@ -58,7 +57,6 @@ class PynnBrainscales(build_brainscales.BuildBrainscales): depends_on('psmisc', type=('run', 'test')) depends_on('python@3.7.0:', type=('build', 'link', 'run')) # BrainScaleS-2 only supports Python >= 3.7 depends_on('py-deap@1.3.1:', type=('build', 'link', 'run')) - depends_on('py-git-review', type=('build', 'link')) depends_on('py-h5py', type=('build', 'link', 'run')) # PyNN tests need it depends_on('py-matplotlib', type=('build', 'link', 'run')) depends_on('py-nose', type=('build', 'link', 'run'))