From 3b848929f17c1b131f82972fbf83cc4a5ecd1fe0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Eric=20M=C3=BCller?= <mueller@kip.uni-heidelberg.de>
Date: Wed, 2 Oct 2024 13:17:16 +0200
Subject: [PATCH] feat(BSS2): updates to software state

This should fix some problems encountered during testing of the
experimental deployment.
---
 packages/build-brainscales/package.py     | 14 +++++++++++++-
 packages/hxtorch/package.py               |  2 +-
 packages/oppulance/package.py             | 10 +++++++++-
 packages/pynn-brainscales/package.py      |  1 -
 packages/wf-brainscales2-demos/package.py |  1 +
 5 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/packages/build-brainscales/package.py b/packages/build-brainscales/package.py
index 6583d2ed..69bd7ace 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 d953effc..437a6886 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 826cc439..67df601b 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 5b32e7f8..13d850f7 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 9adc239d..71d83272 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")
-- 
GitLab