From 39ebf960b0810d02c1962ac74f7e09600a28864a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Eric=20M=C3=BCller?= <mueller@kip.uni-heidelberg.de>
Date: Wed, 4 May 2022 17:44:59 +0200
Subject: [PATCH] Cleanup: Introduce "packages" section
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Previously, we had compiler and python mentioned as specs and relied
on "together" concretization to pin the dependencies. Now, we provide
these constraints via "packages" section, providing global constraints.
Site-specific things, like "mpi" provider/external libs, or architecture
"target" constraints would also go in there…
---
 spack.yaml | 91 ++++++++++++++++++++++++++++--------------------------
 1 file changed, 47 insertions(+), 44 deletions(-)

diff --git a/spack.yaml b/spack.yaml
index dde77f56..451ace44 100644
--- a/spack.yaml
+++ b/spack.yaml
@@ -1,52 +1,55 @@
 spack:
   specs:
-    # Base
-    - python@3.8.11 %gcc@10.3.0
     # Notebook
-    #- py-jupyter %gcc@10.3.0
-    - py-ipython %gcc@10.3.0
-    - py-ipykernel %gcc@10.3.0
-    - py-notebook %gcc@10.3.0
+    #- py-jupyter
+    - py-ipython
+    - py-ipykernel
+    - py-notebook
     # Collab utils
-    - clb-nb-utils@0.1.0 %gcc@10.3.0
+    - clb-nb-utils@0.1.0
     # General
-    - py-pip %gcc@10.3.0
-    - py-numpy %gcc@10.3.0
-    - py-scipy %gcc@10.3.0
-    - py-pandas %gcc@10.3.0
-    - py-seaborn %gcc@10.3.0
-    - py-matplotlib %gcc@10.3.0
-    - py-nameparser %gcc@10.3.0
-    #- py-version-query %gcc@10.3.0
+    - py-pip
+    - py-numpy
+    - py-scipy
+    - py-pandas
+    - py-seaborn
+    - py-matplotlib
+    - py-nameparser
+    #- py-version-query
     # EBRAINS simulators
-    - nest@3.2 +python +gsl +mpi %gcc@10.3.0
-    - arbor +python +mpi ^python@3:3.9 %gcc@10.3.0
-    - neuron +mpi %gcc@10.3.0
-    - py-pynn@0.9.6 %gcc@10.3.0
-    - tvb-data %gcc@10.3.0
-    - tvb-library ^py-numba@0.54.0 ^binutils+ld+gold %gcc@10.3.0
-    - tvb-storage ^binutils+ld+gold %gcc@10.3.0
-    - py-pyaescrypt %gcc@10.3.0
-    - py-formencode %gcc@10.3.0
-    - tvb-framework ^binutils+ld+gold %gcc@10.3.0
-    - pynn-brainscales@2.0-rc1 ^log4cxx@0.10.0 ^googletest@1.11.0:+gmock %gcc@10.3.0
-    #- py-cerebstats %gcc@10.3.0
-    #- py-cerebunit %gcc@10.3.0
-    - py-cerebrus %gcc@10.3.0
-    - py-sciunit@0.2.5.1 %gcc@10.3.0
-    - py-quantities-scidash@0.12.4.3 %gcc@10.3.0
-    #- py-ebrains-drive@0.4.0 %gcc@10.3.0
-    #- py-vf-client@0.6.3 %gcc@10.3.0
-    - py-hbp-archive@1.1.1 %gcc@10.3.0
-    #- py-morphounit@1.0.4 %gcc@10.3.0
-    #- py-neurom@1.4.10 %gcc@10.3.0
-    #- py-morphio@3.1.1 %gcc@10.3.0
-    - py-hippounit@1.3.6 %gcc@10.3.0
-    - py-efel@4.0.4 %gcc@10.3.0
-    - py-hbp-neuromorphic-platform@0.10.1 %gcc@10.3.0
-    #- py-torch~onnx_ml~rocm~tensorpipe~mpi~distributed ^protobuf@:3.17.999 %gcc@10.3.0
-    - py-lfpy@2.2.6 %gcc@10.3.0
-    #- biobb-common %gcc@10.3.0
+    - nest@3.2 +python +gsl +mpi
+    - arbor +python +mpi ^python@3:3.9
+    - neuron +mpi
+    - py-pynn@0.9.6
+    - tvb-data
+    - tvb-library ^py-numba@0.54.0 ^binutils+ld+gold
+    - tvb-storage ^binutils+ld+gold
+    - py-pyaescrypt
+    - py-formencode
+    - tvb-framework ^binutils+ld+gold
+    - pynn-brainscales@2.0-rc1 ^log4cxx@0.10.0 ^googletest@1.11.0:+gmock
+    #- py-cerebstats
+    #- py-cerebunit
+    - py-cerebrus
+    - py-sciunit@0.2.5.1
+    - py-quantities-scidash@0.12.4.3
+    #- py-ebrains-drive@0.4.0
+    #- py-vf-client@0.6.3
+    - py-hbp-archive@1.1.1
+    #- py-morphounit@1.0.4
+    #- py-neurom@1.4.10
+    #- py-morphio@3.1.1
+    - py-hippounit@1.3.6
+    - py-efel@4.0.4
+    - py-hbp-neuromorphic-platform@0.10.1
+    #- py-torch~onnx_ml~rocm~tensorpipe~mpi~distributed ^protobuf@:3.17.999
+    - py-lfpy@2.2.6
+    #- biobb-common
     # demo for codejam12
-    #- funniest1022 %gcc@10.3.0
+    #- funniest1022
   concretization: together
+  packages:
+    all:
+      compiler: [gcc@10.3.0]
+    python:
+      version: [3.8.11]
-- 
GitLab