From b391e4f096a494fc5995cb02119689e43a2930fb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Eric=20M=C3=BCller?= <mueller@kip.uni-heidelberg.de>
Date: Fri, 3 Feb 2023 09:53:07 +0100
Subject: [PATCH] BrainScaleS: Update software

---
 packages/hxtorch/package.py          | 11 +++++------
 packages/oppulance/package.py        |  5 +++--
 packages/pynn-brainscales/package.py | 11 +++++------
 spack.yaml                           |  4 ++--
 4 files changed, 15 insertions(+), 16 deletions(-)

diff --git a/packages/hxtorch/package.py b/packages/hxtorch/package.py
index f0aeaff7..1a328a44 100644
--- a/packages/hxtorch/package.py
+++ b/packages/hxtorch/package.py
@@ -15,27 +15,26 @@ class Hxtorch(WafPackage):
     # This repo provides a waf binary used for the build below
     git      = "https://github.com/electronicvisions/pynn-brainscales.git"
 
-    version('4.0-a3', branch='waf')
+    version('4.0-a4', branch='waf')
 
     # PPU compiler dependencies
-    depends_on('oppulance@4.0-a3')
+    depends_on('oppulance@4.0-a4')
 
     # host software dependencies
     depends_on('bitsery', type=('build', 'link', 'run'))
     depends_on('binutils+gold+ld+plugins', type=('build', 'link', 'run')) # specialize
-    depends_on(Boost.with_default_variants)
-    depends_on('boost@1.69.0: +graph+icu+mpi+python+numpy+coroutine+context cxxstd=17', type=('build', 'link', 'run')) # specialize boost (non-clingo, type=('build', 'link', 'run'))
+    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')) # specialize boost (non-clingo, type=('build', 'link', 'run'))
     depends_on('cereal', type=('build', 'link', 'run'))
     depends_on('cppcheck', type=('build', 'link', 'run'))
     depends_on('doxygen+graphviz', type=('build', 'link', 'run'))
     depends_on('genpybind@ebrains', type=('build', 'link', 'run'))
     depends_on('gflags', type=('build', 'link', 'run'))
-    depends_on('googletest@1.11.0: +gmock', type=('build', 'link', 'run')) # variadic templates needed
+    depends_on('googletest@1.11.0:+gmock', type=('build', 'link', 'run')) # variadic templates needed
     depends_on('intel-tbb', type=('build', 'link', 'run'))  # ppu gdbserver
     depends_on('libelf', type=('build', 'link', 'run'))
     depends_on('liblockfile', type=('build', 'link', 'run'))
     depends_on('llvm', type=('build', 'link', 'run'))
-    depends_on('log4cxx', type=('build', 'link', 'run'))
+    depends_on('log4cxx@0.12.1:', type=('build', 'link', 'run'))
     depends_on('pkgconfig', type=('build', 'link', 'run'))
     depends_on('python@3.7.0:', type=('build', 'link', 'run')) # BrainScaleS(-2, type=('build', 'link', 'run')) only supports Python >= 3.7
     depends_on('py-h5py', type=('build', 'link', 'run')) # PyNN tests need it
diff --git a/packages/oppulance/package.py b/packages/oppulance/package.py
index d307c7ab..09e39753 100644
--- a/packages/oppulance/package.py
+++ b/packages/oppulance/package.py
@@ -18,11 +18,12 @@ class Oppulance(Package):
     depends_on('m4')
     depends_on('texinfo')
     depends_on('wget')
+    depends_on('gmp')
 
     releases = [
         {
-            'version': '4.0-a3',
-            'tag': 'ebrains-4.0-a3'
+            'version': '4.0-a4',
+            'tag': 'ebrains-4.0-a4'
         },
     ]
 
diff --git a/packages/pynn-brainscales/package.py b/packages/pynn-brainscales/package.py
index 195820f6..2f61e734 100644
--- a/packages/pynn-brainscales/package.py
+++ b/packages/pynn-brainscales/package.py
@@ -14,27 +14,26 @@ class PynnBrainscales(WafPackage):
     homepage = "https://github.com/electronicvisions/pynn-brainscales"
     git      = "https://github.com/electronicvisions/pynn-brainscales.git"
 
-    version('4.0-a3', branch='waf')
+    version('4.0-a4', branch='waf')
 
     # PPU compiler dependencies
-    depends_on('oppulance@4.0-a3')
+    depends_on('oppulance@4.0-a4')
 
     # host software dependencies
     depends_on('bitsery', type=('build', 'link', 'run'))
     depends_on('binutils+gold+ld+plugins', type=('build', 'link', 'run')) # specialize
-    depends_on(Boost.with_default_variants)
-    depends_on('boost@1.69.0: +graph+icu+mpi+python+numpy+coroutine+context cxxstd=17', type=('build', 'link', 'run')) # specialize boost (non-clingo, type=('build', 'link', 'run'))
+    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')) # specialize boost (non-clingo, type=('build', 'link', 'run'))
     depends_on('cereal', type=('build', 'link', 'run'))
     depends_on('cppcheck', type=('build', 'link', 'run'))
     depends_on('doxygen+graphviz', type=('build', 'link', 'run'))
     depends_on('genpybind@ebrains', type=('build', 'link', 'run'))
     depends_on('gflags', type=('build', 'link', 'run'))
-    depends_on('googletest@1.11.0: +gmock', type=('build', 'link', 'run')) # variadic templates needed
+    depends_on('googletest@1.11.0:+gmock', type=('build', 'link', 'run')) # variadic templates needed
     depends_on('intel-tbb', type=('build', 'link', 'run'))  # ppu gdbserver
     depends_on('libelf', type=('build', 'link', 'run'))
     depends_on('liblockfile', type=('build', 'link', 'run'))
     depends_on('llvm', type=('build', 'link', 'run'))
-    depends_on('log4cxx', type=('build', 'link', 'run'))
+    depends_on('log4cxx@0.12.1:', type=('build', 'link', 'run'))
     depends_on('pkgconfig', type=('build', 'link', 'run'))
     depends_on('python@3.7.0:', type=('build', 'link', 'run')) # BrainScaleS(-2, type=('build', 'link', 'run')) only supports Python >= 3.7
     depends_on('py-deap@1.3.1:', type=('build', 'link', 'run'))
diff --git a/spack.yaml b/spack.yaml
index 55e1158c..433fa71b 100644
--- a/spack.yaml
+++ b/spack.yaml
@@ -30,8 +30,8 @@ spack:
     - py-pyaescrypt
     - py-formencode
     - tvb-framework ^binutils+ld+gold
-    - pynn-brainscales@4.0-a3 ^log4cxx@0.10.0 ^googletest@1.11.0:+gmock
-    - hxtorch@4.0-a3 ^log4cxx@0.10.0 ^googletest@1.11.0:+gmock
+    - pynn-brainscales@4.0-a4
+    - hxtorch@4.0-a4
     - py-neo
     - py-hdmf
     - py-pynwb
-- 
GitLab