podio: Add latest tags and variants and update dependencies accordingly (#40182)

* Make sure sio is in dependent build env for podio

* podio: Fix likely(?) typo in root dependency

* podio: Add latest tag and new variants + dependencies

* podio: Add v00-16-07 tag

* podio: Fix dependencies flagged by package audit

* podio: Simplify root dependency

* podio: Add 0.17.1 tag
This commit is contained in:
Thomas Madlener 2023-11-01 19:44:11 +01:00 committed by GitHub
parent 92780a9af6
commit 581f45b639
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -20,9 +20,24 @@ class Podio(CMakePackage):
tags = ["hep", "key4hep"] tags = ["hep", "key4hep"]
version("master", branch="master") version("master", branch="master")
version("0.16.6", sha256="859f7cd16bd2b833bee9c1f33eb4cdbc2a0c2b1a48a853f67c30e8a0301d16df") version("0.17.1", sha256="97d6c5f81d50ee42bf7c01f041af2fd333c806f1bbf0a4828ca961a24cea6bb2")
version("0.16.5", sha256="42135e4d0e11be6f0d88748799fa2ec985514d4b4c979a10a56a00a378f65ee0") version("0.17", sha256="0c19f69970a891459cab227ab009514f1c1ce102b70e8c4b7d204eb6a0c643c1")
version("0.16.3", sha256="d8208f98496af68ca8d02d302f428aab510e50d07575b90c3477fff7e499335b") version("0.16.7", sha256="8af7c947e2637f508b7af053412bacd9218d41a455d69addd7492f05b7a4338d")
version(
"0.16.6",
sha256="859f7cd16bd2b833bee9c1f33eb4cdbc2a0c2b1a48a853f67c30e8a0301d16df",
deprecated=True,
)
version(
"0.16.5",
sha256="42135e4d0e11be6f0d88748799fa2ec985514d4b4c979a10a56a00a378f65ee0",
deprecated=True,
)
version(
"0.16.3",
sha256="d8208f98496af68ca8d02d302f428aab510e50d07575b90c3477fff7e499335b",
deprecated=True,
)
version( version(
"0.16.2", "0.16.2",
sha256="faf7167290faf322f23c734adff19904b10793b5ab14e1dfe90ce257c225114b", sha256="faf7167290faf322f23c734adff19904b10793b5ab14e1dfe90ce257c225114b",
@ -112,6 +127,7 @@ class Podio(CMakePackage):
description="Use the specified C++ standard when building.", description="Use the specified C++ standard when building.",
) )
variant("sio", default=False, description="Build the SIO I/O backend") variant("sio", default=False, description="Build the SIO I/O backend")
variant("rntuple", default=False, description="Build the RNTuple backend")
# cpack config throws an error on some systems # cpack config throws an error on some systems
patch("cpack.patch", when="@:0.10.0") patch("cpack.patch", when="@:0.10.0")
@ -119,9 +135,12 @@ class Podio(CMakePackage):
patch("python-tests.patch", when="@:0.14.0") patch("python-tests.patch", when="@:0.14.0")
depends_on("root@6.08.06: cxxstd=17", when="cxxstd=17") depends_on("root@6.08.06: cxxstd=17", when="cxxstd=17")
depends_on("root@6.25.02: cxxstd=20", when="cxxstd=20") depends_on("root@6.28.04:", when="+rntuple")
depends_on("root@6.28:", when="@0.17:")
for cxxstd in ("17", "20"):
depends_on("root cxxstd={}".format(cxxstd), when="cxxstd={}".format(cxxstd))
depends_on("cmake@3.8:", type="build") depends_on("cmake@3.12:", type="build")
depends_on("python", type=("build", "run")) depends_on("python", type=("build", "run"))
depends_on("py-pyyaml", type=("build", "run")) depends_on("py-pyyaml", type=("build", "run"))
depends_on("py-jinja2@2.10.1:", type=("build", "run"), when="@0.12.0:") depends_on("py-jinja2@2.10.1:", type=("build", "run"), when="@0.12.0:")
@ -131,10 +150,12 @@ class Podio(CMakePackage):
depends_on("py-tabulate", type=("run", "test"), when="@0.16.6:") depends_on("py-tabulate", type=("run", "test"), when="@0.16.6:")
conflicts("+sio", when="@:0.12", msg="sio support requires at least podio@0.13") conflicts("+sio", when="@:0.12", msg="sio support requires at least podio@0.13")
conflicts("+rntuple", when="@:0.16", msg="rntuple support requires at least podio@0.17")
def cmake_args(self): def cmake_args(self):
args = [ args = [
self.define_from_variant("ENABLE_SIO", "sio"), self.define_from_variant("ENABLE_SIO", "sio"),
self.define_from_variant("ENABLE_RNTUPLE", "rntuple"),
self.define("CMAKE_CXX_STANDARD", self.spec.variants["cxxstd"].value), self.define("CMAKE_CXX_STANDARD", self.spec.variants["cxxstd"].value),
self.define("BUILD_TESTING", self.run_tests), self.define("BUILD_TESTING", self.run_tests),
] ]
@ -156,6 +177,12 @@ def setup_dependent_build_environment(self, env, dependent_spec):
env.prepend_path("PYTHONPATH", self.prefix.python) env.prepend_path("PYTHONPATH", self.prefix.python)
env.prepend_path("LD_LIBRARY_PATH", self.spec["podio"].libs.directories[0]) env.prepend_path("LD_LIBRARY_PATH", self.spec["podio"].libs.directories[0])
env.prepend_path("ROOT_INCLUDE_PATH", self.prefix.include) env.prepend_path("ROOT_INCLUDE_PATH", self.prefix.include)
if self.spec.satisfies("+sio @0.17:"):
# sio needs to be on LD_LIBRARY_PATH for ROOT to be able to
# dynamicaly load the python libraries also in dependent build
# environments since the import structure has changed with
# podio@0.17
env.prepend_path("LD_LIBRARY_PATH", self.spec["sio"].libs.directories[0])
def url_for_version(self, version): def url_for_version(self, version):
"""Translate version numbers to ilcsoft conventions. """Translate version numbers to ilcsoft conventions.