diff --git a/packages/hxtorch/package.py b/packages/hxtorch/package.py
index f0aeaff71899e1adbae47a71e273bad673531afd..1a328a4422c6d16e33879316123f23b3b2edcd15 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 d307c7ab1e6e1dc74a333420ef980d1567b51b27..09e39753ed757597c86b2f3370d8ab0bc8a3deaf 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 195820f65693a5fc301ac67add5afb71c502335c..2f61e734378f136b732f27da83b65265f54a02b4 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 55e1158ca8ba3d331353389dd052c06a77f26ef8..433fa71b79aea79f60ea67424d9dcb35d55f278e 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