From ff1bc9e555247b3f4d1495a08adbef52dabd8232 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Wed, 11 Sep 2024 21:00:48 +0200 Subject: [PATCH 01/47] py-xgboost: add v2.1.1 (#46260) * py-xgboost: add v2.1.1 * setuptools no longer needed * Better comment --- .../builtin/packages/py-xgboost/package.py | 83 ++++++++++--------- .../repos/builtin/packages/xgboost/package.py | 37 +++------ 2 files changed, 59 insertions(+), 61 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-xgboost/package.py b/var/spack/repos/builtin/packages/py-xgboost/package.py index 9b9818dda74e0e..a5013408389934 100644 --- a/var/spack/repos/builtin/packages/py-xgboost/package.py +++ b/var/spack/repos/builtin/packages/py-xgboost/package.py @@ -14,19 +14,19 @@ class PyXgboost(PythonPackage): homepage = "https://xgboost.ai/" pypi = "xgboost/xgboost-1.3.3.tar.gz" - - maintainers("adamjstewart") import_modules = ["xgboost"] license("Apache-2.0") + maintainers("adamjstewart") + version("2.1.1", sha256="4b1729837f9f1ba88a32ef1be3f8efb860fee6454a68719b196dc88032c23d97") + version("2.1.0", sha256="7144980923e76ce741c7b03a14d3bd7514db6de5c7cabe96ba95b229d274f5ca") + version("1.7.6", sha256="1c527554a400445e0c38186039ba1a00425dcdb4e40b37eed0e74cb39a159c47") version("1.6.2", sha256="e1f5c91ba88cf8edb409d7fd2ca150dcd80b6f2115587d87365f0c10b2d4f009") version("1.6.1", sha256="24072028656f3428e7b8aabf77340ece057f273e41f7f85d67ccaefb7454bb18") version("1.5.2", sha256="404dc09dca887ef5a9bc0268f882c54b33bfc16ac365a859a11e7b24d49da387") version("1.3.3", sha256="397051647bb837915f3ff24afc7d49f7fca57630ffd00fb5ef66ae2a0881fb43") - depends_on("cxx", type="build") # generated - variant("pandas", default=False, description="Enable Pandas extensions for training.") variant( "scikit-learn", default=False, description="Enable scikit-learn extensions for training." @@ -34,48 +34,57 @@ class PyXgboost(PythonPackage): variant("dask", default=False, description="Enables Dask extensions for distributed training.") variant("plotting", default=False, description="Enables tree and importance plotting.") - for ver in ["1.3.3", "1.5.2", "1.6.1", "1.6.2"]: + for ver in ["1.3.3", "1.5.2", "1.6.1", "1.6.2", "1.7.6", "2.1.0", "2.1.1"]: depends_on("xgboost@" + ver, when="@" + ver) - depends_on("python@3.7:", when="@1.6:", type=("build", "run")) - depends_on("python@3.6:", type=("build", "run")) - depends_on("py-setuptools", type=("build")) - # in newer pip versions --install-option does not exist - depends_on("py-pip@:23.0", type="build") + with default_args(type="build"): + depends_on("py-hatchling@1.12.1:", type="build", when="@2:") + # Required to use --config-settings + depends_on("py-pip@22.1:", when="@2:") + + # Historical dependencies + depends_on("py-setuptools", when="@:1") + # in newer pip versions --install-option does not exist + depends_on("py-pip@:23.0", when="@:1") - depends_on("py-numpy", type=("build", "run")) - # https://github.com/dmlc/xgboost/issues/10221 - depends_on("py-numpy@:1", when="@:2.0", type=("build", "run")) - depends_on("py-scipy", type=("build", "run")) + with default_args(type=("build", "run")): + depends_on("py-numpy", type=("build", "run")) + # https://github.com/dmlc/xgboost/issues/10221 + depends_on("py-numpy@:1", when="@:2.0", type=("build", "run")) + depends_on("py-scipy", type=("build", "run")) - depends_on("py-pandas", when="+pandas", type=("build", "run")) + with when("+pandas"): + depends_on("py-pandas@1.2:", when="@2:") + depends_on("py-pandas") - depends_on("py-scikit-learn", when="+scikit-learn", type=("build", "run")) + with when("+scikit-learn"): + depends_on("py-scikit-learn") - depends_on("py-dask", when="+dask", type=("build", "run")) - depends_on("py-pandas", when="+dask", type=("build", "run")) - depends_on("py-distributed", when="+dask", type=("build", "run")) + with when("+dask"): + depends_on("py-dask") + depends_on("py-pandas") + depends_on("py-distributed") - depends_on("py-graphviz", when="+plotting", type=("build", "run")) - depends_on("py-matplotlib", when="+plotting", type=("build", "run")) + with when("+plotting"): + depends_on("py-graphviz") + depends_on("py-matplotlib") def patch(self): + # Hard-coded to search for system libxgboost in the Python installation prefix # https://github.com/dmlc/xgboost/issues/6706 - # 'setup.py' is hard-coded to search in Python installation prefix - filter_file( - "lib_path = os.path.join(sys.prefix, 'lib')", - "lib_path = '{0}'".format(self.spec["xgboost"].libs.directories[0]), - "setup.py", - string=True, - ) - - # Same for run-time search - filter_file( - "os.path.join(curr_path, 'lib'),", - "'{0}',".format(self.spec["xgboost"].libs.directories[0]), - os.path.join("xgboost", "libpath.py"), - string=True, - ) - + files = [os.path.join("xgboost", "libpath.py")] + if self.spec.satisfies("@2:"): + regex = "sys.base_prefix" + files.append(os.path.join("packager", "nativelib.py")) + else: + regex = "sys.prefix" + files.append("setup.py") + filter_file(regex, repr(self.spec["xgboost"].prefix), *files, string=True) + + @when("@2:") + def config_settings(self, spec, prefix): + return {"use_system_libxgboost": True} + + @when("@:1") def install_options(self, spec, prefix): return ["--use-system-libxgboost"] diff --git a/var/spack/repos/builtin/packages/xgboost/package.py b/var/spack/repos/builtin/packages/xgboost/package.py index 3451f7af696b74..ea48be3d6ad6cb 100644 --- a/var/spack/repos/builtin/packages/xgboost/package.py +++ b/var/spack/repos/builtin/packages/xgboost/package.py @@ -18,33 +18,22 @@ class Xgboost(CMakePackage, CudaPackage): homepage = "https://xgboost.ai/" git = "https://github.com/dmlc/xgboost.git" - - maintainers("adamjstewart") + submodules = True license("Apache-2.0") + maintainers("adamjstewart") - version("master", branch="master", submodules=True) - version( - "2.1.0", tag="v2.1.0", commit="213ebf7796b757448dfa2cfba532074696fa1524", submodules=True - ) - version( - "1.7.6", tag="v1.7.6", commit="36eb41c960483c8b52b44082663c99e6a0de440a", submodules=True - ) - version( - "1.6.2", tag="v1.6.2", commit="b9934246faa9a25e10a12339685dfbe56d56f70b", submodules=True - ) - version( - "1.6.1", tag="v1.6.1", commit="5d92a7d936fc3fad4c7ecb6031c3c1c7da882a14", submodules=True - ) - version( - "1.5.2", tag="v1.5.2", commit="742c19f3ecf2135b4e008a4f4a10b59add8b1045", submodules=True - ) - version( - "1.3.3", tag="v1.3.3", commit="000292ce6d99ed658f6f9aebabc6e9b330696e7e", submodules=True - ) + version("master", branch="master") + version("2.1.1", tag="v2.1.1", commit="9c9db1259240bffe9040ed7ca6e3fb2c1bda80e4") + version("2.1.0", tag="v2.1.0", commit="213ebf7796b757448dfa2cfba532074696fa1524") + version("1.7.6", tag="v1.7.6", commit="36eb41c960483c8b52b44082663c99e6a0de440a") + version("1.6.2", tag="v1.6.2", commit="b9934246faa9a25e10a12339685dfbe56d56f70b") + version("1.6.1", tag="v1.6.1", commit="5d92a7d936fc3fad4c7ecb6031c3c1c7da882a14") + version("1.5.2", tag="v1.5.2", commit="742c19f3ecf2135b4e008a4f4a10b59add8b1045") + version("1.3.3", tag="v1.3.3", commit="000292ce6d99ed658f6f9aebabc6e9b330696e7e") - depends_on("c", type="build") # generated - depends_on("cxx", type="build") # generated + depends_on("c", type="build") + depends_on("cxx", type="build") variant("nccl", default=False, description="Build with NCCL to enable distributed GPU support") variant("openmp", default=True, description="Build with OpenMP support") @@ -64,7 +53,7 @@ class Xgboost(CMakePackage, CudaPackage): # thrust 2.3.1 tuple issues depends_on("cuda@:12.3", when="@:1.7") # https://github.com/dmlc/xgboost/issues/10555 - depends_on("cuda@:12.4", when="@:2.1.0") # assuming fix is backported + depends_on("cuda@:12.4", when="@:2.1") depends_on("nccl", when="+nccl") depends_on("llvm-openmp", when="%apple-clang +openmp") From 5833fe0c3684a8a24f140bdb86fee8711d810e41 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Wed, 11 Sep 2024 21:23:42 +0200 Subject: [PATCH 02/47] py-scikit-learn: add v1.5.2 (#46327) --- var/spack/repos/builtin/packages/py-scikit-learn/package.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-scikit-learn/package.py b/var/spack/repos/builtin/packages/py-scikit-learn/package.py index fcbcee75e02322..4fb94f843f70a0 100644 --- a/var/spack/repos/builtin/packages/py-scikit-learn/package.py +++ b/var/spack/repos/builtin/packages/py-scikit-learn/package.py @@ -19,6 +19,7 @@ class PyScikitLearn(PythonPackage): version("main", branch="main") version("master", branch="main", deprecated=True) + version("1.5.2", sha256="b4237ed7b3fdd0a4882792e68ef2545d5baa50aca3bb45aa7df468138ad8f94d") version("1.5.1", sha256="0ea5d40c0e3951df445721927448755d3fe1d80833b0b7308ebff5d2a45e6414") version("1.5.0", sha256="789e3db01c750ed6d496fa2db7d50637857b451e57bcae863bff707c1247bef7") version("1.4.2", sha256="daa1c471d95bad080c6e44b4946c9390a4842adc3082572c20e4f8884e39e959") @@ -48,8 +49,8 @@ class PyScikitLearn(PythonPackage): version("0.22.1", sha256="51ee25330fc244107588545c70e2f3570cfc4017cff09eed69d6e1d82a212b7d") version("0.22", sha256="314abf60c073c48a1e95feaae9f3ca47a2139bd77cebb5b877c23a45c9e03012") - depends_on("c", type="build") # generated - depends_on("cxx", type="build") # generated + depends_on("c", type="build") + depends_on("cxx", type="build") # Based on PyPI wheel availability with default_args(type=("build", "link", "run")): From 8160cd1b9edf04efe2389f862ec8e41f93edf2d9 Mon Sep 17 00:00:00 2001 From: Pranav Sivaraman Date: Wed, 11 Sep 2024 16:18:12 -0400 Subject: [PATCH 03/47] scnlib: new package (#46313) --- .../repos/builtin/packages/scnlib/package.py | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 var/spack/repos/builtin/packages/scnlib/package.py diff --git a/var/spack/repos/builtin/packages/scnlib/package.py b/var/spack/repos/builtin/packages/scnlib/package.py new file mode 100644 index 00000000000000..24135986e55333 --- /dev/null +++ b/var/spack/repos/builtin/packages/scnlib/package.py @@ -0,0 +1,61 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class Scnlib(CMakePackage): + """scanf for modern C++""" + + homepage = "https://scnlib.dev" + url = "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v3.0.1.tar.gz" + + maintainers("pranav-sivaraman") + + license("Apache-2.0", checked_by="pranav-sivaraman") + + version("3.0.1", sha256="bc8a668873601d00cce6841c2d0f2c93f836f63f0fbc77997834dea12e951eb1") + + variant("shared", default=True, description="Build shared libs") + variant( + "regex-backend", + default="std", + description="Regex backend to use", + multi=False, + values=("std", "Boost"), + ) + variant( + "icu", + default=False, + description="Use the ICU when using the Boost regex backend", + when="regex-backend=Boost", + ) + + depends_on("cxx", type="build") + depends_on("cmake@3.16:", type="build") + + depends_on("fast-float@5:") + + depends_on("boost +regex cxxstd=17", when="regex-backend=Boost") + depends_on("boost +icu", when="+icu") + + depends_on("googletest cxxstd=17", type="test") + depends_on("python@3:", type="test") + + def cmake_args(self): + args = [ + self.define("SCN_TESTS", self.run_tests), + self.define("SCN_BENCHMARKS", False), + self.define("SCN_EXAMPLES", False), + self.define("SCN_DOCS", False), + self.define("SCN_USE_EXTERNAL_FAST_FLOAT", True), + self.define("SCN_USE_EXTERNAL_GTEST", True), + self.define("SCN_USE_EXTERNAL_BENCHMARK", True), + self.define("SCN_USE_EXTERNAL_REGEX_BACKEND", True), + self.define_from_variant("BUILD_SHARED_LIBS", "shared"), + self.define_from_variant("SCN_REGEX_BACKEND", "regex-backend"), + ] + + return args From bca975e66a69a93be2f70eb5c23629216a78622c Mon Sep 17 00:00:00 2001 From: Stephen Nicholas Swatman Date: Thu, 12 Sep 2024 00:49:18 +0200 Subject: [PATCH 04/47] hep tag: new versions as of 2024/09/11 (#46322) This commit updates acts-algebra-plugins to v0.25.0, actsvg to v0.4.47, detray to v0.74.2, geomodel to v6.5.0, and vecmem to v1.7.0. --- .../repos/builtin/packages/acts-algebra-plugins/package.py | 1 + var/spack/repos/builtin/packages/actsvg/package.py | 3 +++ var/spack/repos/builtin/packages/detray/package.py | 1 + var/spack/repos/builtin/packages/geomodel/package.py | 1 + var/spack/repos/builtin/packages/vecmem/package.py | 1 + 5 files changed, 7 insertions(+) diff --git a/var/spack/repos/builtin/packages/acts-algebra-plugins/package.py b/var/spack/repos/builtin/packages/acts-algebra-plugins/package.py index 0e12d5e25cefcf..6de001e545bd8e 100644 --- a/var/spack/repos/builtin/packages/acts-algebra-plugins/package.py +++ b/var/spack/repos/builtin/packages/acts-algebra-plugins/package.py @@ -17,6 +17,7 @@ class ActsAlgebraPlugins(CMakePackage): license("MPL-2.0", checked_by="stephenswat") + version("0.25.0", sha256="bb0cba6e37558689d780a6de8f749abb3b96f8cd9e0c8851474eb4532e1e98b8") version("0.24.0", sha256="f44753e62b1ba29c28ab86b282ab67ac6028a0f9fe41e599b7fc6fc50b586b62") depends_on("cxx", type="build") # generated diff --git a/var/spack/repos/builtin/packages/actsvg/package.py b/var/spack/repos/builtin/packages/actsvg/package.py index f0e8bc66cdf783..e541f3e78e1538 100644 --- a/var/spack/repos/builtin/packages/actsvg/package.py +++ b/var/spack/repos/builtin/packages/actsvg/package.py @@ -20,6 +20,9 @@ class Actsvg(CMakePackage): license("MPL-2.0") + version("0.4.47", sha256="11924fddbdd01f6337875797dc3a97b62be565688e678485e992bcfc9bfb142f") + version("0.4.46", sha256="0b75e91de240aeac8b91cd4fb8e314d0ab2a4b220048fb373dee9352d571b792") + version("0.4.45", sha256="402ca863e453055e5abc65a37908f44b03b15f90c694807d78627d7800d2e39c") version("0.4.44", sha256="6eda7306b8b863e1860e090f328ac6e7982dc2d3b3d674db2799c13007ffd07f") version("0.4.43", sha256="e2aef32185db37cfdc023282b25c003e63dc974a11118ab2040bd30b2d346147") version("0.4.42", sha256="a8439d50b469ccc4428973507db1adf56aa68b34900ce0c6077ddb92a133a4f2") diff --git a/var/spack/repos/builtin/packages/detray/package.py b/var/spack/repos/builtin/packages/detray/package.py index c32e0ec6d58a49..b4a1d11c61e472 100644 --- a/var/spack/repos/builtin/packages/detray/package.py +++ b/var/spack/repos/builtin/packages/detray/package.py @@ -20,6 +20,7 @@ class Detray(CMakePackage): license("MPL-2.0", checked_by="stephenswat") + version("0.74.2", sha256="9fd14cf1ec30477d33c530670e9fed86b07db083912fe51dac64bf2453b321e8") version("0.73.0", sha256="f574016bc7515a34a675b577e93316e18cf753f1ab7581dcf1c8271a28cb7406") version("0.72.1", sha256="6cc8d34bc0d801338e9ab142c4a9884d19d9c02555dbb56972fab86b98d0f75b") version("0.71.0", sha256="2be2b3dac6f77aa8cea033eba841378dc3703ff93c99e4d05ea03df685e6d508") diff --git a/var/spack/repos/builtin/packages/geomodel/package.py b/var/spack/repos/builtin/packages/geomodel/package.py index 43f81110c54477..9292fd04098c09 100644 --- a/var/spack/repos/builtin/packages/geomodel/package.py +++ b/var/spack/repos/builtin/packages/geomodel/package.py @@ -18,6 +18,7 @@ class Geomodel(CMakePackage): license("Apache-2.0", checked_by="wdconinc") + version("6.5.0", sha256="8a2f71493e54ea4d393f4c0075f3ca13df132f172c891825f3ab949cda052c5f") version("6.4.0", sha256="369f91f021be83d294ba6a9bdbe00077625e9fe798a396aceece8970e7dd5838") version("6.3.0", sha256="d2b101e06d20a8a3b638e6021f517a939f49ea6d8347ce40c927c27efe66b28c") version("6.2.0", sha256="99bb3908bf710ce5ba0bcdd192942705a183a9f2886079df091dc69423b7bdf1") diff --git a/var/spack/repos/builtin/packages/vecmem/package.py b/var/spack/repos/builtin/packages/vecmem/package.py index 5eddb8b61a779d..cb82181cb04ae9 100644 --- a/var/spack/repos/builtin/packages/vecmem/package.py +++ b/var/spack/repos/builtin/packages/vecmem/package.py @@ -17,6 +17,7 @@ class Vecmem(CMakePackage, CudaPackage): license("MPL-2.0-no-copyleft-exception") + version("1.7.0", sha256="ff4bf8ea86a5edcb4a1e3d8dd0c42c73c60e998c6fb6512a40182c1f4620a73d") version("1.6.0", sha256="797b016ac0b79bb39abad059ffa9f4817e519218429c9ab4c115f989616bd5d4") version("1.5.0", sha256="5d7a2d2dd8eb961af12a1ed9e4e427b89881e843064ffa96ad0cf0934ba9b7ae") version("1.4.0", sha256="545dfb4de4f9f3d773eef6a0e3297ebf981bb81950930d0991ad739e31ab16af") From 5c59bb87a4d3ed5a190f9ef37b98cd91c91f020f Mon Sep 17 00:00:00 2001 From: Stephen Nicholas Swatman Date: Thu, 12 Sep 2024 00:55:26 +0200 Subject: [PATCH 05/47] acts: add v36.3.0 (#46320) This commit adds v36.3.0 of ACTS, and also marks a previously missing conflict with Boost 1.85.0 --- var/spack/repos/builtin/packages/acts/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/acts/package.py b/var/spack/repos/builtin/packages/acts/package.py index 8935be08acbf0d..6be1e0aff22e1b 100644 --- a/var/spack/repos/builtin/packages/acts/package.py +++ b/var/spack/repos/builtin/packages/acts/package.py @@ -41,6 +41,7 @@ class Acts(CMakePackage, CudaPackage): # Supported Acts versions version("main", branch="main") version("master", branch="main", deprecated=True) # For compatibility + version("36.3.0", commit="3b875cebabdd10462e224279558429f49ed75945", submodules=True) version("36.2.0", commit="e2fb53da911dc481969e56d635898a46b8d78df9", submodules=True) version("36.1.0", commit="3f19d1a0eec1d11937d66d0ef603f0b25b9b4e96", submodules=True) version("36.0.0", commit="6eca77c45b136861272694edbb61bb77200948a5", submodules=True) @@ -418,6 +419,8 @@ class Acts(CMakePackage, CudaPackage): conflicts("%gcc@:7", when="@0.23:") # When using C++20, disable gcc 9 and lower. conflicts("%gcc@:9", when="cxxstd=20") + # See https://github.com/acts-project/acts/pull/3512 + conflicts("^boost@1.85.0") def cmake_args(self): spec = self.spec From c7e3fc90494ef0717389754e97c96ddb1015bdc7 Mon Sep 17 00:00:00 2001 From: Stephen Nicholas Swatman Date: Thu, 12 Sep 2024 04:37:43 +0200 Subject: [PATCH 06/47] boost: add v1.86.0 (#46321) This commit adds Boost v1.86.0. --- var/spack/repos/builtin/packages/boost/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py index fe0d3928573ebf..50cd7d5a46f9c2 100644 --- a/var/spack/repos/builtin/packages/boost/package.py +++ b/var/spack/repos/builtin/packages/boost/package.py @@ -30,6 +30,7 @@ class Boost(Package): license("BSL-1.0") version("develop", branch="develop", submodules=True) + version("1.86.0", sha256="1bed88e40401b2cb7a1f76d4bab499e352fa4d0c5f31c0dbae64e24d34d7513b") version("1.85.0", sha256="7009fe1faa1697476bdc7027703a2badb84e849b7b0baad5086b087b971f8617") version("1.84.0", sha256="cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454") version("1.83.0", sha256="6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e") From 527e0fb4b4830536826487232d213a7b9240ed3d Mon Sep 17 00:00:00 2001 From: Peter Scheibel Date: Wed, 11 Sep 2024 19:52:40 -0700 Subject: [PATCH 07/47] bugfix: unit test broken everywhere by package change(#46344) Openmpi provider statements were changed in #46102. The package change was fine in and of itself, but apparently one of our tests depends on the precise constraints used in those statements. I updated the test to remove the checks for constraints that were removed. --- lib/spack/spack/test/cmd/providers.py | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/spack/spack/test/cmd/providers.py b/lib/spack/spack/test/cmd/providers.py index 25d17ab9af3949..4ea642ef32b61b 100644 --- a/lib/spack/spack/test/cmd/providers.py +++ b/lib/spack/spack/test/cmd/providers.py @@ -31,7 +31,6 @@ def test_it_just_runs(pkg): "mpilander", "mvapich2", "openmpi", - "openmpi@1.6.5", "openmpi@1.7.5:", "openmpi@2.0.0:", "spectrum-mpi", From f417e9f00c992e5c124b94fa88964a973e13274e Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Wed, 11 Sep 2024 22:14:50 -0700 Subject: [PATCH 08/47] acts: further simplify `cxxstd` handling (#46333) See https://github.com/spack/spack/pull/46314#discussion_r1752940332. This further simplifies `cxxstd` variant handling in `acts` by removing superfluous version constraints from dependencies for `geant4` and `root`. The version constraints in the loop are redundant with the conditional variant values here: ```python _cxxstd_values = ( conditional("14", when="@:0.8.1"), conditional("17", when="@:35"), conditional("20", when="@24:"), ) _cxxstd_common = { "values": _cxxstd_values, "multi": False, "description": "Use the specified C++ standard when building.", } variant("cxxstd", default="17", when="@:35", **_cxxstd_common) variant("cxxstd", default="20", when="@36:", **_cxxstd_common) ``` So we can simplify the dependencies in the loop to: ```python for _cxxstd in _cxxstd_values: for _v in _cxxstd: depends_on(f"geant4 cxxstd={_v.value}", when=f"cxxstd={_v.value} +geant4") depends_on(f"geant4 cxxstd={_v.value}", when=f"cxxstd={_v.value} +fatras_geant4") depends_on(f"root cxxstd={_v.value}", when=f"cxxstd={_v.value} +tgeo") ``` And avoid the potential for impossible variant expressions. Signed-off-by: Todd Gamblin --- var/spack/repos/builtin/packages/acts/package.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/var/spack/repos/builtin/packages/acts/package.py b/var/spack/repos/builtin/packages/acts/package.py index 6be1e0aff22e1b..026a2096cb0f38 100644 --- a/var/spack/repos/builtin/packages/acts/package.py +++ b/var/spack/repos/builtin/packages/acts/package.py @@ -401,14 +401,9 @@ class Acts(CMakePackage, CudaPackage): # ACTS imposes requirements on the C++ standard values used by ROOT for _cxxstd in _cxxstd_values: for _v in _cxxstd: - if Spec(_v.when).satisfies("@0.23:"): # geant4 variant only exists at 0.23 or higher - depends_on( - f"geant4 cxxstd={_v.value}", when=f"cxxstd={_v.value} {_v.when} +geant4" - ) - depends_on( - f"geant4 cxxstd={_v.value}", when=f"cxxstd={_v.value} {_v.when} +fatras_geant4" - ) - depends_on(f"root cxxstd={_v.value}", when=f"cxxstd={_v.value} {_v.when} +tgeo") + depends_on(f"geant4 cxxstd={_v.value}", when=f"cxxstd={_v.value} +geant4") + depends_on(f"geant4 cxxstd={_v.value}", when=f"cxxstd={_v.value} +fatras_geant4") + depends_on(f"root cxxstd={_v.value}", when=f"cxxstd={_v.value} +tgeo") # When the traccc plugin is enabled, detray should match the Acts scalars with when("+traccc"): From cec770b26eb2d3d162ba7ceb80889f6f73c7b7b7 Mon Sep 17 00:00:00 2001 From: Mikael Simberg Date: Thu, 12 Sep 2024 09:03:58 +0200 Subject: [PATCH 09/47] pika: Add conflict between HIP and GCC (libstdc++) >= 13 (#46291) --- var/spack/repos/builtin/packages/pika/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/pika/package.py b/var/spack/repos/builtin/packages/pika/package.py index 4916681eaf2385..1a0e7477e243a9 100644 --- a/var/spack/repos/builtin/packages/pika/package.py +++ b/var/spack/repos/builtin/packages/pika/package.py @@ -141,6 +141,8 @@ class Pika(CMakePackage, CudaPackage, ROCmPackage): depends_on("apex", when="+apex") depends_on("cuda@11:", when="+cuda") depends_on("hip@5.2:", when="@0.8: +rocm") + # https://github.com/pika-org/pika/issues/1238 + conflicts("%gcc@13:", when="+rocm") depends_on("hipblas", when="@:0.8 +rocm") depends_on("mpi", when="+mpi") depends_on("stdexec", when="+stdexec") From 0cc38d685f941217ea6a421c18ad4249e85e2f08 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Thu, 12 Sep 2024 05:24:49 -0500 Subject: [PATCH 10/47] pcre2: add v10.44 (#46341) --- var/spack/repos/builtin/packages/pcre2/package.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/pcre2/package.py b/var/spack/repos/builtin/packages/pcre2/package.py index 2e1f4c03f3be06..dd2c99f9672507 100644 --- a/var/spack/repos/builtin/packages/pcre2/package.py +++ b/var/spack/repos/builtin/packages/pcre2/package.py @@ -14,8 +14,9 @@ class Pcre2(AutotoolsPackage): homepage = "https://www.pcre.org" url = "https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.39/pcre2-10.39.tar.bz2" - license("BSD-3-Clause") + license("BSD-3-Clause AND PCRE2-exception", when="@10:", checked_by="wdconinc") + version("10.44", sha256="d34f02e113cf7193a1ebf2770d3ac527088d485d4e047ed10e5d217c6ef5de96") version("10.43", sha256="e2a53984ff0b07dfdb5ae4486bbb9b21cca8e7df2434096cc9bf1b728c350bcb") version("10.42", sha256="8d36cd8cb6ea2a4c2bb358ff6411b0c788633a2a45dabbf1aeb4b701d1b5e840") version("10.41", sha256="0f78cebd3e28e346475fb92e95fe9999945b4cbaad5f3b42aca47b887fb53308") @@ -26,7 +27,7 @@ class Pcre2(AutotoolsPackage): version("10.31", sha256="e07d538704aa65e477b6a392b32ff9fc5edf75ab9a40ddfc876186c4ff4d68ac") version("10.20", sha256="332e287101c9e9567d1ed55391b338b32f1f72c5b5ee7cc81ef2274a53ad487a") - depends_on("c", type="build") # generated + depends_on("c", type="build") variant("multibyte", default=True, description="Enable support for 16 and 32 bit characters.") variant("jit", default=False, description="enable Just-In-Time compiling support") From 68df483bc6a992886fb06354ed009db612e56017 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Thu, 12 Sep 2024 06:37:30 -0500 Subject: [PATCH 11/47] re2: add versions through 2024-07-02; add variant icu (#46337) --- .../repos/builtin/packages/re2/package.py | 38 ++++++++++++++++++- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/re2/package.py b/var/spack/repos/builtin/packages/re2/package.py index 6ddf02a9b86788..f7232c7051891d 100644 --- a/var/spack/repos/builtin/packages/re2/package.py +++ b/var/spack/repos/builtin/packages/re2/package.py @@ -13,8 +13,29 @@ class Re2(CMakePackage): homepage = "https://github.com/google/re2" url = "https://github.com/google/re2/archive/2020-08-01.tar.gz" - license("BSD-3-Clause") + license("BSD-3-Clause", checked_by="wdconinc") + version( + "2024-07-02", sha256="eb2df807c781601c14a260a507a5bb4509be1ee626024cb45acbd57cb9d4032b" + ) + version( + "2024-06-01", sha256="7326c74cddaa90b12090fcfc915fe7b4655723893c960ee3c2c66e85c5504b6c" + ) + version( + "2024-05-01", sha256="fef2f366578401eada34f5603679fb2aebe9b409de8d275a482ce5f2cbac2492" + ) + version( + "2024-04-01", sha256="3f6690c3393a613c3a0b566309cf04dc381d61470079b653afc47c67fb898198" + ) + version( + "2024-03-01", sha256="7b2b3aa8241eac25f674e5b5b2e23d4ac4f0a8891418a2661869f736f03f57f4" + ) + version( + "2024-02-01", sha256="cd191a311b84fcf37310e5cd876845b4bf5aee76fdd755008eef3b6478ce07bb" + ) + version( + "2023-11-01", sha256="4e6593ac3c71de1c0f322735bc8b0492a72f66ffccfad76e259fa21c41d27d8a" + ) version( "2023-09-01", sha256="5bb6875ae1cd1e9fedde98018c346db7260655f86fdb8837e3075103acd3649b" ) @@ -28,20 +49,33 @@ class Re2(CMakePackage): "2020-04-01", sha256="98794bc5416326817498384a9c43cbb5a406bab8da9f84f83c39ecad43ed5cea" ) - depends_on("cxx", type="build") # generated + depends_on("cxx", type="build") + variant( + "icu", + default=False, + description="Build against ICU for full Unicode properties support", + when="@2023-02-01:", + ) variant("shared", default=False, description="Build shared instead of static libraries") variant("pic", default=True, description="Enable position independent code") depends_on("abseil-cpp", when="@2023-09-01:") + depends_on("icu4c", when="+icu") + + depends_on("googletest", type="test") + depends_on("benchmark ~performance_counters", type="test") + # shared libs must have position-independent code conflicts("+shared ~pic") def cmake_args(self): args = [ + self.define_from_variant("RE2_USE_ICU", "icu"), self.define_from_variant("BUILD_SHARED_LIBS", "shared"), self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"), + self.define("RE2_BUILD_TESTING", self.run_tests), ] abseil = self.spec.dependencies("abseil-cpp") From 2623b9727f82e0cb5691b3aadce55f23955172cb Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Thu, 12 Sep 2024 06:37:57 -0500 Subject: [PATCH 12/47] mdspan: fix typo in satisfies condition (#46340) --- var/spack/repos/builtin/packages/mdspan/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/mdspan/package.py b/var/spack/repos/builtin/packages/mdspan/package.py index bb5be2536bc34d..00c815e2c39273 100644 --- a/var/spack/repos/builtin/packages/mdspan/package.py +++ b/var/spack/repos/builtin/packages/mdspan/package.py @@ -30,7 +30,7 @@ def cmake_args(self): if self.spec.satisfies("+tests"): args.append("-DMDSPAN_ENABLE_TESTS=ON") args.append("-DMDSPAN_USE_SYSTEM_GTEST=ON") - if self.spec.satisfies("+bencmarks"): + if self.spec.satisfies("+benchmarks"): args.append("-DMDSPAN_ENABLE_BENCHMARKS=ON") if self.spec.satisfies("+examples"): args.append("-DMDSPAN_ENABLE_EXAMPLES=ON") From 257ebce1083624ed77bc028650af4c4c1578a738 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Thu, 12 Sep 2024 06:39:17 -0500 Subject: [PATCH 13/47] py-zope-*: add new versions (#46338) --- .../builtin/packages/py-zope-event/package.py | 5 ++++- .../packages/py-zope-interface/package.py | 19 +++++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-zope-event/package.py b/var/spack/repos/builtin/packages/py-zope-event/package.py index deec70d19eb508..db68fb119b406d 100644 --- a/var/spack/repos/builtin/packages/py-zope-event/package.py +++ b/var/spack/repos/builtin/packages/py-zope-event/package.py @@ -12,10 +12,13 @@ class PyZopeEvent(PythonPackage): homepage = "https://github.com/zopefoundation/zope.event" pypi = "zope.event/zope.event-4.3.0.tar.gz" - license("ZPL-2.1") + license("ZPL-2.1", checked_by="wdconinc") + version("5.0", sha256="bac440d8d9891b4068e2b5a2c5e2c9765a9df762944bda6955f96bb9b91e67cd") version("4.6", sha256="81d98813046fc86cc4136e3698fee628a3282f9c320db18658c21749235fce80") + version("4.5.1", sha256="4ab47faac13163ca3c5d6d8a5595212e14770322e95c338d955e3688ba19082a") version("4.5.0", sha256="5e76517f5b9b119acf37ca8819781db6c16ea433f7e2062c4afc2b6fbedb1330") version("4.3.0", sha256="e0ecea24247a837c71c106b0341a7a997e3653da820d21ef6c08b32548f733e7") + depends_on("python@3.7:", type=("build", "run"), when="@5:") depends_on("py-setuptools", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-zope-interface/package.py b/var/spack/repos/builtin/packages/py-zope-interface/package.py index 5e7270ba43f1e9..349c1b04421b1e 100644 --- a/var/spack/repos/builtin/packages/py-zope-interface/package.py +++ b/var/spack/repos/builtin/packages/py-zope-interface/package.py @@ -15,16 +15,27 @@ class PyZopeInterface(PythonPackage): homepage = "https://github.com/zopefoundation/zope.interface" pypi = "zope.interface/zope.interface-4.5.0.tar.gz" - license("ZPL-2.1") - + license("ZPL-2.1", checked_by="wdconinc") + + version("7.0.3", sha256="cd2690d4b08ec9eaf47a85914fe513062b20da78d10d6d789a792c0b20307fb1") + version("7.0.2", sha256="f1146bb27a411d0d40cc0e88182a6b0e979d68ab526c8e5ae9e27c06506ed017") + version("7.0.1", sha256="f0f5fda7cbf890371a59ab1d06512da4f2c89a6ea194e595808123c863c38eff") + version("7.0", sha256="a6699621e2e9565fb34e40677fba6eb0974afc400063b3110d8a14d5b0c7a916") + version("6.3", sha256="f83d6b4b22262d9a826c3bd4b2fbfafe1d0000f085ef8e44cd1328eea274ae6a") + version("6.2", sha256="3b6c62813c63c543a06394a636978b22dffa8c5410affc9331ce6cdb5bfa8565") + version("6.1", sha256="2fdc7ccbd6eb6b7df5353012fbed6c3c5d04ceaca0038f75e601060e95345309") + version("6.0", sha256="aab584725afd10c710b8f1e6e208dbee2d0ad009f57d674cb9d1b3964037275d") + version("5.5.2", sha256="bfee1f3ff62143819499e348f5b8a7f3aa0259f9aca5e0ddae7391d059dce671") + version("5.5.1", sha256="6d678475fdeb11394dc9aaa5c564213a1567cc663082e0ee85d52f78d1fbaab2") + version("5.5.0", sha256="700ebf9662cf8df70e2f0cb4988e078c53f65ee3eefd5c9d80cf988c4175c8e3") version("5.4.0", sha256="5dba5f530fec3f0988d83b78cc591b58c0b6eb8431a85edd1569a0539a8a5a0e") version("5.1.0", sha256="40e4c42bd27ed3c11b2c983fecfb03356fae1209de10686d03c02c8696a1d90e") version("4.5.0", sha256="57c38470d9f57e37afb460c399eb254e7193ac7fb8042bd09bdc001981a9c74c") - depends_on("c", type="build") # generated - depends_on("python@2.7:2.8,3.4:", type=("build", "run"), when="@4.5.0") depends_on("python@2.7:2.8,3.5:", type=("build", "run"), when="@5.1.0:") + depends_on("python@3.7:", type=("build", "run"), when="@6:") + depends_on("python@3.8:", type=("build", "run"), when="@7:") depends_on("py-setuptools", type=("build", "run")) depends_on("py-setuptools@:45", type=("build", "run"), when="@4.5.0") From 3fea1d67103a83d37c0d6eed9757ecc475746cbc Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Thu, 12 Sep 2024 06:40:05 -0500 Subject: [PATCH 14/47] codespaces: add ubuntu22.04 (#46100) --- .devcontainer/{ => ubuntu20.04}/devcontainer.json | 1 + .devcontainer/ubuntu22.04/devcontainer.json | 5 +++++ 2 files changed, 6 insertions(+) rename .devcontainer/{ => ubuntu20.04}/devcontainer.json (84%) create mode 100644 .devcontainer/ubuntu22.04/devcontainer.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/ubuntu20.04/devcontainer.json similarity index 84% rename from .devcontainer/devcontainer.json rename to .devcontainer/ubuntu20.04/devcontainer.json index ec4c2690b70e72..325e6e57fdc109 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/ubuntu20.04/devcontainer.json @@ -1,4 +1,5 @@ { + "name": "Ubuntu 20.04", "image": "ghcr.io/spack/ubuntu20.04-runner-amd64-gcc-11.4:2023.08.01", "postCreateCommand": "./.devcontainer/postCreateCommand.sh" } diff --git a/.devcontainer/ubuntu22.04/devcontainer.json b/.devcontainer/ubuntu22.04/devcontainer.json new file mode 100644 index 00000000000000..c4b5d24302bff2 --- /dev/null +++ b/.devcontainer/ubuntu22.04/devcontainer.json @@ -0,0 +1,5 @@ +{ + "name": "Ubuntu 22.04", + "image": "ghcr.io/spack/ubuntu-22.04:v2024-05-07", + "postCreateCommand": "./.devcontainer/postCreateCommand.sh" +} From 533de03fefc9b302db661011c4ddaa60b09967d8 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Thu, 12 Sep 2024 06:41:48 -0500 Subject: [PATCH 15/47] libssh: add v0.9.8, v0.10.6, v0.11.0 (#45689) --- var/spack/repos/builtin/packages/libssh/package.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/var/spack/repos/builtin/packages/libssh/package.py b/var/spack/repos/builtin/packages/libssh/package.py index d79d02d826ee12..5371b0c99debee 100644 --- a/var/spack/repos/builtin/packages/libssh/package.py +++ b/var/spack/repos/builtin/packages/libssh/package.py @@ -11,7 +11,12 @@ class Libssh(CMakePackage): homepage = "https://www.libssh.org" url = "https://www.libssh.org/files/0.8/libssh-0.8.5.tar.xz" + list_url = "https://www.libssh.org/files" + list_depth = 1 + version("0.11.0", sha256="860e814579e7606f3fc3db98c5807bef2ab60f793ec871d81bcd23acdcdd3e91") + version("0.10.6", sha256="1861d498f5b6f1741b6abc73e608478491edcf9c9d4b6630eef6e74596de9dc1") + version("0.9.8", sha256="9f834b732341d428d67bbe835b7d10ae97ccf25d6f5bd0288fa51ae683f2e7cd") version("0.8.9", sha256="8559e19da0c40b6f93482b6160219ad77a4d9f1dc190bf174757455c6ae26825") version("0.8.5", sha256="07d2c431240fc88f6b06bcb36ae267f9afeedce2e32f6c42f8844b205ab5a335") version("0.7.5", sha256="54e86dd5dc20e5367e58f3caab337ce37675f863f80df85b6b1614966a337095") From 74034694135b8b7c02bf09155c9d08cb663cb001 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Thu, 12 Sep 2024 06:44:55 -0500 Subject: [PATCH 16/47] w3m: add v0.5.3.git20230121 (#45747) --- .../repos/builtin/packages/w3m/package.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/w3m/package.py b/var/spack/repos/builtin/packages/w3m/package.py index b84381db121004..5478c2348159e9 100644 --- a/var/spack/repos/builtin/packages/w3m/package.py +++ b/var/spack/repos/builtin/packages/w3m/package.py @@ -22,11 +22,17 @@ class W3m(AutotoolsPackage): # Currently, Arch and Ubuntu (and Debian derivatives) use Debian's branch. # Also, Gentoo, Fedora and openSUSE switched to Debian's branch. homepage = "https://w3m.sourceforge.net/index.en.html" - url = "https://downloads.sourceforge.net/project/w3m/w3m/w3m-0.5.3/w3m-0.5.3.tar.gz" + url = "https://salsa.debian.org/debian/w3m/-/archive/upstream/0.5.3+git20230121/w3m-upstream-0.5.3+git20230121.tar.gz" + git = "https://salsa.debian.org/debian/w3m.git" + maintainers("ronin_gw") license("MIT") + version( + "0.5.3.git20230121", + sha256="8f0592e1cf7cf1de053e22c114cd79b85ebdb8dab925be7d343a130343b97c25", + ) version("0.5.3", sha256="e994d263f2fd2c22febfbe45103526e00145a7674a0fda79c822b97c2770a9e3") depends_on("c", type="build") # generated @@ -66,8 +72,15 @@ class W3m(AutotoolsPackage): depends_on("imlib2@1.0.5:", when="imagelib=imlib2 +image") # fix for modern libraries - patch("fix_redef.patch") - patch("fix_gc.patch") + patch("fix_redef.patch", when="@=0.5.3") + patch("fix_gc.patch", when="@=0.5.3") + + def url_for_version(self, version): + if ".git" in version.string: + v = version.string.replace(".git", "+git") + return f"https://salsa.debian.org/debian/w3m/-/archive/upstream/{v}/w3m-upstream-{v}.tar.gz" + else: + return f"https://downloads.sourceforge.net/project/w3m/w3m/w3m-{version}/w3m-{version}.tar.gz" def patch(self): # w3m is not developed since 2012, everybody is doing this: From 6cb16c39ab85fbc211e50be804fa7a15f24ccebc Mon Sep 17 00:00:00 2001 From: Mikael Simberg Date: Thu, 12 Sep 2024 13:46:39 +0200 Subject: [PATCH 17/47] pika: Add conflicts between pika's and apex's allocator options (#46318) --- var/spack/repos/builtin/packages/pika/package.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/pika/package.py b/var/spack/repos/builtin/packages/pika/package.py index 1a0e7477e243a9..e4a155f9dbf71f 100644 --- a/var/spack/repos/builtin/packages/pika/package.py +++ b/var/spack/repos/builtin/packages/pika/package.py @@ -69,11 +69,12 @@ class Pika(CMakePackage, CudaPackage, ROCmPackage): description="Use the specified C++ standard when building", ) + mallocs = ("system", "jemalloc", "mimalloc", "tbbmalloc", "tcmalloc") variant( "malloc", default="mimalloc", description="Define which allocator will be linked in", - values=("system", "jemalloc", "mimalloc", "tbbmalloc", "tcmalloc"), + values=mallocs, ) default_generic_coroutines = True @@ -137,6 +138,9 @@ class Pika(CMakePackage, CudaPackage, ROCmPackage): depends_on("jemalloc", when="malloc=jemalloc") depends_on("mimalloc", when="malloc=mimalloc") depends_on("tbb", when="malloc=tbbmalloc") + for malloc in filter(lambda x: x != "system", mallocs): + conflicts("^apex +gperftools", when=f"+apex malloc={malloc}") + conflicts("^apex +jemalloc", when=f"+apex malloc={malloc}") depends_on("apex", when="+apex") depends_on("cuda@11:", when="+cuda") From 8fa65b286c3ca71e845553700d6042b70251b296 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Thu, 12 Sep 2024 14:05:50 +0200 Subject: [PATCH 18/47] fix various pkgs depending on libtool only (#46299) autotools packages with a configure script should generate the libtool executable, there's no point in `depends_on("libtool", type="build")`. the libtool executable in `/bin/libtool` is configured for the wrong toolchain (libtools %compiler instead of the package's %compiler). Some package link to `libltdl.so`, which is fine, but had a wrong dependency type. --- .../repos/builtin/packages/3proxy/package.py | 16 ++++++++-------- .../builtin/packages/geopm-runtime/package.py | 1 + .../builtin/packages/geopm-service/package.py | 1 + .../builtin/packages/graphicsmagick/package.py | 1 - .../repos/builtin/packages/guile/package.py | 2 +- .../builtin/packages/imagemagick/package.py | 3 --- .../builtin/packages/libcanberra/package.py | 2 +- .../builtin/packages/libpciaccess/package.py | 3 +-- var/spack/repos/builtin/packages/nest/package.py | 2 +- .../repos/builtin/packages/open-iscsi/package.py | 9 ++++++--- .../repos/builtin/packages/open-isns/package.py | 10 ++++++---- .../packages/openspeedshop-utils/package.py | 2 +- .../builtin/packages/openspeedshop/package.py | 2 +- var/spack/repos/builtin/packages/pocl/package.py | 2 +- .../repos/builtin/packages/pulseaudio/package.py | 2 +- .../repos/builtin/packages/racket/package.py | 1 - .../repos/builtin/packages/scrot/package.py | 3 +-- .../repos/builtin/packages/unixodbc/package.py | 3 +-- var/spack/repos/builtin/packages/xbae/package.py | 3 +-- 19 files changed, 33 insertions(+), 35 deletions(-) diff --git a/var/spack/repos/builtin/packages/3proxy/package.py b/var/spack/repos/builtin/packages/3proxy/package.py index a8750657715c31..38d69f2ed5501d 100644 --- a/var/spack/repos/builtin/packages/3proxy/package.py +++ b/var/spack/repos/builtin/packages/3proxy/package.py @@ -18,17 +18,17 @@ class _3proxy(MakefilePackage): version("0.8.12", sha256="c2ad3798b4f0df06cfcc7b49f658304e451d60e4834e2705ef83ddb85a03f849") version("0.8.11", sha256="fc4295e1a462baa61977fcc21747db7861c4e3d0dcca86cbaa3e06017e5c66c9") - depends_on("c", type="build") # generated - - depends_on("autoconf", type="build") - depends_on("automake", type="build") - depends_on("libtool", type="build") - depends_on("m4", type="build") + depends_on("c", type="build") def build(self, spec, prefix): - make("-f", f"Makefile.{platform.system()}", f"CC={spack_cc}") + make("-f", f"Makefile.{platform.system()}", f"CC={spack_cc}", f"LN={spack_cc}") def install(self, spec, prefix): make( - "-f", f"Makefile.{platform.system()}", f"prefix={prefix}", f"CC={spack_cc}", "install" + "-f", + f"Makefile.{platform.system()}", + f"prefix={prefix}", + f"CC={spack_cc}", + f"LN={spack_cc}", + "install", ) diff --git a/var/spack/repos/builtin/packages/geopm-runtime/package.py b/var/spack/repos/builtin/packages/geopm-runtime/package.py index bae53f8f407e98..74fb3736eebfe0 100644 --- a/var/spack/repos/builtin/packages/geopm-runtime/package.py +++ b/var/spack/repos/builtin/packages/geopm-runtime/package.py @@ -58,6 +58,7 @@ class GeopmRuntime(AutotoolsPackage): # Autotools dependencies depends_on("automake", type="build") + depends_on("autoconf", type="build") depends_on("libtool", type="build") depends_on("file") diff --git a/var/spack/repos/builtin/packages/geopm-service/package.py b/var/spack/repos/builtin/packages/geopm-service/package.py index 557f6371825fe4..2bfaa68a0026e6 100644 --- a/var/spack/repos/builtin/packages/geopm-service/package.py +++ b/var/spack/repos/builtin/packages/geopm-service/package.py @@ -67,6 +67,7 @@ class GeopmService(AutotoolsPackage): # Autotools dependencies depends_on("automake", type="build") + depends_on("autoconf", type="build") depends_on("libtool", type="build") depends_on("file") diff --git a/var/spack/repos/builtin/packages/graphicsmagick/package.py b/var/spack/repos/builtin/packages/graphicsmagick/package.py index 60a5e2123db093..e3713d294644db 100644 --- a/var/spack/repos/builtin/packages/graphicsmagick/package.py +++ b/var/spack/repos/builtin/packages/graphicsmagick/package.py @@ -42,7 +42,6 @@ class Graphicsmagick(AutotoolsPackage): depends_on("libpng") depends_on("libsm") depends_on("libtiff") - depends_on("libtool") depends_on("libxml2") depends_on("xz") depends_on("zlib-api") diff --git a/var/spack/repos/builtin/packages/guile/package.py b/var/spack/repos/builtin/packages/guile/package.py index 32c3e4527354eb..170b0f92bae96a 100644 --- a/var/spack/repos/builtin/packages/guile/package.py +++ b/var/spack/repos/builtin/packages/guile/package.py @@ -41,7 +41,7 @@ class Guile(AutotoolsPackage, GNUMirrorPackage): depends_on("bdw-gc@7.0: threads=dgux386", when="threads=dgux386") depends_on("gmp@4.2:") depends_on("gettext") - depends_on("libtool@1.5.6:") + depends_on("libtool@1.5.6:", type="link") # links to libltdl.so depends_on("libunistring@0.9.3:") depends_on("libffi") depends_on("readline", when="+readline") diff --git a/var/spack/repos/builtin/packages/imagemagick/package.py b/var/spack/repos/builtin/packages/imagemagick/package.py index 3d74e7546bab78..b61c8e4356e20b 100644 --- a/var/spack/repos/builtin/packages/imagemagick/package.py +++ b/var/spack/repos/builtin/packages/imagemagick/package.py @@ -34,8 +34,6 @@ class Imagemagick(AutotoolsPackage): variant("rsvg", default=False, description="Enable RSVG support") depends_on("pkgconfig@0.20:", type="build") - depends_on("libtool", when="@:7.1.0-60", type="build") - depends_on("libtool", when="@7.0.8:7.1.0-60", type=("build", "link")) depends_on("fontconfig@2.1:") depends_on("freetype@2.8:") @@ -48,7 +46,6 @@ class Imagemagick(AutotoolsPackage): depends_on("ghostscript-fonts", when="+ghostscript") depends_on("libsm", when="@:7.1.0-60 platform=linux") - depends_on("libtool", when="platform=linux") def configure_args(self): args = [] diff --git a/var/spack/repos/builtin/packages/libcanberra/package.py b/var/spack/repos/builtin/packages/libcanberra/package.py index 19807aa5fae72a..a629cd8318680e 100644 --- a/var/spack/repos/builtin/packages/libcanberra/package.py +++ b/var/spack/repos/builtin/packages/libcanberra/package.py @@ -39,7 +39,7 @@ class Libcanberra(AutotoolsPackage): depends_on("gtkplus", when="+gtk") depends_on("libvorbis") - depends_on("libtool", type="build") + depends_on("libtool", type="link") # libltdl depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/libpciaccess/package.py b/var/spack/repos/builtin/packages/libpciaccess/package.py index 4704611854212c..6cab9031dd779d 100644 --- a/var/spack/repos/builtin/packages/libpciaccess/package.py +++ b/var/spack/repos/builtin/packages/libpciaccess/package.py @@ -19,9 +19,8 @@ class Libpciaccess(AutotoolsPackage, XorgPackage): version("0.13.5", sha256="fe26ec788732b4ef60b550f2d3fa51c605d27f646e18ecec878f061807a3526e") version("0.13.4", sha256="74d92bda448e6fdb64fee4e0091255f48d625d07146a121653022ed3a0ca1f2f") - depends_on("c", type="build") # generated + depends_on("c", type="build") - depends_on("libtool", type="build") depends_on("pkgconfig", type="build") depends_on("util-macros", type="build") diff --git a/var/spack/repos/builtin/packages/nest/package.py b/var/spack/repos/builtin/packages/nest/package.py index 5dcfcdec2de0fa..416930ac7b3242 100644 --- a/var/spack/repos/builtin/packages/nest/package.py +++ b/var/spack/repos/builtin/packages/nest/package.py @@ -53,7 +53,7 @@ class Nest(CMakePackage): depends_on("gsl", when="+gsl") depends_on("readline") - depends_on("libtool") + depends_on("libtool", type="link") # links against libltdl depends_on("pkgconfig", type="build") extends("python", when="+python") diff --git a/var/spack/repos/builtin/packages/open-iscsi/package.py b/var/spack/repos/builtin/packages/open-iscsi/package.py index 9012dc92ae399b..f93ecfae800ae9 100644 --- a/var/spack/repos/builtin/packages/open-iscsi/package.py +++ b/var/spack/repos/builtin/packages/open-iscsi/package.py @@ -21,13 +21,16 @@ class OpenIscsi(MakefilePackage): version("2.0.877", sha256="69eb95b0c39dee2da9d0d751bfdcdb8d11f9d37390de15c1a0b4558f9d0c4a57") version("2.0.876", sha256="9f01327d5e100ed794dc5083fc18dc4a06a0c29c77b252e21abd1b8f56edd9a7") - depends_on("c", type="build") # generated + depends_on("c", type="build") depends_on("gettext") depends_on("uuid") depends_on("util-linux") depends_on("kmod") depends_on("open-isns") + + depends_on("autoconf", type="build") + depends_on("automake", type="build") depends_on("libtool", type="build") def setup_build_environment(self, env): @@ -35,7 +38,7 @@ def setup_build_environment(self, env): def setup_run_environment(self, env): env.prepend_path("PATH", self.prefix.sbin) - env.prepend_path("LD_LIBRARY_PATH", self.prefix.usr.lib64) def install(self, spec, prefix): - make("install", "DESTDIR={0}".format(prefix)) + etc_dir = join_path(prefix, "etc") + make("install", f"prefix={prefix}", f"exec_prefix={prefix}", f"etcdir={etc_dir}") diff --git a/var/spack/repos/builtin/packages/open-isns/package.py b/var/spack/repos/builtin/packages/open-isns/package.py index a389cf8ca9a552..3f9f7d10a5eabf 100644 --- a/var/spack/repos/builtin/packages/open-isns/package.py +++ b/var/spack/repos/builtin/packages/open-isns/package.py @@ -21,13 +21,15 @@ class OpenIsns(AutotoolsPackage): version("0.97", sha256="c1c9ae740172e55a1ff33bc22151ec3d916562bf5d60c8420cd64496343683a9") version("0.96", sha256="487fd0d87826423ea99dc159826d0b654a5da016ed670d4395a77bfa4f62e2ec") - depends_on("c", type="build") # generated + depends_on("c", type="build") def configure_args(self): args = ["--enable-shared"] return args def install(self, spec, prefix): - make("install") - make("install_hdrs") - make("install_lib") + etc_dir = join_path(prefix, "etc") + var_dir = join_path(prefix, "var") + make("install", f"etcdir={etc_dir}", f"vardir={var_dir}") + make("install_hdrs", f"etcdir={etc_dir}", f"vardir={var_dir}") + make("install_lib", f"etcdir={etc_dir}", f"vardir={var_dir}") diff --git a/var/spack/repos/builtin/packages/openspeedshop-utils/package.py b/var/spack/repos/builtin/packages/openspeedshop-utils/package.py index 0e9c5caf6d639a..c77a608fd21b3c 100644 --- a/var/spack/repos/builtin/packages/openspeedshop-utils/package.py +++ b/var/spack/repos/builtin/packages/openspeedshop-utils/package.py @@ -90,7 +90,7 @@ class OpenspeedshopUtils(CMakePackage): # Dependencies for openspeedshop that are common to all # the variants of the OpenSpeedShop build - depends_on("libtool", type="build") + depends_on("libtool", type="link") # links against libltdl depends_on("bison", type="build") depends_on("flex@2.6.1", type="build") diff --git a/var/spack/repos/builtin/packages/openspeedshop/package.py b/var/spack/repos/builtin/packages/openspeedshop/package.py index 5ceb5113300c74..6dddc60f97d49c 100644 --- a/var/spack/repos/builtin/packages/openspeedshop/package.py +++ b/var/spack/repos/builtin/packages/openspeedshop/package.py @@ -94,7 +94,7 @@ class Openspeedshop(CMakePackage): # Dependencies for openspeedshop that are common to all # the variants of the OpenSpeedShop build - depends_on("libtool", type="build") + depends_on("libtool", type="link") # links against libltdl depends_on("bison", type="build") depends_on("flex@2.6.1", type="build") diff --git a/var/spack/repos/builtin/packages/pocl/package.py b/var/spack/repos/builtin/packages/pocl/package.py index 31fc0b3574cf92..290c488357b2f3 100644 --- a/var/spack/repos/builtin/packages/pocl/package.py +++ b/var/spack/repos/builtin/packages/pocl/package.py @@ -47,7 +47,7 @@ class Pocl(CMakePackage): depends_on("cmake @2.8.12:", type="build") depends_on("hwloc") depends_on("hwloc@:1", when="@:1.1") - depends_on("libtool", type=("build", "link", "run")) + depends_on("libtool", type="link", when="@:1.3") # links against libltdl depends_on("pkgconfig", type="build") depends_on("llvm +clang") diff --git a/var/spack/repos/builtin/packages/pulseaudio/package.py b/var/spack/repos/builtin/packages/pulseaudio/package.py index 8a3396c520e703..81e6db06b456ff 100644 --- a/var/spack/repos/builtin/packages/pulseaudio/package.py +++ b/var/spack/repos/builtin/packages/pulseaudio/package.py @@ -44,7 +44,7 @@ class Pulseaudio(AutotoolsPackage): depends_on("libcap") depends_on("iconv") depends_on("libsndfile@1.0.18:") - depends_on("libtool@2.4:") # links to libltdl.so + depends_on("libtool@2.4:", type="link") # links to libltdl.so depends_on("libsm", when="+x11") depends_on("uuid", when="+x11") depends_on("libx11", when="+x11") diff --git a/var/spack/repos/builtin/packages/racket/package.py b/var/spack/repos/builtin/packages/racket/package.py index 25188da281c9b0..bd53c4b3b444a5 100644 --- a/var/spack/repos/builtin/packages/racket/package.py +++ b/var/spack/repos/builtin/packages/racket/package.py @@ -22,7 +22,6 @@ class Racket(MakefilePackage): depends_on("libffi", type=("build", "link", "run")) depends_on("patchutils") - depends_on("libtool", type=("build")) variant("cs", default=True, description="Build Racket CS (new ChezScheme VM)") variant("bc", default=False, description="Build Racket BC (old MZScheme VM)") diff --git a/var/spack/repos/builtin/packages/scrot/package.py b/var/spack/repos/builtin/packages/scrot/package.py index 23709f59a20144..c28f40fb7f888c 100644 --- a/var/spack/repos/builtin/packages/scrot/package.py +++ b/var/spack/repos/builtin/packages/scrot/package.py @@ -20,10 +20,9 @@ class Scrot(AutotoolsPackage): version("1.6", sha256="42f64d38f04ec530c8b4ebdae04cce8b6893b2f8d30627391d390edcba917090") version("1.5", sha256="42fcf1c97940f4b4e34ca69990a0fc9b98991357bd6a4b67f30ebe0ccc10f093") - depends_on("c", type="build") # generated + depends_on("c", type="build") depends_on("giblib", when="@:1.5") depends_on("imlib2") - depends_on("libtool") depends_on("libxcomposite") depends_on("libxfixes") diff --git a/var/spack/repos/builtin/packages/unixodbc/package.py b/var/spack/repos/builtin/packages/unixodbc/package.py index a972c9f02c4586..bad8222a98bb57 100644 --- a/var/spack/repos/builtin/packages/unixodbc/package.py +++ b/var/spack/repos/builtin/packages/unixodbc/package.py @@ -18,10 +18,9 @@ class Unixodbc(AutotoolsPackage): version("2.3.4", sha256="2e1509a96bb18d248bf08ead0d74804957304ff7c6f8b2e5965309c632421e39") - depends_on("c", type="build") # generated + depends_on("c", type="build") depends_on("iconv") - depends_on("libtool") @property def libs(self): diff --git a/var/spack/repos/builtin/packages/xbae/package.py b/var/spack/repos/builtin/packages/xbae/package.py index 38b74d64af9f99..f17282d21c2179 100644 --- a/var/spack/repos/builtin/packages/xbae/package.py +++ b/var/spack/repos/builtin/packages/xbae/package.py @@ -17,9 +17,8 @@ class Xbae(AutotoolsPackage): version("4.60.4", sha256="eb72702ed0a36d043f2075a9d5a4545556da1b8dab4d67d85fca92f37aeb04a8") - depends_on("c", type="build") # generated + depends_on("c", type="build") - depends_on("libtool", type="build") depends_on("libxext") depends_on("libxmu") depends_on("libxpm") From 128cac34e0bb89f5eb608732e79aec2aca629a20 Mon Sep 17 00:00:00 2001 From: Xuefeng Ding Date: Thu, 12 Sep 2024 20:34:26 +0800 Subject: [PATCH 19/47] geant4: add hdf5 variant (#46312) --- var/spack/repos/builtin/packages/geant4/package.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/var/spack/repos/builtin/packages/geant4/package.py b/var/spack/repos/builtin/packages/geant4/package.py index 3a65b8c40c6b05..ef53b3e4d49a82 100644 --- a/var/spack/repos/builtin/packages/geant4/package.py +++ b/var/spack/repos/builtin/packages/geant4/package.py @@ -78,6 +78,7 @@ class Geant4(CMakePackage): variant("x11", default=False, description="Optional X11 support") variant("motif", default=False, description="Optional motif support") variant("qt", default=False, description="Enable Qt support") + variant("hdf5", default=False, description="Enable HDF5 support", when="@10.4:") variant("python", default=False, description="Enable Python bindings", when="@10.6.2:11.0") variant("tbb", default=False, description="Use TBB as a tasking backend", when="@11:") variant("timemory", default=False, description="Use TiMemory for profiling", when="@9.5:") @@ -140,6 +141,9 @@ class Geant4(CMakePackage): depends_on("vecgeom@1.1.0", when="@10.5.0:10.5") depends_on("vecgeom@0.5.2", when="@10.4.0:10.4") + with when("+hdf5"): + depends_on("hdf5 +threadsafe") + def std_when(values): for v in values: if isinstance(v, _ConditionalVariantValues): @@ -316,6 +320,8 @@ def cmake_args(self): options.append(self.define("GEANT4_USE_QT_QT6", True)) options.append(self.define("QT_QMAKE_EXECUTABLE", spec["qmake"].prefix.bin.qmake)) + options.append(self.define_from_variant("GEANT4_USE_HDF5", "hdf5")) + options.append(self.define_from_variant("GEANT4_USE_VTK", "vtk")) # Python From 8b18f95e058544cf618b0a14f5c70c1fef508829 Mon Sep 17 00:00:00 2001 From: Rocco Meli Date: Thu, 12 Sep 2024 14:34:48 +0200 Subject: [PATCH 20/47] ELSI: add v2.11 and dlaf variant (#46317) * provide dlaff libs * fix incompatibility with ntpoly * add cuda conflicts * [@spackbot] updating style on behalf of RMeli * Update var/spack/repos/builtin/packages/elsi/package.py Co-authored-by: Alberto Invernizzi <9337627+albestro@users.noreply.github.com> * move pexsi conflict to context --------- Co-authored-by: RMeli Co-authored-by: Alberto Invernizzi <9337627+albestro@users.noreply.github.com> --- .../packages/dla-future-fortran/package.py | 6 +++++ .../repos/builtin/packages/elsi/package.py | 25 ++++++++++++++++--- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/dla-future-fortran/package.py b/var/spack/repos/builtin/packages/dla-future-fortran/package.py index 184c2a4db25411..0d50d05e002b28 100644 --- a/var/spack/repos/builtin/packages/dla-future-fortran/package.py +++ b/var/spack/repos/builtin/packages/dla-future-fortran/package.py @@ -51,3 +51,9 @@ def cmake_args(self): args.append(self.define("MPIEXEC_MAX_NUMPROCS", 6)) return args + + @property + def libs(self): + return find_libraries( + "libDLAF_Fortran", root=self.home, shared=self.spec.satisfies("+shared") + ) diff --git a/var/spack/repos/builtin/packages/elsi/package.py b/var/spack/repos/builtin/packages/elsi/package.py index 25b87e28293210..e06936a754e693 100644 --- a/var/spack/repos/builtin/packages/elsi/package.py +++ b/var/spack/repos/builtin/packages/elsi/package.py @@ -18,6 +18,7 @@ class Elsi(CMakePackage, CudaPackage): license("BSD-3-Clause") + version("2.11.0", sha256="2e6929827ed9c99a32381ed9da40482e862c28608d59d4f27db7dcbcaed1520d") version("2.10.1", sha256="b3c7526d46a9139a26680787172a3df15bc648715a35bdf384053231e94ab829") version( "2.2.1", @@ -30,6 +31,8 @@ class Elsi(CMakePackage, CudaPackage): depends_on("cxx", type="build") # generated depends_on("fortran", type="build") # generated + generator("ninja") + variant( "add_underscore", default=True, @@ -65,11 +68,12 @@ class Elsi(CMakePackage, CudaPackage): ) variant( "internal_elpa_version", - default="2024", - values=("2024", "2023_11", "2023", "2021", "2020"), + default="2020", + values=("2020", "2021", conditional("2023", "2023_11", "2024", when="@:2.11")), description="Internal ELPA version", multi=False, ) + variant("dlaf", default=False, when="@2.11:", description="Enable DLA-Future support") # Basic dependencies depends_on("blas", type="link") @@ -78,7 +82,10 @@ class Elsi(CMakePackage, CudaPackage): depends_on("mpi") # Library dependencies - depends_on("ntpoly", when="+use_external_ntpoly") + with when("+use_external_ntpoly"): + depends_on("ntpoly") + depends_on("ntpoly@3:", when="@2.11:") + conflicts("^ntpoly@3:", when="@:2.10") with when("+use_external_elpa"): depends_on("elpa+cuda", when="+cuda") depends_on("elpa~cuda", when="~cuda") @@ -94,9 +101,14 @@ class Elsi(CMakePackage, CudaPackage): depends_on("pexsi+fortran") depends_on("superlu-dist+cuda", when="+cuda") depends_on("superlu-dist~cuda", when="~cuda") + conflicts("^pexsi@2:", when="@:2.11") with when("+use_external_omm"): depends_on("omm") depends_on("matrix-switch") # Direct dependency + with when("+dlaf"): + depends_on("dla-future-fortran") + conflicts("dla-future~cuda", when="+cuda") + conflicts("dla-future+cuda", when="~cuda") def cmake_args(self): libs_names = ["scalapack", "lapack", "blas"] @@ -114,6 +126,8 @@ def cmake_args(self): if self.spec.satisfies("+use_external_omm"): libs_names.append("omm") libs_names.append("matrix-switch") + if self.spec.satisfies("+dlaf"): + libs_names.append("dla-future-fortran") lib_paths, inc_paths, libs = [], [], [] for lib in libs_names: @@ -140,6 +154,7 @@ def cmake_args(self): self.define_from_variant("ADD_UNDERSCORE", "add_underscore"), self.define_from_variant("ENABLE_PEXSI", "enable_pexsi"), self.define_from_variant("ENABLE_SIPS", "enable_sips"), + self.define_from_variant("ENABLE_DLAF", "dlaf"), self.define_from_variant("USE_EXTERNAL_ELPA", "use_external_elpa"), self.define_from_variant("USE_EXTERNAL_NTPOLY", "use_external_ntpoly"), self.define_from_variant("USE_EXTERNAL_OMM", "use_external_omm"), @@ -161,6 +176,10 @@ def cmake_args(self): if self.spec.variants["elpa2_kernel"].value != "none": args.append(self.define_from_variant("ELPA2_KERNEL", "elpa2_kernel")) + if self.spec.satisfies("^elpa+cuda"): + elpa_gpu_string = "nvidia-gpu" if self.spec.satisfies("^elpa@2021:") else "gpu" + args.append(self.define(ELSI_ELPA_GPU_STRING, elpa_gpu_string)) + args.append(self.define("INC_PATHS", ";".join(set(inc_paths)))) # Only when using fujitsu compiler From 3531ee28f87c7d7833087cfae8dac6ca0d55810c Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Thu, 12 Sep 2024 08:05:41 -0700 Subject: [PATCH 21/47] curl: add v8.8.0 (#44622) Co-authored-by: Harmen Stoppels --- .../repos/builtin/packages/curl/package.py | 9 +- .../repos/builtin/packages/mbedtls/package.py | 105 +++--------------- 2 files changed, 20 insertions(+), 94 deletions(-) diff --git a/var/spack/repos/builtin/packages/curl/package.py b/var/spack/repos/builtin/packages/curl/package.py index c3d46c6634694e..b1565f06e4d27d 100644 --- a/var/spack/repos/builtin/packages/curl/package.py +++ b/var/spack/repos/builtin/packages/curl/package.py @@ -32,6 +32,7 @@ class Curl(NMakePackage, AutotoolsPackage): license("curl") + version("8.8.0", sha256="40d3792d38cfa244d8f692974a567e9a5f3387c547579f1124e95ea2a1020d0d") version("8.7.1", sha256="05bbd2b698e9cfbab477c33aa5e99b4975501835a41b7ca6ca71de03d8849e76") version("8.6.0", sha256="b4785f2d8877fa92c0e45d7155cf8cc6750dbda961f4b1a45bcbec990cf2fa9b") version("8.4.0", sha256="e5250581a9c032b1b6ed3cf2f9c114c811fc41881069e9892d115cc73f9e88c6") @@ -112,8 +113,12 @@ class Curl(NMakePackage, AutotoolsPackage): depends_on("pkgconfig", type="build", when="platform=freebsd") depends_on("gnutls", when="tls=gnutls") - depends_on("mbedtls@2: +pic", when="@7.79: tls=mbedtls") - depends_on("mbedtls@:2 +pic", when="@:7.78 tls=mbedtls") + + with when("tls=mbedtls"): + depends_on("mbedtls@:2 +pic", when="@:7.78") + depends_on("mbedtls@2: +pic", when="@7.79:") + depends_on("mbedtls@3.6.0: +pic", when="@8.8.0:") + depends_on("nss", when="tls=nss") with when("tls=openssl"): diff --git a/var/spack/repos/builtin/packages/mbedtls/package.py b/var/spack/repos/builtin/packages/mbedtls/package.py index 7f0bbc100006c7..73f463239d026c 100644 --- a/var/spack/repos/builtin/packages/mbedtls/package.py +++ b/var/spack/repos/builtin/packages/mbedtls/package.py @@ -14,112 +14,28 @@ class Mbedtls(MakefilePackage): """ homepage = "https://tls.mbed.org" - url = "https://github.com/ARMmbed/mbedtls/archive/mbedtls-2.2.1.tar.gz" + url = "https://github.com/Mbed-TLS/mbedtls/releases/download/v3.6.0/mbedtls-3.6.0.tar.bz2" + maintainers("haampie") license("Apache-2.0 OR GPL-2.0-or-later") # version 3.x + version("3.6.0", sha256="3ecf94fcfdaacafb757786a01b7538a61750ebd85c4b024f56ff8ba1490fcd38") version("3.3.0", sha256="a22ff38512697b9cd8472faa2ea2d35e320657f6d268def3a64765548b81c3ec") - version( - "3.2.1", - sha256="5850089672560eeaca03dc36678ee8573bb48ef6e38c94f5ce349af60c16da33", - deprecated=True, - ) - version( - "3.1.0", - sha256="64d01a3b22b91cf3a25630257f268f11bc7bfa37981ae6d397802dd4ccec4690", - deprecated=True, - ) - version( - "3.0.0", - sha256="377d376919be19f07c7e7adeeded088a525be40353f6d938a78e4f986bce2ae0", - deprecated=True, - ) # version 2.x + version("2.28.8", sha256="241c68402cef653e586be3ce28d57da24598eb0df13fcdea9d99bfce58717132") version("2.28.2", sha256="1db6d4196178fa9f8264bef5940611cd9febcd5d54ec05f52f1e8400f792b5a4") - version( - "2.28.1", - sha256="82ff5fda18ecbdee9053bdbeed6059c89e487f3024227131657d4c4536735ed1", - deprecated=True, - ) - version( - "2.28.0", - sha256="f644248f23cf04315cf9bb58d88c4c9471c16ca0533ecf33f86fb7749a3e5fa6", - deprecated=True, - ) - version( - "2.27.0", - sha256="4f6a43f06ded62aa20ef582436a39b65902e1126cbbe2fb17f394e9e9a552767", - deprecated=True, - ) + version("2.7.19", sha256="3da12b1cebe1a25da8365d5349f67db514aefcaa75e26082d7cb2fa3ce9608aa") + + # deprecated versions + # required by julia@1.6:1.7 version( "2.24.0", sha256="b5a779b5f36d5fc4cba55faa410685f89128702423ad07b36c5665441a06a5f3", deprecated=True, ) - version( - "2.16.12", - sha256="0afb4a4ce5b771f2fb86daee786362fbe48285f05b73cd205f46a224ec031783", - deprecated=True, - ) - version( - "2.16.11", - sha256="51bb9685c4f4ff9255da5659ff346b89dcaf129e3ba0f3b2b0c48a1a7495e701", - deprecated=True, - ) - version( - "2.16.9", - sha256="b7ca99ee10551b5b13242b7effebefd2a5cc38c287e5f5be1267d51ee45effe3", - deprecated=True, - ) - version( - "2.16.7", - sha256="4786b7d1676f5e4d248f3a7f2d28446876d64962634f060ff21b92c690cfbe86", - deprecated=True, - ) - version( - "2.16.1", - sha256="daf0d40f3016c34eb42d1e4b3b52be047e976d566aba8668977723c829af72f3", - deprecated=True, - ) - version("2.7.19", sha256="3da12b1cebe1a25da8365d5349f67db514aefcaa75e26082d7cb2fa3ce9608aa") - version( - "2.7.10", - sha256="42b19b30b86a798bdb69c5da2f8bbd7d72ffede9a35b888ab986a29480f9dc3e", - deprecated=True, - ) - version( - "2.3.0", - sha256="1614ee70be99a18ca8298148308fb725aad4ad31c569438bb51655a4999b14f9", - deprecated=True, - ) - version( - "2.2.1", - sha256="32819c62c20e8740a11b49daa5d09ac6f179edf120a87ac559cd63120b66b699", - deprecated=True, - ) - version( - "2.2.0", - sha256="75494361e412444b38ebb9c908b7e17a5fb582eb9c3fadb2fe9b21e96f1bf8cb", - deprecated=True, - ) - version( - "2.1.4", - sha256="a0ee4d3dd135baf67a3cf5ad9e70d67575561704325d6c93d8f087181f4db338", - deprecated=True, - ) - version( - "2.1.3", - sha256="94da4618d5a518b99f7914a5e348be436e3571113d9a9978d130725a1fc7bfac", - deprecated=True, - ) - version( - "1.3.16", - sha256="0c2666222b66cf09c4630fa60a715aafd7decb1a09933b75c0c540b0625ac5df", - deprecated=True, - ) depends_on("c", type="build") # generated @@ -160,6 +76,11 @@ class Mbedtls(MakefilePackage): # libs=shared building both shared and static libs. # conflicts('libs=shared', msg='Makefile build cannot build shared libs only now') + def url_for_version(self, version): + if self.spec.satisfies("@:2.28.7,3:3.5"): + return f"https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v{version}.tar.gz" + return f"https://github.com/Mbed-TLS/mbedtls/releases/download/v{version}/mbedtls-{version}.tar.bz2" + def flag_handler(self, name, flags): # Compile with PIC, if requested. if name == "cflags": From d8d1bc5d7e2e8c52fa285705159dddad468220ab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Sep 2024 08:57:05 -0700 Subject: [PATCH 22/47] build(deps): bump pytest from 8.3.2 to 8.3.3 in /lib/spack/docs (#46315) Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.3.2 to 8.3.3. - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest/compare/8.3.2...8.3.3) --- updated-dependencies: - dependency-name: pytest dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lib/spack/docs/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/spack/docs/requirements.txt b/lib/spack/docs/requirements.txt index 09655e609e6900..5fbd59cdd99977 100644 --- a/lib/spack/docs/requirements.txt +++ b/lib/spack/docs/requirements.txt @@ -6,7 +6,7 @@ python-levenshtein==0.25.1 docutils==0.20.1 pygments==2.18.0 urllib3==2.2.2 -pytest==8.3.2 +pytest==8.3.3 isort==5.13.2 black==24.8.0 flake8==7.1.1 From e8e8d598035139e13ac6b139a0f0d3fa79bb074e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lyd=C3=A9ric=20Debussch=C3=A8re?= Date: Thu, 12 Sep 2024 19:10:23 +0200 Subject: [PATCH 23/47] cpp-argparse: Add version 3.1 (#46319) --- var/spack/repos/builtin/packages/cpp-argparse/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/cpp-argparse/package.py b/var/spack/repos/builtin/packages/cpp-argparse/package.py index 5241608a8ad118..e50ff93c4936bc 100644 --- a/var/spack/repos/builtin/packages/cpp-argparse/package.py +++ b/var/spack/repos/builtin/packages/cpp-argparse/package.py @@ -16,6 +16,7 @@ class CppArgparse(CMakePackage): license("MIT") + version("3.1", sha256="d01733552ca4a18ab501ae8b8be878131baa32e89090fafdeef018ebfa4c6e46") version("2.9", sha256="cd563293580b9dc592254df35b49cf8a19b4870ff5f611c7584cf967d9e6031e") version("2.2", sha256="f0fc6ab7e70ac24856c160f44ebb0dd79dc1f7f4a614ee2810d42bb73799872b") From 6b10f80ccaa1076cbe8227909893986d30a184f1 Mon Sep 17 00:00:00 2001 From: Vanessasaurus <814322+vsoch@users.noreply.github.com> Date: Thu, 12 Sep 2024 11:12:21 -0600 Subject: [PATCH 24/47] flux-sched: add v0.37.0, v0.38.0 (#46215) * Automated deployment to update package flux-sched 2024-09-05 * flux-sched: add back check for run environment * flux-sched: add conflict for gcc and clang above 0.37.0 --------- Co-authored-by: github-actions --- var/spack/repos/builtin/packages/flux-sched/package.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/var/spack/repos/builtin/packages/flux-sched/package.py b/var/spack/repos/builtin/packages/flux-sched/package.py index 24f75fe18652af..66d5532bf31db9 100644 --- a/var/spack/repos/builtin/packages/flux-sched/package.py +++ b/var/spack/repos/builtin/packages/flux-sched/package.py @@ -24,6 +24,8 @@ class FluxSched(CMakePackage, AutotoolsPackage): license("LGPL-3.0-only") version("master", branch="master") + version("0.38.0", sha256="0cb3efbd490256b28df580bb14f8e89c02084a9126e0b1754d6334a99ecfa969") + version("0.37.0", sha256="b354d451183fcb8455e6a61d31e18c7f4af13e16a86b71216738f0991a7bcd50") version("0.36.1", sha256="0ee37ed364912f3f5a48ed5b5f5f21cb86cda43ff357486695b9454c217ad8b8") version("0.36.0", sha256="c20814eae65b6eb9f2c919dbcc216dd4b87f038a341cf99510cca88d43631c41") version("0.35.0", sha256="38fde51464f4e34ecbd1e4fbbf00267f96b639db5987257a7ad07f811e2f09d2") @@ -72,6 +74,8 @@ class FluxSched(CMakePackage, AutotoolsPackage): depends_on("uuid") depends_on("pkgconfig") conflicts("%gcc@:9.3", when="@0.34:") + conflicts("%gcc@:11", when="@0.37:", msg="gcc version must be 12 or higher") + conflicts("%clang@:14", when="@0.37:", msg="clang must be version 15 or higher") depends_on("py-sphinx@1.6.3:", when="+docs", type="build") depends_on("flux-core", type=("build", "link", "run")) From 9a4f83be1d71d1450a7847841e49fb799440eed9 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Thu, 12 Sep 2024 10:16:15 -0700 Subject: [PATCH 25/47] fzf: add v0.55.0 (#46342) --- var/spack/repos/builtin/packages/fzf/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/fzf/package.py b/var/spack/repos/builtin/packages/fzf/package.py index 7616724ea2a193..a3c75798c47fd6 100644 --- a/var/spack/repos/builtin/packages/fzf/package.py +++ b/var/spack/repos/builtin/packages/fzf/package.py @@ -19,6 +19,7 @@ class Fzf(MakefilePackage): license("MIT") + version("0.55.0", sha256="805383f71bca7f8fb271ecd716852aea88fd898d5027d58add9e43df6ea766da") version("0.54.3", sha256="6413f3916f8058b396820f9078b1336d94c72cbae39c593b1d16b83fcc4fdf74") version("0.53.0", sha256="d45abbfb64f21913c633d46818d9d3eb3d7ebc7e94bd16f45941958aa5480e1d") version("0.52.1", sha256="96848746ca78249c1fdd16f170776ce2f667097b60e4ffbd5ecdbd7dfac72ef9") From 56f3ae18f6bd5470e051dc1306542f76f83c3c73 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Thu, 12 Sep 2024 10:17:16 -0700 Subject: [PATCH 26/47] kubectl: add v1.31.0 (#46343) --- var/spack/repos/builtin/packages/kubectl/package.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/kubectl/package.py b/var/spack/repos/builtin/packages/kubectl/package.py index b36f26f37ad256..b0f40209c4239f 100644 --- a/var/spack/repos/builtin/packages/kubectl/package.py +++ b/var/spack/repos/builtin/packages/kubectl/package.py @@ -18,13 +18,13 @@ class Kubectl(Package): license("Apache-2.0") + version("1.31.0", sha256="6679eb90815cc4c3bef6c1b93f7a8451bf3f40d003f45ab57fdc9f8c4e8d4b4f") version("1.27.1", sha256="3a3f7c6b8cf1d9f03aa67ba2f04669772b1205b89826859f1636062d5f8bec3f") version("1.27.0", sha256="536025dba2714ee5e940bb0a6b1df9ca97c244fa5b00236e012776a69121c323") - depends_on("c", type="build") # generated - depends_on("bash", type="build") depends_on("go", type="build") + depends_on("go@1.22:", type="build", when="@1.30:") phases = ["build", "install"] From 9154df9062d327be66d072cdc82fe50932ca78d3 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Thu, 12 Sep 2024 10:18:25 -0700 Subject: [PATCH 27/47] ripgrep: add v14.1.1 (#46348) * ripgrep: add v14.1.1 * ripgrep: fix rust dependency type --- var/spack/repos/builtin/packages/ripgrep/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/ripgrep/package.py b/var/spack/repos/builtin/packages/ripgrep/package.py index f8c0649e7f82aa..cfa392714ce441 100644 --- a/var/spack/repos/builtin/packages/ripgrep/package.py +++ b/var/spack/repos/builtin/packages/ripgrep/package.py @@ -19,7 +19,10 @@ class Ripgrep(CargoPackage): license("MIT OR Unlicense") + version("14.1.1", sha256="4dad02a2f9c8c3c8d89434e47337aa654cb0e2aa50e806589132f186bf5c2b66") version("14.1.0", sha256="33c6169596a6bbfdc81415910008f26e0809422fda2d849562637996553b2ab6") version("14.0.3", sha256="f5794364ddfda1e0411ab6cad6dd63abe3a6b421d658d9fee017540ea4c31a0e") version("13.0.0", sha256="0fb17aaf285b3eee8ddab17b833af1e190d73de317ff9648751ab0660d763ed2") version("11.0.2", sha256="0983861279936ada8bc7a6d5d663d590ad34eb44a44c75c2d6ccd0ab33490055") + + depends_on("rust@1.72:", type="build", when="@14:") From c89c84770ff6fbd96c758df6dc9d3d7eddf62899 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Thu, 12 Sep 2024 10:25:04 -0700 Subject: [PATCH 28/47] restic: add v0.17.1 (#46351) --- var/spack/repos/builtin/packages/restic/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/restic/package.py b/var/spack/repos/builtin/packages/restic/package.py index eca1662df3fa82..342d614a042882 100644 --- a/var/spack/repos/builtin/packages/restic/package.py +++ b/var/spack/repos/builtin/packages/restic/package.py @@ -16,6 +16,7 @@ class Restic(Package): license("BSD-2-Clause") + version("0.17.1", sha256="cba3a5759690d11dae4b5620c44f56be17a5688e32c9856776db8a9a93d6d59a") version("0.16.4", sha256="d736a57972bb7ee3398cf6b45f30e5455d51266f5305987534b45a4ef505f965") version("0.16.3", sha256="a94d6c1feb0034fcff3e8b4f2d65c0678f906fc21a1cf2d435341f69e7e7af52") version("0.16.2", sha256="88165b5b89b6064df37a9964d660f40ac62db51d6536e459db9aaea6f2b2fc11") From 6d16d7ff830ae844ec916d943c56ee3a4f0181bb Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Thu, 12 Sep 2024 10:32:33 -0700 Subject: [PATCH 29/47] fd: add v10.2.0 (#46352) * fd: add v10.2.0 * fd: add rust build dependency constraint --- var/spack/repos/builtin/packages/fd/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/fd/package.py b/var/spack/repos/builtin/packages/fd/package.py index 4f4887c1a24ae9..3bfc475c33e1a6 100644 --- a/var/spack/repos/builtin/packages/fd/package.py +++ b/var/spack/repos/builtin/packages/fd/package.py @@ -16,8 +16,11 @@ class Fd(CargoPackage): license("Apache-2.0 OR MIT") + version("10.2.0", sha256="73329fe24c53f0ca47cd0939256ca5c4644742cb7c14cf4114c8c9871336d342") version("10.1.0", sha256="ee4b2403388344ff60125c79ff25b7895a170e7960f243ba2b5d51d2c3712d97") version("9.0.0", sha256="306d7662994e06e23d25587246fa3fb1f528579e42a84f5128e75feec635a370") version("8.7.0", sha256="13da15f3197d58a54768aaad0099c80ad2e9756dd1b0c7df68c413ad2d5238c9") version("8.4.0", sha256="d0c2fc7ddbe74e3fd88bf5bb02e0f69078ee6d2aeea3d8df42f508543c9db05d") version("7.4.0", sha256="33570ba65e7f8b438746cb92bb9bc4a6030b482a0d50db37c830c4e315877537") + + depends_on("rust@1.64:", type="build", when="@9:") From 1a17d0b535bd51f9fdb324ae37c30d36993cf235 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Thu, 12 Sep 2024 10:34:43 -0700 Subject: [PATCH 30/47] go: add v1.23.1 (#46354) --- var/spack/repos/builtin/packages/go/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/go/package.py b/var/spack/repos/builtin/packages/go/package.py index 05ef84c252ee39..bb073dccd12a12 100644 --- a/var/spack/repos/builtin/packages/go/package.py +++ b/var/spack/repos/builtin/packages/go/package.py @@ -41,6 +41,7 @@ class Go(Package): license("BSD-3-Clause") + version("1.23.1", sha256="6ee44e298379d146a5e5aa6b1c5b5d5f5d0a3365eabdd70741e6e21340ec3b0d") version("1.22.6", sha256="9e48d99d519882579917d8189c17e98c373ce25abaebb98772e2927088992a51") version("1.22.4", sha256="fed720678e728a7ca30ba8d1ded1caafe27d16028fab0232b8ba8e22008fb784") From a81baaa12e5ca22d1f802a38b52a9da7de266265 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Thu, 12 Sep 2024 11:48:43 -0700 Subject: [PATCH 31/47] emacs: add v29.4 (#46350) * emacs: add v29.4 * confirmed license * emacs: update git link for https clones --------- Co-authored-by: Wouter Deconinck --- .../repos/builtin/packages/emacs/package.py | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/var/spack/repos/builtin/packages/emacs/package.py b/var/spack/repos/builtin/packages/emacs/package.py index 738bfd649bae75..56200e29d935ff 100644 --- a/var/spack/repos/builtin/packages/emacs/package.py +++ b/var/spack/repos/builtin/packages/emacs/package.py @@ -13,14 +13,17 @@ class Emacs(AutotoolsPackage, GNUMirrorPackage): """The Emacs programmable text editor.""" homepage = "https://www.gnu.org/software/emacs" - git = "git://git.savannah.gnu.org/emacs.git" + git = "https://git.savannah.gnu.org/git/emacs.git" gnu_mirror_path = "emacs/emacs-24.5.tar.gz" + list_url = " https://ftpmirror.gnu.org/emacs/" + list_depth = 0 maintainers("alecbcs") - license("GPL-3.0-or-later") + license("GPL-3.0-or-later", checked_by="wdconinc") version("master", branch="master") + version("29.4", sha256="1adb1b9a2c6cdb316609b3e86b0ba1ceb523f8de540cfdda2aec95b6a5343abf") version("29.3", sha256="2de8df5cab8ac697c69a1c46690772b0cf58fe7529f1d1999582c67d927d22e4") version("29.2", sha256="ac8773eb17d8b3c0c4a3bccbb478f7c359266b458563f9a5e2c23c53c05e4e59") version("29.1", sha256="5b80e0475b0e619d2ad395ef5bc481b7cb9f13894ed23c301210572040e4b5b1") @@ -36,10 +39,11 @@ class Emacs(AutotoolsPackage, GNUMirrorPackage): version("25.1", sha256="763344b90db4d40e9fe90c5d14748a9dbd201ce544e2cf0835ab48a0aa4a1c67") version("24.5", sha256="2737a6622fb2d9982e9c47fb6f2fb297bda42674e09db40fc9bcc0db4297c3b6") - depends_on("c", type="build") # generated - depends_on("cxx", type="build") # generated - depends_on("fortran", type="build") # generated - + variant("gui", default=False, description="Enable GUI build on Mac") + variant("json", default=False, when="@27:", description="Build with json support") + variant("native", default=False, when="@28:", description="enable native compilation of elisp") + variant("tls", default=True, description="Build Emacs with gnutls") + variant("treesitter", default=False, when="@29:", description="Build with tree-sitter support") variant("X", default=False, description="Enable an X toolkit") variant( "toolkit", @@ -47,12 +51,8 @@ class Emacs(AutotoolsPackage, GNUMirrorPackage): values=("gtk", "athena"), description="Select an X toolkit (gtk, athena)", ) - variant("gui", default=False, description="Enable GUI build on Mac") - variant("tls", default=True, description="Build Emacs with gnutls") - variant("native", default=False, when="@28:", description="enable native compilation of elisp") - variant("treesitter", default=False, when="@29:", description="Build with tree-sitter support") - variant("json", default=False, when="@27:", description="Build with json support") + depends_on("c", type="build") depends_on("pkgconfig", type="build") depends_on("gzip", type="build") From d4bc1b8be2f239b5febc437ba7c71d34d535d674 Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Thu, 12 Sep 2024 15:00:20 -0400 Subject: [PATCH 32/47] py-httpx: added version 0.27.0 and 0.27.2 (#46311) * py-httpx: New version * [py-httpx] fix when for dependencies * [py-httpx] organized dependencies * [py-httpx] added version 0.27.2 --------- Co-authored-by: Alex C Leute --- .../builtin/packages/py-httpx/package.py | 56 +++++++++++-------- 1 file changed, 34 insertions(+), 22 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-httpx/package.py b/var/spack/repos/builtin/packages/py-httpx/package.py index 4da435bbd3cc1c..7ec617183517c2 100644 --- a/var/spack/repos/builtin/packages/py-httpx/package.py +++ b/var/spack/repos/builtin/packages/py-httpx/package.py @@ -11,10 +11,12 @@ class PyHttpx(PythonPackage): and async APIs, and support for both HTTP/1.1 and HTTP/2.""" homepage = "https://github.com/encode/httpx" - pypi = "httpx/httpx-0.15.2.tar.gz" + pypi = "httpx/httpx-0.27.0.tar.gz" license("BSD-3-Clause") + version("0.27.2", sha256="f7c2be1d2f3c3c3160d441802406b206c2b76f5947b11115e6df10c6c65e66c2") + version("0.27.0", sha256="a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5") version("0.23.3", sha256="9818458eb565bb54898ccb9b8b251a28785dd4a55afbc23d0eb410754fe7d0f9") version("0.22.0", sha256="d8e778f76d9bbd46af49e7f062467e3157a5a3d2ae4876a4bbfd8a51ed9c9cb4") version("0.15.2", sha256="713a2deaf96d85bbd4a1fbdf0edb27d6b4ee2c9aaeda8433042367e4b9e1628d") @@ -22,26 +24,36 @@ class PyHttpx(PythonPackage): variant("http2", default=False, when="@0.15.2:", description="Enable http2 support") + depends_on("python@3.8", when="@0.27:", type=("build", "run")) + depends_on("py-setuptools", when="@:0.22", type="build") depends_on("py-hatchling", when="@0.23:", type="build") depends_on("py-hatch-fancy-pypi-readme", when="@0.23:", type="build") - depends_on("py-certifi", type=("build", "run")) - depends_on("py-httpcore@0.15:0.16", when="@0.23:", type=("build", "run")) - depends_on("py-httpcore@0.14.5:0.14", type=("build", "run"), when="@0.22") - depends_on("py-httpcore@0.11.0:0.11", type=("build", "run"), when="@0.15.2") - depends_on("py-rfc3986+idna2008@1.3:1", type=("build", "run"), when="@0.15.2:") - depends_on("py-rfc3986@1.3:1", type=("build", "run"), when="@0.11.1") - depends_on("py-sniffio", type=("build", "run"), when="@0.15.2:") - depends_on("py-sniffio@1.0:1", type=("build", "run"), when="@0.11.1") - - depends_on("py-h2@3.0:4", type=("build", "run"), when="@0.22.0:+http2") - depends_on("py-h2@3.0:3", type=("build", "run"), when="@0.15.2+http2") - depends_on("py-h2@3.0:3", type=("build", "run"), when="@0.11.1") - - # Historical dependencies - depends_on("py-setuptools", when="@:0.22", type="build") - depends_on("py-charset-normalizer", type=("build", "run"), when="@0.22") - depends_on("py-hstspreload", type=("build", "run"), when="@0.11.1") - depends_on("py-chardet@3.0:3", type=("build", "run"), when="@0.11.1") - depends_on("py-h11@0.8:0.9", type=("build", "run"), when="@0.11.1") - depends_on("py-idna@2.0:2", type=("build", "run"), when="@0.11.1") - depends_on("py-urllib3@1.0:1", type=("build", "run"), when="@0.11.1") + + with default_args(type=("build", "run")): + depends_on("py-certifi") + + depends_on("py-httpcore@0.11.0:0.11", when="@0.15.2") + depends_on("py-httpcore@0.14.5:0.14", when="@0.22") + depends_on("py-httpcore@0.15:0.16", when="@0.23") + depends_on("py-httpcore@1", when="@0.27:") + + depends_on("py-anyio", when="@0.27:") + depends_on("py-idna", when="@0.27:") + + depends_on("py-sniffio@1.0:1", when="@0.11.1") + depends_on("py-sniffio", when="@0.15.2:") + + depends_on("py-h2@3.0:3", when="@0.11.1") + depends_on("py-h2@3.0:3", when="@0.15.2+http2") + depends_on("py-h2@3.0:4", when="@0.22.0:+http2") + + # Historical dependencies + depends_on("py-hstspreload", when="@0.11.1") + depends_on("py-chardet@3.0:3", when="@0.11.1") + depends_on("py-h11@0.8:0.9", when="@0.11.1") + depends_on("py-idna@2.0:2", when="@0.11.1") + depends_on("py-urllib3@1.0:1", when="@0.11.1") + depends_on("py-charset-normalizer", when="@0.22") + + depends_on("py-rfc3986@1.3:1", when="@0.11.1") + depends_on("py-rfc3986+idna2008@1.3:1", when="@0.15.2:2.23.3") From 94af1d2dfe88c41ef041402d80094bbce74ee0a6 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Thu, 12 Sep 2024 14:08:37 -0500 Subject: [PATCH 33/47] tl-expected: add v1.1.0; deprecated custom calver version (#46036) * tl-expected: add v1.1.0; deprecated calver version * tl-expected: fix url --- .../builtin/packages/tl-expected/package.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/var/spack/repos/builtin/packages/tl-expected/package.py b/var/spack/repos/builtin/packages/tl-expected/package.py index 0bd6107cfc9c93..bffc895b9e2615 100644 --- a/var/spack/repos/builtin/packages/tl-expected/package.py +++ b/var/spack/repos/builtin/packages/tl-expected/package.py @@ -10,18 +10,20 @@ class TlExpected(CMakePackage): """C++11/14/17 std::expected with functional-style extensions.""" homepage = "https://tl.tartanllama.xyz/en/latest/" - url = "https://github.com/TartanLlama/expected/archive/1.0.0.tar.gz" + url = "https://github.com/TartanLlama/expected/archive/refs/tags/v1.0.0.tar.gz" git = "https://github.com/TartanLlama/expected.git" maintainers("charmoniumQ") - license("CC0-1.0") + license("CC0-1.0", checked_by="wdconinc") - # Note that the 1.0.0 has this issue: - # https://github.com/TartanLlama/expected/issues/114 - # But no new patch version has been released, - # so I will use the latest commit at the time of writing: - version("2022-11-24", commit="b74fecd4448a1a5549402d17ddc51e39faa5020c") + version("1.1.0", sha256="1db357f46dd2b24447156aaf970c4c40a793ef12a8a9c2ad9e096d9801368df6") + with default_args(deprecated=True): + # Note that the 1.0.0 has this issue: + # https://github.com/TartanLlama/expected/issues/114 + # But no new patch version has been released, + # so I will use the latest commit at the time of writing: + version("2022-11-24", commit="b74fecd4448a1a5549402d17ddc51e39faa5020c") version("1.0.0", sha256="8f5124085a124113e75e3890b4e923e3a4de5b26a973b891b3deb40e19c03cee") - depends_on("cxx", type="build") # generated + depends_on("cxx", type="build") From 6051d56014730528da8dfa69934d93f9b7941a70 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Thu, 12 Sep 2024 15:46:08 -0500 Subject: [PATCH 34/47] fastjet: avoid plugins=all,cxx combinations (#46276) * fastjet: avoid plugins=all,cxx combinations * fastjet: depends_on fortran when plugins=all or plugins=pxcone --- var/spack/repos/builtin/packages/fastjet/package.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/var/spack/repos/builtin/packages/fastjet/package.py b/var/spack/repos/builtin/packages/fastjet/package.py index e5b83176a7d454..c2738a3bbf0cd5 100644 --- a/var/spack/repos/builtin/packages/fastjet/package.py +++ b/var/spack/repos/builtin/packages/fastjet/package.py @@ -58,11 +58,12 @@ class Fastjet(AutotoolsPackage): version("2.3.2", sha256="ba8b17fcc8edae16faa74608e8da53e87a8c574aa21a28c985ea0dfedcb95210") version("2.3.1", sha256="16c32b420e1aa7d0b6fecddd980ea0f2b7e3c2c66585e06f0eb3142677ab6ccf") version("2.3.0", sha256="e452fe4a9716627bcdb726cfb0917f46a7ac31f6006330a6ccc1abc43d9c2d53") - - depends_on("cxx", type="build") # generated - depends_on("fortran", type="build") # generated # older version use .tar instead of .tar.gz extension, to be added + depends_on("cxx", type="build") + depends_on("fortran", type="build", when="plugins=all") + depends_on("fortran", type="build", when="plugins=pxcone") + variant("shared", default=True, description="Builds a shared version of the library") variant("auto-ptr", default=False, description="Use auto_ptr") variant( @@ -99,9 +100,9 @@ class Fastjet(AutotoolsPackage): ) variant( "plugins", - multi=True, - values=("all", "cxx") + available_plugins, - default="all", + values=disjoint_sets(("all",), ("cxx",), available_plugins) + .prohibit_empty_set() + .with_default("all"), description="List of plugins to enable, or 'cxx' or 'all'", ) From 79d938fb1f76679b19cbe9b76e58036eda52b074 Mon Sep 17 00:00:00 2001 From: James Smillie <83249606+jamessmillie@users.noreply.github.com> Date: Thu, 12 Sep 2024 15:40:30 -0600 Subject: [PATCH 35/47] py-pip package: fix bootstrap for Python 3.12+ on Windows (#46332) --- var/spack/repos/builtin/packages/py-pip/package.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/py-pip/package.py b/var/spack/repos/builtin/packages/py-pip/package.py index 111e50911b87b1..8d7dd6561c5631 100644 --- a/var/spack/repos/builtin/packages/py-pip/package.py +++ b/var/spack/repos/builtin/packages/py-pip/package.py @@ -48,11 +48,20 @@ class PyPip(Package, PythonExtension): name="pip-bootstrap", url="https://bootstrap.pypa.io/pip/zipapp/pip-22.3.1.pyz", checksum="c9363c70ad91d463f9492a8a2c89f60068f86b0239bd2a6aa77367aab5fefb3e", - when="platform=windows", + when="platform=windows ^python@:3.11", placement={"pip-22.3.1.pyz": "pip.pyz"}, expand=False, ) + resource( + name="pip-bootstrap", + url="https://bootstrap.pypa.io/pip/zipapp/pip-23.1.pyz", + checksum="d9f2fe58c472f9107964df35954f8b74e68c307497a12364b00dc28f36f96816", + when="platform=windows ^python@3.12:", + placement={"pip-23.1.pyz": "pip.pyz"}, + expand=False, + ) + def url_for_version(self, version): url = "https://files.pythonhosted.org/packages/{0}/p/pip/pip-{1}-{0}-none-any.whl" if version >= Version("21"): From 2277052a6be6dedf03de63121db332ced3135394 Mon Sep 17 00:00:00 2001 From: eugeneswalker <38933153+eugeneswalker@users.noreply.github.com> Date: Thu, 12 Sep 2024 17:51:19 -0700 Subject: [PATCH 36/47] e4s rocm external ci stack: upgrade to rocm v6.2.0 (#46328) * e4s rocm external ci stack: upgrade to rocm v6.2.0 * magma: add rocm 6.2.0 --- .../gitlab/cloud_pipelines/.gitlab-ci.yml | 2 +- .../stacks/e4s-rocm-external/spack.yaml | 150 +++++++++--------- .../repos/builtin/packages/magma/package.py | 1 + 3 files changed, 77 insertions(+), 76 deletions(-) diff --git a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml index e50d06919862df..9bee896586eb90 100644 --- a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml +++ b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml @@ -376,7 +376,7 @@ e4s-neoverse_v1-build: e4s-rocm-external-generate: extends: [ ".e4s-rocm-external", ".generate-x86_64"] - image: ecpe4s/ubuntu22.04-runner-amd64-gcc-11.4-rocm6.1.2:2024.07.22 + image: ecpe4s/ubuntu22.04-runner-amd64-gcc-11.4-rocm6.2.0:2024.09.11 e4s-rocm-external-build: extends: [ ".e4s-rocm-external", ".build" ] diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml index 6344a725c3e754..f3391b7337ad72 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml @@ -27,186 +27,186 @@ spack: comgr: buildable: false externals: - - spec: comgr@6.1.2 - prefix: /opt/rocm-6.1.2/ + - spec: comgr@6.2.0 + prefix: /opt/rocm-6.2.0/ hip-rocclr: buildable: false externals: - - spec: hip-rocclr@6.1.2 - prefix: /opt/rocm-6.1.2/hip + - spec: hip-rocclr@6.2.0 + prefix: /opt/rocm-6.2.0/hip hipblas: buildable: false externals: - - spec: hipblas@6.1.2 - prefix: /opt/rocm-6.1.2/ + - spec: hipblas@6.2.0 + prefix: /opt/rocm-6.2.0/ hipcub: buildable: false externals: - - spec: hipcub@6.1.2 - prefix: /opt/rocm-6.1.2/ + - spec: hipcub@6.2.0 + prefix: /opt/rocm-6.2.0/ hipfft: buildable: false externals: - - spec: hipfft@6.1.2 - prefix: /opt/rocm-6.1.2/ + - spec: hipfft@6.2.0 + prefix: /opt/rocm-6.2.0/ hipsparse: buildable: false externals: - - spec: hipsparse@6.1.2 - prefix: /opt/rocm-6.1.2/ + - spec: hipsparse@6.2.0 + prefix: /opt/rocm-6.2.0/ miopen-hip: buildable: false externals: - - spec: miopen-hip@6.1.2 - prefix: /opt/rocm-6.1.2/ + - spec: miopen-hip@6.2.0 + prefix: /opt/rocm-6.2.0/ miopengemm: buildable: false externals: - - spec: miopengemm@6.1.2 - prefix: /opt/rocm-6.1.2/ + - spec: miopengemm@6.2.0 + prefix: /opt/rocm-6.2.0/ rccl: buildable: false externals: - - spec: rccl@6.1.2 - prefix: /opt/rocm-6.1.2/ + - spec: rccl@6.2.0 + prefix: /opt/rocm-6.2.0/ rocblas: buildable: false externals: - - spec: rocblas@6.1.2 - prefix: /opt/rocm-6.1.2/ + - spec: rocblas@6.2.0 + prefix: /opt/rocm-6.2.0/ rocfft: buildable: false externals: - - spec: rocfft@6.1.2 - prefix: /opt/rocm-6.1.2/ + - spec: rocfft@6.2.0 + prefix: /opt/rocm-6.2.0/ rocm-clang-ocl: buildable: false externals: - - spec: rocm-clang-ocl@6.1.2 - prefix: /opt/rocm-6.1.2/ + - spec: rocm-clang-ocl@6.2.0 + prefix: /opt/rocm-6.2.0/ rocm-cmake: buildable: false externals: - - spec: rocm-cmake@6.1.2 - prefix: /opt/rocm-6.1.2/ + - spec: rocm-cmake@6.2.0 + prefix: /opt/rocm-6.2.0/ rocm-dbgapi: buildable: false externals: - - spec: rocm-dbgapi@6.1.2 - prefix: /opt/rocm-6.1.2/ + - spec: rocm-dbgapi@6.2.0 + prefix: /opt/rocm-6.2.0/ rocm-debug-agent: buildable: false externals: - - spec: rocm-debug-agent@6.1.2 - prefix: /opt/rocm-6.1.2/ + - spec: rocm-debug-agent@6.2.0 + prefix: /opt/rocm-6.2.0/ rocm-device-libs: buildable: false externals: - - spec: rocm-device-libs@6.1.2 - prefix: /opt/rocm-6.1.2/ + - spec: rocm-device-libs@6.2.0 + prefix: /opt/rocm-6.2.0/ rocm-gdb: buildable: false externals: - - spec: rocm-gdb@6.1.2 - prefix: /opt/rocm-6.1.2/ + - spec: rocm-gdb@6.2.0 + prefix: /opt/rocm-6.2.0/ rocm-opencl: buildable: false externals: - - spec: rocm-opencl@6.1.2 - prefix: /opt/rocm-6.1.2/opencl + - spec: rocm-opencl@6.2.0 + prefix: /opt/rocm-6.2.0/opencl rocm-smi-lib: buildable: false externals: - - spec: rocm-smi-lib@6.1.2 - prefix: /opt/rocm-6.1.2/ + - spec: rocm-smi-lib@6.2.0 + prefix: /opt/rocm-6.2.0/ hip: buildable: false externals: - - spec: hip@6.1.2 - prefix: /opt/rocm-6.1.2 + - spec: hip@6.2.0 + prefix: /opt/rocm-6.2.0 extra_attributes: compilers: - c: /opt/rocm-6.1.2/llvm/bin/clang++ - c++: /opt/rocm-6.1.2/llvm/bin/clang++ - hip: /opt/rocm-6.1.2/hip/bin/hipcc + c: /opt/rocm-6.2.0/llvm/bin/clang++ + c++: /opt/rocm-6.2.0/llvm/bin/clang++ + hip: /opt/rocm-6.2.0/hip/bin/hipcc hipify-clang: buildable: false externals: - - spec: hipify-clang@6.1.2 - prefix: /opt/rocm-6.1.2 + - spec: hipify-clang@6.2.0 + prefix: /opt/rocm-6.2.0 llvm-amdgpu: buildable: false externals: - - spec: llvm-amdgpu@6.1.2 - prefix: /opt/rocm-6.1.2/llvm + - spec: llvm-amdgpu@6.2.0 + prefix: /opt/rocm-6.2.0/llvm extra_attributes: compilers: - c: /opt/rocm-6.1.2/llvm/bin/clang++ - cxx: /opt/rocm-6.1.2/llvm/bin/clang++ + c: /opt/rocm-6.2.0/llvm/bin/clang++ + cxx: /opt/rocm-6.2.0/llvm/bin/clang++ hsakmt-roct: buildable: false externals: - - spec: hsakmt-roct@6.1.2 - prefix: /opt/rocm-6.1.2/ + - spec: hsakmt-roct@6.2.0 + prefix: /opt/rocm-6.2.0/ hsa-rocr-dev: buildable: false externals: - - spec: hsa-rocr-dev@6.1.2 - prefix: /opt/rocm-6.1.2/ + - spec: hsa-rocr-dev@6.2.0 + prefix: /opt/rocm-6.2.0/ extra_atributes: compilers: - c: /opt/rocm-6.1.2/llvm/bin/clang++ - cxx: /opt/rocm-6.1.2/llvm/bin/clang++ + c: /opt/rocm-6.2.0/llvm/bin/clang++ + cxx: /opt/rocm-6.2.0/llvm/bin/clang++ roctracer-dev-api: buildable: false externals: - - spec: roctracer-dev-api@6.1.2 - prefix: /opt/rocm-6.1.2 + - spec: roctracer-dev-api@6.2.0 + prefix: /opt/rocm-6.2.0 roctracer-dev: buildable: false externals: - spec: roctracer-dev@4.5.3 - prefix: /opt/rocm-6.1.2 + prefix: /opt/rocm-6.2.0 rocprim: buildable: false externals: - - spec: rocprim@6.1.2 - prefix: /opt/rocm-6.1.2 + - spec: rocprim@6.2.0 + prefix: /opt/rocm-6.2.0 rocrand: buildable: false externals: - - spec: rocrand@6.1.2 - prefix: /opt/rocm-6.1.2 + - spec: rocrand@6.2.0 + prefix: /opt/rocm-6.2.0 hipsolver: buildable: false externals: - - spec: hipsolver@6.1.2 - prefix: /opt/rocm-6.1.2 + - spec: hipsolver@6.2.0 + prefix: /opt/rocm-6.2.0 rocsolver: buildable: false externals: - - spec: rocsolver@6.1.2 - prefix: /opt/rocm-6.1.2 + - spec: rocsolver@6.2.0 + prefix: /opt/rocm-6.2.0 rocsparse: buildable: false externals: - - spec: rocsparse@6.1.2 - prefix: /opt/rocm-6.1.2 + - spec: rocsparse@6.2.0 + prefix: /opt/rocm-6.2.0 rocthrust: buildable: false externals: - - spec: rocthrust@6.1.2 - prefix: /opt/rocm-6.1.2 + - spec: rocthrust@6.2.0 + prefix: /opt/rocm-6.2.0 rocprofiler-dev: buildable: false externals: - - spec: rocprofiler-dev@6.1.2 - prefix: /opt/rocm-6.1.2 + - spec: rocprofiler-dev@6.2.0 + prefix: /opt/rocm-6.2.0 rocm-core: buildable: false externals: - - spec: rocm-core@6.1.2 - prefix: /opt/rocm-6.1.2 + - spec: rocm-core@6.2.0 + prefix: /opt/rocm-6.2.0 specs: # ROCM NOARCH @@ -302,7 +302,7 @@ spack: ci: pipeline-gen: - build-job: - image: ecpe4s/ubuntu22.04-runner-amd64-gcc-11.4-rocm6.1.2:2024.07.22 + image: ecpe4s/ubuntu22.04-runner-amd64-gcc-11.4-rocm6.2.0:2024.09.11 cdash: build-group: E4S ROCm External diff --git a/var/spack/repos/builtin/packages/magma/package.py b/var/spack/repos/builtin/packages/magma/package.py index 6e91a051443d5b..86be7b09d97db6 100644 --- a/var/spack/repos/builtin/packages/magma/package.py +++ b/var/spack/repos/builtin/packages/magma/package.py @@ -66,6 +66,7 @@ class Magma(CMakePackage, CudaPackage, ROCmPackage): "6.1.0", "6.1.1", "6.1.2", + "6.2.0", ]: depends_on(f"rocm-core@{ver}", when=f"@2.8.0: +rocm ^hip@{ver}") depends_on("python", when="@master", type="build") From 668aba15a0d6fe28d8a39ea7b0f6b13b42d27450 Mon Sep 17 00:00:00 2001 From: Joseph Wang Date: Fri, 13 Sep 2024 15:56:26 +0800 Subject: [PATCH 37/47] py-pycontour: add dev/fixes (#46290) --- var/spack/repos/builtin/packages/py-contourpy/package.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-contourpy/package.py b/var/spack/repos/builtin/packages/py-contourpy/package.py index 4020cbf679bf2c..9bd134913f6db7 100644 --- a/var/spack/repos/builtin/packages/py-contourpy/package.py +++ b/var/spack/repos/builtin/packages/py-contourpy/package.py @@ -23,8 +23,9 @@ class PyContourpy(PythonPackage): with default_args(type="build"): depends_on("meson@1.2:") depends_on("py-meson-python@0.13.1:") - depends_on("py-pybind11@2.13.1:", when="@1.3:") - depends_on("py-pybind11@2.6:") + with default_args(type=("build", "link")): + depends_on("py-pybind11@2.13.1:", when="@1.3:") + depends_on("py-pybind11@2.6:") # Historical dependencies depends_on("py-setuptools@42:", when="@:1.0") From 71df434d1fdf719dd781b1c7d48f4e9b4bf8da7d Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 13 Sep 2024 11:16:36 +0200 Subject: [PATCH 38/47] remove self-import cycles (#46371) --- lib/spack/spack/container/writers/__init__.py | 5 ++--- lib/spack/spack/mirror.py | 1 - lib/spack/spack/modules/common.py | 3 +-- lib/spack/spack/stage.py | 5 ++--- 4 files changed, 5 insertions(+), 9 deletions(-) diff --git a/lib/spack/spack/container/writers/__init__.py b/lib/spack/spack/container/writers/__init__.py index cf186b57645cd1..eabc25d2187133 100644 --- a/lib/spack/spack/container/writers/__init__.py +++ b/lib/spack/spack/container/writers/__init__.py @@ -308,8 +308,7 @@ def __call__(self): return t.render(**self.to_dict()) -import spack.container.writers.docker # noqa: E402 - # Import after function definition all the modules in this package, # so that registration of writers will happen automatically -import spack.container.writers.singularity # noqa: E402 +from . import docker # noqa: F401 E402 +from . import singularity # noqa: F401 E402 diff --git a/lib/spack/spack/mirror.py b/lib/spack/spack/mirror.py index 8caa27213735a4..02ddeae42a9f27 100644 --- a/lib/spack/spack/mirror.py +++ b/lib/spack/spack/mirror.py @@ -29,7 +29,6 @@ import spack.config import spack.error import spack.fetch_strategy -import spack.mirror import spack.oci.image import spack.repo import spack.spec diff --git a/lib/spack/spack/modules/common.py b/lib/spack/spack/modules/common.py index 5e46ca4c6c3a85..e4f7a197f3386c 100644 --- a/lib/spack/spack/modules/common.py +++ b/lib/spack/spack/modules/common.py @@ -46,7 +46,6 @@ import spack.deptypes as dt import spack.environment import spack.error -import spack.modules.common import spack.paths import spack.projections as proj import spack.repo @@ -352,7 +351,7 @@ def get_module(module_type, spec, get_full_path, module_set_name="default", requ except spack.repo.UnknownPackageError: upstream, record = spack.store.STORE.db.query_by_spec_hash(spec.dag_hash()) if upstream: - module = spack.modules.common.upstream_module_index.upstream_module(spec, module_type) + module = upstream_module_index.upstream_module(spec, module_type) if not module: return None diff --git a/lib/spack/spack/stage.py b/lib/spack/spack/stage.py index 752ac42e4ec8d5..a8e945e7485dc5 100644 --- a/lib/spack/spack/stage.py +++ b/lib/spack/spack/stage.py @@ -39,7 +39,6 @@ import spack.paths import spack.resource import spack.spec -import spack.stage import spack.util.crypto import spack.util.lock import spack.util.path as sup @@ -981,8 +980,8 @@ def interactive_version_filter( data = buffer.getvalue().encode("utf-8") short_hash = hashlib.sha1(data).hexdigest()[:7] - filename = f"{spack.stage.stage_prefix}versions-{short_hash}.txt" - filepath = os.path.join(spack.stage.get_stage_root(), filename) + filename = f"{stage_prefix}versions-{short_hash}.txt" + filepath = os.path.join(get_stage_root(), filename) # Write contents with open(filepath, "wb") as f: From a85afb829e70616585e7ae94ba90a85e6a70ae15 Mon Sep 17 00:00:00 2001 From: David Collins Date: Fri, 13 Sep 2024 03:54:56 -0600 Subject: [PATCH 39/47] bash: use libc malloc on musl instead of internal malloc (#46370) --- var/spack/repos/builtin/packages/bash/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/bash/package.py b/var/spack/repos/builtin/packages/bash/package.py index 3e520521062ef6..1aa02c1f7a56fb 100644 --- a/var/spack/repos/builtin/packages/bash/package.py +++ b/var/spack/repos/builtin/packages/bash/package.py @@ -203,6 +203,9 @@ def configure_args(self): args.append(f"--with-libiconv-prefix={spec['iconv'].prefix}") else: args.append("--without-libiconv-prefix") + # bash malloc relies on sbrk which fails intentionally in musl + if spec.satisfies("^[virtuals=libc] musl"): + options.append("--without-bash-malloc") return args def check(self): From a798f40d0405c92d6e9a1c933be12b4e9903a775 Mon Sep 17 00:00:00 2001 From: Juan Miguel Carceller <22276694+jmcarcell@users.noreply.github.com> Date: Fri, 13 Sep 2024 12:14:03 +0200 Subject: [PATCH 40/47] zziplib: add v0.13.78 (#46361) Co-authored-by: jmcarcell --- var/spack/repos/builtin/packages/zziplib/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/zziplib/package.py b/var/spack/repos/builtin/packages/zziplib/package.py index fbccabdc7de1f4..d91c0cf2ce07b2 100644 --- a/var/spack/repos/builtin/packages/zziplib/package.py +++ b/var/spack/repos/builtin/packages/zziplib/package.py @@ -17,6 +17,7 @@ class Zziplib(AutotoolsPackage, CMakePackage): homepage = "https://github.com/gdraheim/zziplib" url = "https://github.com/gdraheim/zziplib/archive/v0.13.69.tar.gz" + version("0.13.78", sha256="feaeee7c34f18aa27bd3da643cc6a47d04d2c41753a59369d09102d79b9b0a31") version("0.13.72", sha256="93ef44bf1f1ea24fc66080426a469df82fa631d13ca3b2e4abaeab89538518dc") version("0.13.69", sha256="846246d7cdeee405d8d21e2922c6e97f55f24ecbe3b6dcf5778073a88f120544") From ef35811f39e85774d644472795f0af982c09a8ac Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Fri, 13 Sep 2024 05:40:34 -0500 Subject: [PATCH 41/47] nasm: add v2.16.03 (#46357) * nasm: add v2.16.03 * nasm: don't need 2.16.02 --- var/spack/repos/builtin/packages/nasm/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/nasm/package.py b/var/spack/repos/builtin/packages/nasm/package.py index a9861e96cedb7a..c2dbee285ff3bc 100644 --- a/var/spack/repos/builtin/packages/nasm/package.py +++ b/var/spack/repos/builtin/packages/nasm/package.py @@ -22,6 +22,7 @@ class Nasm(AutotoolsPackage, Package): license("BSD-2-Clause") + version("2.16.03", sha256="5bc940dd8a4245686976a8f7e96ba9340a0915f2d5b88356874890e207bdb581") version("2.15.05", sha256="9182a118244b058651c576baa9d0366ee05983c4d4ae1d9ddd3236a9f2304997") version("2.14.02", sha256="b34bae344a3f2ed93b2ca7bf25f1ed3fb12da89eeda6096e3551fd66adeae9fc") version("2.13.03", sha256="23e1b679d64024863e2991e5c166e19309f0fe58a9765622b35bd31be5b2cc99") From 7573ea2ae5d0e772b82263d5543ab0f9551dfb35 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 13 Sep 2024 13:21:58 +0200 Subject: [PATCH 42/47] audit: deprecate certain globals (#44895) --- lib/spack/spack/audit.py | 88 +++++++++++++++++++++++++++++++++++- lib/spack/spack/cmd/audit.py | 14 ++---- 2 files changed, 92 insertions(+), 10 deletions(-) diff --git a/lib/spack/spack/audit.py b/lib/spack/spack/audit.py index 28b7727e5ec2f8..14fe7a5f33a43d 100644 --- a/lib/spack/spack/audit.py +++ b/lib/spack/spack/audit.py @@ -46,12 +46,14 @@ def _search_duplicate_compilers(error_cls): import pickle import re import warnings +from typing import Iterable, List, Set, Tuple from urllib.request import urlopen import llnl.util.lang import spack.config import spack.patch +import spack.paths import spack.repo import spack.spec import spack.util.crypto @@ -73,7 +75,9 @@ def __init__(self, summary, details): self.details = tuple(details) def __str__(self): - return self.summary + "\n" + "\n".join([" " + detail for detail in self.details]) + if self.details: + return f"{self.summary}\n" + "\n".join(f" {detail}" for detail in self.details) + return self.summary def __eq__(self, other): if self.summary != other.summary or self.details != other.details: @@ -679,6 +683,88 @@ def _ensure_env_methods_are_ported_to_builders(pkgs, error_cls): return errors +class DeprecatedMagicGlobals(ast.NodeVisitor): + def __init__(self, magic_globals: Iterable[str]): + super().__init__() + + self.magic_globals: Set[str] = set(magic_globals) + + # State to track whether we're in a class function + self.depth: int = 0 + self.in_function: bool = False + self.path = (ast.Module, ast.ClassDef, ast.FunctionDef) + + # Defined locals in the current function (heuristically at least) + self.locals: Set[str] = set() + + # List of (name, lineno) tuples for references to magic globals + self.references_to_globals: List[Tuple[str, int]] = [] + + def descend_in_function_def(self, node: ast.AST) -> None: + if not isinstance(node, self.path[self.depth]): + return + self.depth += 1 + if self.depth == len(self.path): + self.in_function = True + super().generic_visit(node) + if self.depth == len(self.path): + self.in_function = False + self.locals.clear() + self.depth -= 1 + + def generic_visit(self, node: ast.AST) -> None: + # Recurse into function definitions + if self.depth < len(self.path): + return self.descend_in_function_def(node) + elif not self.in_function: + return + elif isinstance(node, ast.Global): + for name in node.names: + if name in self.magic_globals: + self.references_to_globals.append((name, node.lineno)) + elif isinstance(node, ast.Assign): + # visit the rhs before lhs + super().visit(node.value) + for target in node.targets: + super().visit(target) + elif isinstance(node, ast.Name) and node.id in self.magic_globals: + if isinstance(node.ctx, ast.Load) and node.id not in self.locals: + self.references_to_globals.append((node.id, node.lineno)) + elif isinstance(node.ctx, ast.Store): + self.locals.add(node.id) + else: + super().generic_visit(node) + + +@package_properties +def _uses_deprecated_globals(pkgs, error_cls): + """Ensure that packages do not use deprecated globals""" + errors = [] + + for pkg_name in pkgs: + # some packages scheduled to be removed in v0.23 are not worth fixing. + pkg_cls = spack.repo.PATH.get_pkg_class(pkg_name) + if all(v.get("deprecated", False) for v in pkg_cls.versions.values()): + continue + + file = spack.repo.PATH.filename_for_package_name(pkg_name) + tree = ast.parse(open(file).read()) + visitor = DeprecatedMagicGlobals(("std_cmake_args",)) + visitor.visit(tree) + if visitor.references_to_globals: + errors.append( + error_cls( + f"Package '{pkg_name}' uses deprecated globals", + [ + f"{file}:{line} references '{name}'" + for name, line in visitor.references_to_globals + ], + ) + ) + + return errors + + @package_https_directives def _linting_package_file(pkgs, error_cls): """Check for correctness of links""" diff --git a/lib/spack/spack/cmd/audit.py b/lib/spack/spack/cmd/audit.py index 77bbbc5d82b7d4..e5512d9a903662 100644 --- a/lib/spack/spack/cmd/audit.py +++ b/lib/spack/spack/cmd/audit.py @@ -115,15 +115,11 @@ def audit(parser, args): def _process_reports(reports): for check, errors in reports: if errors: - msg = "{0}: {1} issue{2} found".format( - check, len(errors), "" if len(errors) == 1 else "s" - ) - header = "@*b{" + msg + "}" - print(cl.colorize(header)) + status = f"{len(errors)} issue{'' if len(errors) == 1 else 's'} found" + print(cl.colorize(f"{check}: @*r{{{status}}}")) + numdigits = len(str(len(errors))) for idx, error in enumerate(errors): - print(str(idx + 1) + ". " + str(error)) + print(f"{idx + 1:>{numdigits}}. {error}") raise SystemExit(1) else: - msg = "{0}: 0 issues found.".format(check) - header = "@*b{" + msg + "}" - print(cl.colorize(header)) + print(cl.colorize(f"{check}: @*g{{passed}}")) From e3c5d5817b02d91cdfacf0c2e939851956f5179a Mon Sep 17 00:00:00 2001 From: jeffmauldin Date: Fri, 13 Sep 2024 05:36:49 -0600 Subject: [PATCH 43/47] Seacas add libcatalyst variant 2 (#46339) * Update seacas package.py Adding libcatalyst variant to seacas package When seacas is installed with "seacas +libcatalyst" then a dependency on the spack package "libcatalyst" (which is catalyst api 2 from kitware) is added, and the appropriage cmake variable for the catalyst TPL is set. The mpi variant option in catalyst (i.e. build with mpi or build without mpi) is passed on to libcatalyst. The default of the libcatalyst variant is false/off, so if seacas is installed without the "+libcatalyst" in the spec it will behave exactly as it did before the introduction of this variant. * shortened line 202 to comply with < 100 characters per line style requirement --- var/spack/repos/builtin/packages/seacas/package.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/var/spack/repos/builtin/packages/seacas/package.py b/var/spack/repos/builtin/packages/seacas/package.py index 7bcdc2173661ed..a222024541934b 100644 --- a/var/spack/repos/builtin/packages/seacas/package.py +++ b/var/spack/repos/builtin/packages/seacas/package.py @@ -196,6 +196,11 @@ class Seacas(CMakePackage): default=False, description="Enable Faodel. See https://github.com/sandialabs/faodel", ) + variant( + "libcatalyst", + default=False, + description="Enable libcatalyst tpl (catalyst api 2); Kitware insitu library", + ) variant( "matio", default=True, @@ -262,6 +267,10 @@ class Seacas(CMakePackage): depends_on("catch2@3:", when="@2024-03-11:+tests") depends_on("matio", when="+matio") + + depends_on("libcatalyst+mpi~python", when="+libcatalyst+mpi") + depends_on("libcatalyst~mpi~python", when="+libcatalyst~mpi") + depends_on("libx11", when="+x11") with when("+cgns"): @@ -481,6 +490,9 @@ def cmake_args(self): if "+adios2" in spec: options.append(define("ADIOS2_ROOT", spec["adios2"].prefix)) + if "+libcatalyst" in spec: + options.append(define("TPL_ENABLE_Catalyst2", "ON")) + # ################# RPath Handling ###################### if sys.platform == "darwin" and macos_version() >= Version("10.12"): # use @rpath on Sierra due to limit of dynamic loader From 4fe417b6203b9d31d2d52085aa10eaead0eaf23a Mon Sep 17 00:00:00 2001 From: Kyle Knoepfel Date: Fri, 13 Sep 2024 08:08:58 -0500 Subject: [PATCH 44/47] Optionally output package namespace (#46359) --- lib/spack/spack/cmd/info.py | 11 +++++++++++ share/spack/spack-completion.bash | 2 +- share/spack/spack-completion.fish | 4 +++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/spack/spack/cmd/info.py b/lib/spack/spack/cmd/info.py index c5d776212b8bf1..a57667705287ab 100644 --- a/lib/spack/spack/cmd/info.py +++ b/lib/spack/spack/cmd/info.py @@ -48,6 +48,7 @@ def setup_parser(subparser): options = [ ("--detectable", print_detectable.__doc__), ("--maintainers", print_maintainers.__doc__), + ("--namespace", print_namespace.__doc__), ("--no-dependencies", "do not " + print_dependencies.__doc__), ("--no-variants", "do not " + print_variants.__doc__), ("--no-versions", "do not " + print_versions.__doc__), @@ -189,6 +190,15 @@ def print_maintainers(pkg, args): color.cprint(section_title("Maintainers: ") + mnt) +def print_namespace(pkg, args): + """output package namespace""" + + repo = spack.repo.PATH.get_repo(pkg.namespace) + color.cprint("") + color.cprint(section_title("Namespace:")) + color.cprint(f" @c{{{repo.namespace}}} at {repo.root}") + + def print_phases(pkg, args): """output installation phases""" @@ -522,6 +532,7 @@ def info(parser, args): # Now output optional information in expected order sections = [ (args.all or args.maintainers, print_maintainers), + (args.all or args.namespace, print_namespace), (args.all or args.detectable, print_detectable), (args.all or args.tags, print_tags), (args.all or not args.no_versions, print_versions), diff --git a/share/spack/spack-completion.bash b/share/spack/spack-completion.bash index 079f021706d9c9..7546c6ade69012 100644 --- a/share/spack/spack-completion.bash +++ b/share/spack/spack-completion.bash @@ -1299,7 +1299,7 @@ _spack_help() { _spack_info() { if $list_options then - SPACK_COMPREPLY="-h --help -a --all --detectable --maintainers --no-dependencies --no-variants --no-versions --phases --tags --tests --virtuals --variants-by-name" + SPACK_COMPREPLY="-h --help -a --all --detectable --maintainers --namespace --no-dependencies --no-variants --no-versions --phases --tags --tests --virtuals --variants-by-name" else _all_packages fi diff --git a/share/spack/spack-completion.fish b/share/spack/spack-completion.fish index 0a20a82d57ce24..43616c2fae802d 100644 --- a/share/spack/spack-completion.fish +++ b/share/spack/spack-completion.fish @@ -1954,7 +1954,7 @@ complete -c spack -n '__fish_spack_using_command help' -l spec -f -a guide complete -c spack -n '__fish_spack_using_command help' -l spec -d 'help on the package specification syntax' # spack info -set -g __fish_spack_optspecs_spack_info h/help a/all detectable maintainers no-dependencies no-variants no-versions phases tags tests virtuals variants-by-name +set -g __fish_spack_optspecs_spack_info h/help a/all detectable maintainers namespace no-dependencies no-variants no-versions phases tags tests virtuals variants-by-name complete -c spack -n '__fish_spack_using_command_pos 0 info' -f -a '(__fish_spack_packages)' complete -c spack -n '__fish_spack_using_command info' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command info' -s h -l help -d 'show this help message and exit' @@ -1964,6 +1964,8 @@ complete -c spack -n '__fish_spack_using_command info' -l detectable -f -a detec complete -c spack -n '__fish_spack_using_command info' -l detectable -d 'output information on external detection' complete -c spack -n '__fish_spack_using_command info' -l maintainers -f -a maintainers complete -c spack -n '__fish_spack_using_command info' -l maintainers -d 'output package maintainers' +complete -c spack -n '__fish_spack_using_command info' -l namespace -f -a namespace +complete -c spack -n '__fish_spack_using_command info' -l namespace -d 'output package namespace' complete -c spack -n '__fish_spack_using_command info' -l no-dependencies -f -a no_dependencies complete -c spack -n '__fish_spack_using_command info' -l no-dependencies -d 'do not output build, link, and run package dependencies' complete -c spack -n '__fish_spack_using_command info' -l no-variants -f -a no_variants From d04358c36990b049cab684681c4132b019735c3f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Sep 2024 08:15:21 -0500 Subject: [PATCH 45/47] build(deps): bump urllib3 from 2.2.2 to 2.2.3 in /lib/spack/docs (#46368) Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.2.2 to 2.2.3. - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst) - [Commits](https://github.com/urllib3/urllib3/compare/2.2.2...2.2.3) --- updated-dependencies: - dependency-name: urllib3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lib/spack/docs/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/spack/docs/requirements.txt b/lib/spack/docs/requirements.txt index 5fbd59cdd99977..cb766413d951c3 100644 --- a/lib/spack/docs/requirements.txt +++ b/lib/spack/docs/requirements.txt @@ -5,7 +5,7 @@ sphinx-rtd-theme==2.0.0 python-levenshtein==0.25.1 docutils==0.20.1 pygments==2.18.0 -urllib3==2.2.2 +urllib3==2.2.3 pytest==8.3.3 isort==5.13.2 black==24.8.0 From 60104f916d63fa8a66f80c3bc945c18067b853d5 Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Fri, 13 Sep 2024 10:56:47 -0400 Subject: [PATCH 46/47] py-pypdf: new package (#46303) * [py-pypdf] New package * [py-pypdf] added webpage --- .../builtin/packages/py-pypdf/package.py | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-pypdf/package.py diff --git a/var/spack/repos/builtin/packages/py-pypdf/package.py b/var/spack/repos/builtin/packages/py-pypdf/package.py new file mode 100644 index 00000000000000..7a9896d17d85b9 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pypdf/package.py @@ -0,0 +1,21 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyPypdf(PythonPackage): + """A pure-python PDF library capable of splitting, merging, cropping, and + transforming PDF files""" + + homepage = "https://github.com/py-pdf/pypdf" + pypi = "pypdf/pypdf-4.3.1.tar.gz" + + license("BSD-3-Clause", checked_by="qwertos") + + version("4.3.1", sha256="b2f37fe9a3030aa97ca86067a56ba3f9d3565f9a791b305c7355d8392c30d91b") + + depends_on("py-flit-core@3.9:3", type="build") + depends_on("py-typing-extensions@4:", when="^python@:3.10", type=("build", "run")) From a80d2d42d6a9fe1cc1e71b7f8a84b50e084cf1b9 Mon Sep 17 00:00:00 2001 From: Jen Herting Date: Fri, 13 Sep 2024 14:56:57 -0400 Subject: [PATCH 47/47] py-pydantic-core: new package (#46306) * py-pydantic-core: new package * [py-pydantic-core] fixed licence(checked_by) * [py-pydantic-core] removed unnecessary python dependency --------- Co-authored-by: Alex C Leute --- .../packages/py-pydantic-core/package.py | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-pydantic-core/package.py diff --git a/var/spack/repos/builtin/packages/py-pydantic-core/package.py b/var/spack/repos/builtin/packages/py-pydantic-core/package.py new file mode 100644 index 00000000000000..ec7dd02dfa9d1e --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pydantic-core/package.py @@ -0,0 +1,22 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack.package import * + + +class PyPydanticCore(PythonPackage): + """Core functionality for Pydantic validation and serialization""" + + homepage = "https://github.com/pydantic/pydantic-core" + pypi = "pydantic_core/pydantic_core-2.18.4.tar.gz" + + license("MIT", checked_by="qwertos") + + version("2.18.4", sha256="ec3beeada09ff865c344ff3bc2f427f5e6c26401cc6113d77e372c3fdac73864") + + depends_on("rust@1.76:", type="build") + depends_on("py-maturin@1", type="build") + depends_on("py-typing-extensions@4.6,4.7.1:", type="build")