From 9d35317aaa1b8bfbf1c93ec2ae4de5d621238138 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Eric=20M=C3=BCller?= <mueller@kip.uni-heidelberg.de>
Date: Thu, 4 Apr 2024 12:41:57 +0200
Subject: [PATCH] chore(BSS): add constraints w.r.t. log4cxx

---
 packages/hxtorch/package.py          | 5 ++++-
 packages/jaxsnn/package.py           | 1 +
 packages/oppulance/package.py        | 4 ++++
 packages/pynn-brainscales/package.py | 5 ++++-
 4 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/packages/hxtorch/package.py b/packages/hxtorch/package.py
index e8c3bbae..b3201623 100644
--- a/packages/hxtorch/package.py
+++ b/packages/hxtorch/package.py
@@ -23,6 +23,7 @@ class Hxtorch(build_brainscales.BuildBrainscales):
 
     maintainers = ['emuller']
 
+    version('8.0-a4',         tag='hxtorch-8.0-a4')
     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')
@@ -33,6 +34,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@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') } ),
         ('oppulance@8.0-a2', { "when":'@8.0-a2', "type": ('build', 'link', 'run', 'test') } ),
         ('oppulance@8.0-a1', { "when":'@8.0-a1', "type": ('build', 'link', 'run', 'test') } ),
@@ -53,7 +55,8 @@ class Hxtorch(build_brainscales.BuildBrainscales):
         ('intel-tbb', { "type": ('build', 'link', 'run') } ), # ppu gdbserver
         ('libelf', { "type": ('build', 'link', 'run') } ),
         ('liblockfile', { "type": ('build', 'link', 'run') } ),
-        ('log4cxx@0.12.1:', { "type": ('build', 'link', 'run') } ),
+        ('log4cxx@0.12.1:1.0', { "when": "@:8.0-a3", "type": ('build', 'link', 'run') } ),
+        ('log4cxx@1.1: +events_at_exit', { "when": "@8.0-a4:", "type": ('build', 'link', 'run') } ),
         ('pkgconfig', { "type": ('build', 'link', 'run') } ),
         ('psmisc', { "type": ('run', 'test') } ),
         ('python@3.7.0:', { "type": ('build', 'link', 'run') } ), # BrainScaleS-2 only supports Python >= 3.7
diff --git a/packages/jaxsnn/package.py b/packages/jaxsnn/package.py
index 3fe246b4..c6b2021e 100644
--- a/packages/jaxsnn/package.py
+++ b/packages/jaxsnn/package.py
@@ -25,6 +25,7 @@ class Jaxsnn(build_brainscales.BuildBrainscales):
 
     maintainers = ['emuller']
 
+    version('8.0-a4', tag='jaxsnn-8.0-a4')
     version('8.0-a3', tag='jaxsnn-8.0-a3')
     version('8.0-a2', tag='jaxsnn-8.0-a2')
     version('8.0-a1', tag='jaxsnn-8.0-a1')
diff --git a/packages/oppulance/package.py b/packages/oppulance/package.py
index 6db434fd..d917e96c 100644
--- a/packages/oppulance/package.py
+++ b/packages/oppulance/package.py
@@ -21,6 +21,10 @@ class Oppulance(Package):
     depends_on('gmp')
 
     releases = [
+        {
+            'version': '8.0-a4',
+            'tag': 'ebrains-8.0-a4'
+        },
         {
             'version': '8.0-a3',
             'tag': 'ebrains-8.0-a3'
diff --git a/packages/pynn-brainscales/package.py b/packages/pynn-brainscales/package.py
index 9bbefd4d..ee737581 100644
--- a/packages/pynn-brainscales/package.py
+++ b/packages/pynn-brainscales/package.py
@@ -23,6 +23,7 @@ class PynnBrainscales(build_brainscales.BuildBrainscales):
 
     maintainers = ['emuller']
 
+    version('8.0-a4',         tag='pynn-brainscales-8.0-a4')
     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')
@@ -32,6 +33,7 @@ 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@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'))
     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'))
@@ -52,7 +54,8 @@ class PynnBrainscales(build_brainscales.BuildBrainscales):
     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('log4cxx@0.12.1:', type=('build', 'link', 'run'))
+    depends_on('log4cxx@0.12.1:1.0', when="@:8.0-a3", type=('build', 'link', 'run'))
+    depends_on('log4cxx@1.1: +events_at_exit', when="@8.0-a4:", type=('build', 'link', 'run'))
     depends_on('pkgconfig', type=('build', 'link', 'run'))
     depends_on('psmisc', type=('run', 'test'))
     depends_on('python@3.7.0:', type=('build', 'link', 'run')) # BrainScaleS-2 only supports Python >= 3.7
-- 
GitLab