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:
		| @@ -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. | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Thomas Madlener
					Thomas Madlener