From 431ef1ea26ed436e64947fec7c4e882d0501733e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Eric=20M=C3=BCller?= <mueller@kip.uni-heidelberg.de>
Date: Tue, 18 Feb 2025 19:31:45 +0100
Subject: [PATCH] fix(BSS2): build %gcc@13.3

---
 packages/build-brainscales/package.py     | 8 ++++++++
 packages/hxtorch/package.py               | 3 +++
 packages/oppulance/package.py             | 7 +++++++
 packages/pynn-brainscales/package.py      | 3 +++
 packages/wf-brainscales2-demos/package.py | 1 +
 spack.yaml                                | 8 ++++----
 6 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/packages/build-brainscales/package.py b/packages/build-brainscales/package.py
index 6ea4a370..cec40a9c 100644
--- a/packages/build-brainscales/package.py
+++ b/packages/build-brainscales/package.py
@@ -15,6 +15,13 @@ import spack.build_environment
 class BuildBrainscales(WafPackage):
     """Common stuff for BrainScaleS packages..."""
 
+    version(
+        "9.0-a9",
+        git="https://github.com/electronicvisions/releases-ebrains",
+        tag="ebrains-9.0-a9",
+        commit="5951428b7598ff9478fa834d7e991e3ff94709ee",
+        submodules=True,
+    )
     version(
         "9.0-a8",
         git="https://github.com/electronicvisions/releases-ebrains",
@@ -52,6 +59,7 @@ class BuildBrainscales(WafPackage):
     )
 
     # common dependencies of BuildBrainscales-derived packages
+    depends_on('oppulance@9.0-a9', when='@9.0-a9', type=('build', 'link', 'run', 'test'))
     depends_on('oppulance@9.0-a8', when='@9.0-a8', type=('build', 'link', 'run', 'test'))
     depends_on('oppulance@9.0-a7', when='@9.0-a7', type=('build', 'link', 'run', 'test'))
     depends_on('oppulance@9.0-a6', when='@9.0-a6', type=('build', 'link', 'run', 'test'))
diff --git a/packages/hxtorch/package.py b/packages/hxtorch/package.py
index 437a6886..ef237ceb 100644
--- a/packages/hxtorch/package.py
+++ b/packages/hxtorch/package.py
@@ -90,6 +90,9 @@ class Hxtorch(build_brainscales.BuildBrainscales):
 
     extends('python')
 
+    # some versions of dependencies are broken
+    conflicts("boost@1.86.0") # sha1 digest changed length, but boost::compute didn't adapt
+
     patch("include-SparseTensorUtils.patch", when="@:8.0-a5")
 
     def install_test(self):
diff --git a/packages/oppulance/package.py b/packages/oppulance/package.py
index 2249a8b4..55d6b04e 100644
--- a/packages/oppulance/package.py
+++ b/packages/oppulance/package.py
@@ -21,6 +21,13 @@ class Oppulance(Package):
     depends_on('wget')
     depends_on('gmp')
 
+    version(
+        "9.0-a9",
+        git="https://github.com/electronicvisions/releases-ebrains",
+        tag="ebrains-9.0-a9",
+        commit="5951428b7598ff9478fa834d7e991e3ff94709ee",
+        submodules=True,
+    )
     version(
         "9.0-a8",
         git="https://github.com/electronicvisions/releases-ebrains",
diff --git a/packages/pynn-brainscales/package.py b/packages/pynn-brainscales/package.py
index 13d850f7..3e68558d 100644
--- a/packages/pynn-brainscales/package.py
+++ b/packages/pynn-brainscales/package.py
@@ -82,6 +82,9 @@ class PynnBrainscales(build_brainscales.BuildBrainscales):
     depends_on('yaml-cpp+shared', type=('build', 'link', 'run'))
     extends('python')
 
+    # some versions of dependencies are broken
+    conflicts("boost@1.86.0") # sha1 digest changed length, but boost::compute didn't adapt
+
     def install_test(self):
         with working_dir('spack-test', create=True):
             old_pythonpath = os.environ.get('PYTHONPATH', '')
diff --git a/packages/wf-brainscales2-demos/package.py b/packages/wf-brainscales2-demos/package.py
index 9226c76a..1dc5b24b 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-a9", tag="jupyter-notebooks-9.0-a9")
     version("9.0-a8", tag="jupyter-notebooks-9.0-a8")
     version("9.0-a7", tag="jupyter-notebooks-9.0-a7")
     version("9.0-a6", tag="jupyter-notebooks-9.0-a6")
diff --git a/spack.yaml b/spack.yaml
index 274a55d1..c6d455fd 100644
--- a/spack.yaml
+++ b/spack.yaml
@@ -12,10 +12,10 @@ spack:
     - py-biobb-model@4.1.0
     - py-biobb-structure-checking@3.13.4
     - py-biobb-structure-utils@4.1.0
-    - hxtorch@9.0-a8
+    - hxtorch@9.0-a9
     - nest@3.8 +sonata
     - neuron@8.2.3 +mpi
-    - jaxsnn@9.0-a8
+    - jaxsnn@9.0-a9
     - py-bluepyefe@2.3.6
     - py-bluepymm@0.8.7
     - py-bluepyopt@1.14.11
@@ -62,14 +62,14 @@ spack:
     - py-tvb-ext-xircuits@1.1.0
     - py-viziphant@0.4.0
     - py-vbi
-    - pynn-brainscales@9.0-a8
+    - pynn-brainscales@9.0-a9
     - r-rgsl@0.1.1
     - r-sbtabvfgen@0.1
     - r-uqsa@2.2
     - sda@7.3.3d
     # Workflows (meta-packages)
     - wf-biobb
-    - wf-brainscales2-demos@9.0-a8
+    - wf-brainscales2-demos@9.0-a9
     - wf-bsb@4.4 +nest +neuron
     - wf-protein-association-rates@0.1
     - wf-multi-area-model@1.2.0
-- 
GitLab