diff --git a/packages/build-brainscales/package.py b/packages/build-brainscales/package.py
index 6583d2ed169d6bd8e4de4c63031b8d9c14154fba..69bd7acec3aecd8c91d9569429659ecd3cf99f27 100644
--- a/packages/build-brainscales/package.py
+++ b/packages/build-brainscales/package.py
@@ -15,13 +15,25 @@ import spack.build_environment
 class BuildBrainscales(WafPackage):
     """Common stuff for BrainScaleS packages..."""
 
+    version(
+        "9.0-a5",
+        git="https://github.com/electronicvisions/releases-ebrains",
+        tag="ebrains-9.0-a5",
+        commit="5fcb0682626d83c089e016aaf433e0938e921634",
+        submodules=True,
+    )
     version(
         "9.0-a4",
         git="https://github.com/electronicvisions/releases-ebrains",
         tag="ebrains-9.0-a4",
-        submodules=True, # the "submodules" parameter isn't part of the source cache key/name
+        commit="8d5be2a23ac1eb0129bdf1f83fb0a1c5193c4c85",
+        submodules=True,
     )
 
+    # common dependencies of BuildBrainscales-derived packages
+    depends_on('oppulance@9.0-a5', when='@9.0-a5', type=('build', 'link', 'run', 'test'))
+    depends_on('oppulance@9.0-a4', when='@9.0-a4', type=('build', 'link', 'run', 'test'))
+
     # waf setup performs git clone and might query gerrit
     depends_on('git', type=('build', 'link'))
     depends_on('py-git-review', type=('build', 'link'))
diff --git a/packages/hxtorch/package.py b/packages/hxtorch/package.py
index d953effc49b439faa4a6d4132103a36bcb1486e9..437a6886d10b56de559226fe12eeab475b87d8f3 100644
--- a/packages/hxtorch/package.py
+++ b/packages/hxtorch/package.py
@@ -37,7 +37,7 @@ class Hxtorch(build_brainscales.BuildBrainscales):
     deps_hxtorch_core = [
         # compiler for the BrainScaleS-2 embedded processor ("PPU"); needed for
         # building/linking, at runtime and for testing
-        ('oppulance@9.0-a4', { "when":'@9.0-a4', "type": ('build', 'link', 'run', 'test') } ),
+        # (BTW. modern oppulance dependency via BuildBrainscales)
         ('oppulance@8.0-a5', { "when":'@8.0-a5', "type": ('build', 'link', 'run', 'test') } ),
         ('oppulance@8.0-a4', { "when":'@8.0-a4', "type": ('build', 'link', 'run', 'test') } ),
         ('oppulance@8.0-a3', { "when":'@8.0-a3', "type": ('build', 'link', 'run', 'test') } ),
diff --git a/packages/oppulance/package.py b/packages/oppulance/package.py
index 826cc4394a612e1c799c29a5e0a35d866afb7feb..67df601bbcfabe223bd9c45d6fd63d6b4f82a7b2 100644
--- a/packages/oppulance/package.py
+++ b/packages/oppulance/package.py
@@ -21,11 +21,19 @@ class Oppulance(Package):
     depends_on('wget')
     depends_on('gmp')
 
+    version(
+        "9.0-a5",
+        git="https://github.com/electronicvisions/releases-ebrains",
+        tag="ebrains-9.0-a5",
+        commit="5fcb0682626d83c089e016aaf433e0938e921634",
+        submodules=True,
+    )
     version(
         "9.0-a4",
         git="https://github.com/electronicvisions/releases-ebrains",
         tag="ebrains-9.0-a4",
-        submodules=True, # the "submodules" parameter isn't part of the source cache key/name
+        commit="8d5be2a23ac1eb0129bdf1f83fb0a1c5193c4c85",
+        submodules=True,
     )
 
     releases = [
diff --git a/packages/pynn-brainscales/package.py b/packages/pynn-brainscales/package.py
index 5b32e7f8e6ebd9269cc90cc010816658cedfd53d..13d850f743803aef5553cb166bd3419c8f193e2f 100644
--- a/packages/pynn-brainscales/package.py
+++ b/packages/pynn-brainscales/package.py
@@ -36,7 +36,6 @@ class PynnBrainscales(build_brainscales.BuildBrainscales):
 
     # compiler for the BrainScaleS-2 embedded processor ("PPU"); needed for
     # building/linking, at runtime and for testing
-    depends_on('oppulance@9.0-a4', when='@9.0-a4', type=('build', 'link', 'run', 'test'))
     depends_on('oppulance@8.0-a5', when='@8.0-a5', type=('build', 'link', 'run', 'test'))
     depends_on('oppulance@8.0-a4', when='@8.0-a4', type=('build', 'link', 'run', 'test'))
     depends_on('oppulance@8.0-a3', when='@8.0-a3', type=('build', 'link', 'run', 'test'))
diff --git a/packages/wf-brainscales2-demos/package.py b/packages/wf-brainscales2-demos/package.py
index 9adc239d05c8aca335529b373f9c81718bcd8c01..71d83272e215604c09bbfed4aedffc74a08d761d 100644
--- a/packages/wf-brainscales2-demos/package.py
+++ b/packages/wf-brainscales2-demos/package.py
@@ -16,6 +16,7 @@ class WfBrainscales2Demos(Package):
     maintainers = ["emuller", "muffgaga"]
 
     # ECM: we probably should build the ipynb file in this package
+    version("9.0-a5", tag="jupyter-notebooks-9.0-a5")
     version("9.0-a4", tag="jupyter-notebooks-9.0-a4")
     version("8.0-a5", tag="jupyter-notebooks-8.0-a5")
     version("8.0-a4", tag="jupyter-notebooks-8.0-a4")