From 5b978bec8d0afd5f16db21c53eaeee1cdd19b58b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Eric=20M=C3=BCller?= <mueller@kip.uni-heidelberg.de>
Date: Fri, 22 Mar 2024 18:08:15 +0100
Subject: [PATCH] feat(bss2): support for "incremental experiments"

We now support a builder pattern using pyNN.run. This allows to
construct single(!) experiments with changing stimulus
dynamics/recording settings/parameter changes.
---
 packages/hxtorch/package.py          | 4 ++++
 packages/oppulance/package.py        | 8 ++++++++
 packages/pynn-brainscales/package.py | 3 +++
 3 files changed, 15 insertions(+)

diff --git a/packages/hxtorch/package.py b/packages/hxtorch/package.py
index 19253f69..bff7e733 100644
--- a/packages/hxtorch/package.py
+++ b/packages/hxtorch/package.py
@@ -21,6 +21,8 @@ class Hxtorch(WafPackage):
 
     maintainers = ['emuller']
 
+    version('8.0-a3',         tag='hxtorch-8.0-a3')
+    version('8.0-a2',         tag='hxtorch-8.0-a2')
     version('8.0-a1',         tag='hxtorch-8.0-a1')
     version('7.0-rc1-fixup3', tag='hxtorch-7.0-rc1-fixup3')
     version('7.0-rc1-fixup2', tag='hxtorch-7.0-rc1-fixup2')
@@ -28,6 +30,8 @@ class Hxtorch(WafPackage):
 
     # compiler for the BrainScaleS-2 embedded processor ("PPU"); needed for
     # building/linking, at runtime and for testing
+    depends_on('oppulance@8.0-a3', when='@8.0-a3', type=('build', 'link', 'run', 'test'))
+    depends_on('oppulance@8.0-a2', when='@8.0-a2', type=('build', 'link', 'run', 'test'))
     depends_on('oppulance@8.0-a1', when='@8.0-a1', type=('build', 'link', 'run', 'test'))
     depends_on('oppulance@7.0-rc1-fixup3', when='@7.0-rc1-fixup3', type=('build', 'link', 'run', 'test'))
     depends_on('oppulance@7.0-rc1-fixup2', when='@7.0-rc1-fixup2', type=('build', 'link', 'run', 'test'))
diff --git a/packages/oppulance/package.py b/packages/oppulance/package.py
index 25f86d7f..6db434fd 100644
--- a/packages/oppulance/package.py
+++ b/packages/oppulance/package.py
@@ -21,6 +21,14 @@ class Oppulance(Package):
     depends_on('gmp')
 
     releases = [
+        {
+            'version': '8.0-a3',
+            'tag': 'ebrains-8.0-a3'
+        },
+        {
+            'version': '8.0-a2',
+            'tag': 'ebrains-8.0-a2'
+        },
         {
             'version': '8.0-a1',
             'tag': 'ebrains-8.0-a1'
diff --git a/packages/pynn-brainscales/package.py b/packages/pynn-brainscales/package.py
index e548bb8a..e61b7b61 100644
--- a/packages/pynn-brainscales/package.py
+++ b/packages/pynn-brainscales/package.py
@@ -21,6 +21,7 @@ class PynnBrainscales(WafPackage):
 
     maintainers = ['emuller']
 
+    version('8.0-a3',         tag='pynn-brainscales-8.0-a3')
     version('8.0-a2',         tag='pynn-brainscales-8.0-a2')
     version('8.0-a1',         tag='pynn-brainscales-8.0-a1')
     version('7.0-rc1-fixup3', tag='pynn-brainscales-7.0-rc1-fixup3')
@@ -29,6 +30,8 @@ class PynnBrainscales(WafPackage):
 
     # compiler for the BrainScaleS-2 embedded processor ("PPU"); needed for
     # building/linking, at runtime and for testing
+    depends_on('oppulance@8.0-a3', when='@8.0-a3', type=('build', 'link', 'run', 'test'))
+    depends_on('oppulance@8.0-a2', when='@8.0-a2', type=('build', 'link', 'run', 'test'))
     depends_on('oppulance@8.0-a1', when='@8.0-a1', type=('build', 'link', 'run', 'test'))
     depends_on('oppulance@7.0-rc1-fixup3', when='@7.0-rc1-fixup3', type=('build', 'link', 'run', 'test'))
     depends_on('oppulance@7.0-rc1-fixup2', when='@7.0-rc1-fixup2', type=('build', 'link', 'run', 'test'))
-- 
GitLab