From 714e638cb24f3f116148128d359e89c97b52c8dd Mon Sep 17 00:00:00 2001 From: Oliver Lantwin Date: Wed, 22 Jul 2026 16:50:07 +0200 Subject: [PATCH] fix: pin host root_base to a C++23 ROOT build pixi-build-cmake exact-pins the root_base build it resolves in the host environment into shipdatamodel's run-export, and its host solve does not honour the root_cxx_standard == "==23" host dependency. An unconstrained root_base can therefore resolve to a cxx20 build and leak a cxx20 run-export, which conflicts with the C++23 stack (root_cxx_standard == "==23") when shipdatamodel is built as a source dependency in downstream dev environments such as aegir's: root >=6.40 ... would require root_base ==6.40.0 cxx20_h3697410_0, for which no candidates were found Constrain the host root_base to a cxx23 build so the emitted run-export stays cxx23-compatible. This can be dropped once pixi-build honours root_cxx_standard in the host solve, or uses root_base's run_exports range instead of an exact-build pin. --- pixi.toml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pixi.toml b/pixi.toml index 294ff51..406dc9f 100644 --- a/pixi.toml +++ b/pixi.toml @@ -29,7 +29,15 @@ extra-args = [ ] [package.host-dependencies] -root_base = "*" +# Constrain to a C++23 ROOT build. pixi-build-cmake exact-pins the root_base +# build it resolves here into shipdatamodel's run-export, and its host solve +# does not honour the root_cxx_standard == "==23" below (it can pick a cxx20 +# build). An unconstrained root_base therefore leaks a cxx20 run-export that +# conflicts with the C++23 stack (root_cxx_standard == "==23") in downstream +# dev environments (aegir). Pinning the build string keeps the run-export +# cxx23-compatible. Drop once pixi-build honours root_cxx_standard / uses +# root_base's run_exports range. +root_base = { version = "*", build = "cxx23_*" } root_cxx_standard = "==23" [dependencies]