From ee47d877fff1833326a80b5d2d399525fcbc5af6 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Mon, 6 Jan 2025 15:32:52 +0100 Subject: [PATCH] rivet, yoda: Add new versions with back-port fixes (#48141) * rivet: add version 3.1.11 with some back-port fixes Some back-ported fixes from the 4.x series. Most importantly the possibility to build against HepMC 3.3.0. * yoda: Add version 1.9.11 * Add a conflict with hepmc=2 * Unify hepmc@3.3.0 conflicts into one statement * Remove conflict and update conditional hepmc variant * Use caret to signify conflict with dependency Co-authored-by: Wouter Deconinck * Make conflict and msg more specific * Add dedicated version dependency to yoda --------- Co-authored-by: Wouter Deconinck --- var/spack/repos/builtin/packages/rivet/package.py | 15 +++++++++++++-- var/spack/repos/builtin/packages/yoda/package.py | 1 + 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/rivet/package.py b/var/spack/repos/builtin/packages/rivet/package.py index b891de9779f..a95ba02b322 100644 --- a/var/spack/repos/builtin/packages/rivet/package.py +++ b/var/spack/repos/builtin/packages/rivet/package.py @@ -21,6 +21,7 @@ class Rivet(AutotoolsPackage): version("4.0.2", sha256="65a3b36f42bff782ed2767930e669e09b140899605d7972fc8f77785b4a882c0") version("4.0.1", sha256="4e8692d6e8a53961c77983eb6ba4893c3765cf23f705789e4d865be4892eff79") version("4.0.0", sha256="d3c42d9b83ede3e7f4b534535345c2e06e6dafb851454c2b0a5d2331ab0f04d0") + version("3.1.11", sha256="cc023712425ff15c55298cd6d6bb5d09116fe6616791b457de60888b75291465") version("3.1.10", sha256="458b8e0df1de738e9972d24b260eaa087df12c99d4fe9dee5377d47ea6a49919") version("3.1.9", sha256="f6532045da61eeb2adc20a9abc4166b4b2d41ab2c1ca5b500cd616bb1b92e7b1") version("3.1.8", sha256="75b3f3d419ca6388d1fd2ec0eda7e1f90f324b996ccf0591f48a5d2e28dccc13") @@ -38,10 +39,12 @@ class Rivet(AutotoolsPackage): depends_on("c", type="build") # generated depends_on("cxx", type="build") # generated + # The backported fix introduced an unguarded include of a HepMC3 header in + # 3.1.11 and as of version 4 HepMC2 is no longer supported variant( "hepmc", default="2", - values=(conditional("2", when="@:3"), "3"), + values=(conditional("2", when="@:3.1.10"), "3"), description="HepMC version to link against", ) @@ -62,6 +65,7 @@ class Rivet(AutotoolsPackage): depends_on("yoda@1.9.8:", when="@3.1.8:") depends_on("yoda@1.9.9:", when="@3.1.9:") depends_on("yoda@1.9.10:", when="@3.1.10:") + depends_on("yoda@1.9.11:", when="@3.1.11:") depends_on("yoda@:1", when="@:3") depends_on("yoda@2.0.1:", when="@4.0.0:") @@ -71,8 +75,15 @@ class Rivet(AutotoolsPackage): depends_on("hepmc", when="hepmc=2") depends_on("hepmc3", when="hepmc=3") + # The fix for working around patch-level zero issues have landed in 4.0.1 + # and have also been back-ported to 3.1.11. Hence we need to exclude 4.0.0 + # explicitly and catch the rest with versions up to 3.1.10 + # See: https://gitlab.com/hepcedar/rivet/-/merge_requests/904 + # and: https://gitlab.com/hepcedar/rivet/-/merge_requests/912 conflicts( - "hepmc@3.3.0", when="@:4.0.0 hepmc=3", msg="patch-level zero requires at least 4.0.1" + "^hepmc@3.1.0,3.2.0,3.3.0", + when="@:3.1.10,4.0.0 hepmc=3", + msg="HepMC 3.x.0 requires at least 3.1.11 or 4.0.1", ) depends_on("fastjet plugins=cxx") depends_on("fastjet@3.4.0:", when="@3.1.7:") diff --git a/var/spack/repos/builtin/packages/yoda/package.py b/var/spack/repos/builtin/packages/yoda/package.py index bd5e09d370b..74a1de08d4a 100644 --- a/var/spack/repos/builtin/packages/yoda/package.py +++ b/var/spack/repos/builtin/packages/yoda/package.py @@ -19,6 +19,7 @@ class Yoda(AutotoolsPackage): version("2.0.2", sha256="31a41413641189814ff3c6bbb96ac5d17d2b68734fe327d06794cdbd3a540399") version("2.0.1", sha256="ae5a78eaae5574a5159d4058839d0983c9923558bfc88fbce21d251fd925d260") version("2.0.0", sha256="680f43dabebb3167ce1c5dee72d1c2c285c3190751245aa51e3260a005a99575") + version("1.9.11", sha256="a9c632f45925e30a3c75cd23a1a04aa4f527419256a4dad499f9c4f026477b5e") version("1.9.10", sha256="0a708ee9d704945d3387cc437b15ffddf382c70fe5bab39ed2bdbf83c2c28c6f") version("1.9.9", sha256="ebcad55369a1cedcee3a2de059407c851652ba44495113f5c09d8c2e57f516aa") version("1.9.8", sha256="7bc3062468abba50aff3ecb8b22ce677196036009890688ef4533aaa7f92e6e4")