From f1f8ebb829c8589190a6c6910496956c535d5336 Mon Sep 17 00:00:00 2001
From: Philipp Spilger <philipp.spilger@kip.uni-heidelberg.de>
Date: Thu, 22 Feb 2024 23:08:06 +0100
Subject: [PATCH] feat: Allow host-incompatible concretizations

* required e.g. for building on zen3 cluster nodes while requiring
  sandybridge

Change-Id: I8f04fe38444eebd1b8b25929a77fe0111f5bac12
---
 bin/yashchiki | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/bin/yashchiki b/bin/yashchiki
index 68521702..4ed81924 100644
--- a/bin/yashchiki
+++ b/bin/yashchiki
@@ -245,6 +245,20 @@ with temporary_directory_spack_config.joinpath("config.yaml").open("wt") \
         as spack_config_file:
     spack_config_file.write(yaml.dump(spack_config))
 
+# set spack concretizer
+spack_concretizer = {
+    "concretizer": {
+        "targets": {
+            # allow building host-incompatible concretizations, e.g. for
+            # building on zen3 while requiring sandybridge
+            "host_compatible": False
+        }
+    }
+}
+with temporary_directory_spack_config.joinpath("concretizer.yaml").open("wt") \
+        as spack_concretizer_file:
+    spack_concretizer_file.write(yaml.dump(spack_concretizer))
+
 spack_packages = pathlib.Path("share", "yashchiki", "styles", args.style, "packages.yaml")
 if spack_packages.exists():
     shutil.copy(
@@ -279,3 +293,4 @@ if args.update_build_cache:
 
 if args.tmpdir is None:
     shutil.rmtree(tmpdir)
+
-- 
GitLab