From 5e5f1455d60810b55d3580eb36529b10ed126dea Mon Sep 17 00:00:00 2001 From: "V. Karch" Date: Wed, 27 May 2026 04:23:22 -0400 Subject: [PATCH 001/180] megahit: add version 1.2.9 (#3925) * Migrate Megahit package to use CMake build system * Remove amd patch since we swapped to cmake * Update repos/spack_repo/builtin/packages/megahit/package.py Co-authored-by: Massimiliano Culpo * Update copyright notice and dependencies in package.py * ran spack style * Attempt Refactor Megahit package to support multiple build systems * Ran spack style * added patch back * Ensured it works with cmake/makefile * Remove unused import of cmake in megahit package * Update repos/spack_repo/builtin/packages/megahit/package.py Co-authored-by: Wouter Deconinck * Update repos/spack_repo/builtin/packages/megahit/package.py Co-authored-by: Wouter Deconinck * Update repos/spack_repo/builtin/packages/megahit/package.py Co-authored-by: Wouter Deconinck * Update repos/spack_repo/builtin/packages/megahit/package.py Co-authored-by: Wouter Deconinck * Update repos/spack_repo/builtin/packages/megahit/package.py Co-authored-by: Wouter Deconinck * Update repos/spack_repo/builtin/packages/megahit/package.py Co-authored-by: Wouter Deconinck * Fix syntax error in build_system definition * Tiny syntax fix * Ran spack style * Remove unnecessary dependencies for Makefile Removed dependencies on 'c' and 'cxx' for Makefile build system. --------- Co-authored-by: Massimiliano Culpo Co-authored-by: Wouter Deconinck --- .../builtin/packages/megahit/package.py | 30 ++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/repos/spack_repo/builtin/packages/megahit/package.py b/repos/spack_repo/builtin/packages/megahit/package.py index 2a371992c68..e8a79517460 100644 --- a/repos/spack_repo/builtin/packages/megahit/package.py +++ b/repos/spack_repo/builtin/packages/megahit/package.py @@ -2,28 +2,44 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack_repo.builtin.build_systems.makefile import MakefilePackage +from spack_repo.builtin.build_systems.cmake import CMakePackage +from spack_repo.builtin.build_systems.makefile import MakefileBuilder, MakefilePackage from spack.package import * -class Megahit(MakefilePackage): - """MEGAHIT: An ultra-fast single-node solution for - large and complex metagenomics assembly via succinct de Bruijn graph""" +class Megahit(CMakePackage, MakefilePackage): + """Ultra-fast and memory-efficient (meta-)genome assembler""" homepage = "https://github.com/voutcn/megahit" - url = "https://github.com/voutcn/megahit/archive/v1.1.3.tar.gz" + url = "https://github.com/voutcn/megahit/archive/refs/tags/v1.2.9.tar.gz" license("GPL-3.0-only") + build_system( + conditional("cmake", when="@1.2:"), conditional("makefile", when="@:1.1"), default="cmake" + ) + + version("1.2.9", sha256="09026eb07cc4e2d24f58b0a13f7a826ae8bb73da735a47cb1cbe6e4693118852") version("1.1.4", sha256="ecd64c8bfa516ef6b19f9b2961ede281ec814db836f1a91953c213c944e1575f") version("1.1.3", sha256="b6eefdee075aaf7a8f9090e2e8b08b770caff90aa43a255e0e220d82ce71c492") depends_on("zlib-api") - patch("amd.patch", when="target=aarch64:") + # CMake path + depends_on("cmake@2.8:", type="build", when="@1.2.9: build_system=cmake") + depends_on("gcc@4.8.4:", type="build", when="@1.2.9: build_system=cmake") + depends_on("c", type="build") + depends_on("cxx", type="build") + + depends_on("gzip", type="run", when="@1.2.9: build_system=cmake") + depends_on("bzip2", type="run", when="@1.2.9: build_system=cmake") + + patch("amd.patch", when="@1.1.4 target=aarch64:") + - def install(self, spec, prefix): +class MakefileBuilder(MakefileBuilder): + def install(self, pkg, spec, prefix): mkdirp(prefix.bin) install("megahit", prefix.bin) install("megahit_asm_core", prefix.bin) From ec3f6707484a28abaeea3003b15aa2691a6c390f Mon Sep 17 00:00:00 2001 From: Sergey Kosukhin Date: Wed, 27 May 2026 10:27:46 +0200 Subject: [PATCH 002/180] netcdf-c: add version 4.10.0 (#4793) 1. Add version `4.10.0` (closes #4757). 2. Deprecate versions `4.6.3` and older (quite arbitrary choice). 3. Apply a patch from upstream to versions `4.9.3` and older to address the [CVE-2025-14933 vulnerability](https://github.com/advisories/GHSA-cg32-6v27-jr43) reported in #4757. 4. For the `AutotoolsBuilder`: 1. Drop the unreliable C++ workaround introduced in #700: Automake generates target-specific `_LINK` variables, which ignore the value of the `CXXLINK` variable. However, since all targets that require linking with the C++ compiler are either disabled (e.g. the test programs) or are convenience libraries (i.e. although linked with `--tag=CXX`, are created with `AR` and not `CXX`), we can simply drop the variable override. 2. Filter out the hard-coded `-lstdc++` flag, which is appended even if unnecessary, which is the case for all configurations that we currently support in Spack. 3. Make the test log more readable: 1. Build all test programs before running anything (with `make check TESTS=`). 2. Run tests in a subdirectory even if a test in a previous subdirectory fails (with `make check -k`). --- .../builtin/packages/netcdf_c/package.py | 88 ++++++++++++------- 1 file changed, 57 insertions(+), 31 deletions(-) diff --git a/repos/spack_repo/builtin/packages/netcdf_c/package.py b/repos/spack_repo/builtin/packages/netcdf_c/package.py index 35895fbc358..a3d6ef94b3a 100644 --- a/repos/spack_repo/builtin/packages/netcdf_c/package.py +++ b/repos/spack_repo/builtin/packages/netcdf_c/package.py @@ -27,6 +27,7 @@ class NetcdfC(CMakePackage, AutotoolsPackage): license("BSD-3-Clause") version("main", branch="main") + version("4.10.0", sha256="ce160f9c1483b32d1ba8b7633d7984510259e4e439c48a218b95a023dc02fd4c") version("4.9.3", sha256="990f46d49525d6ab5dc4249f8684c6deeaf54de6fec63a187e9fb382cc0ffdff") version("4.9.2", sha256="bc104d101278c68b303359b3dc4192f81592ae8640f1aee486921138f7f88cb7") version("4.9.0", sha256="9f4cb864f3ab54adb75409984c6202323d2fc66c003e5308f3cdf224ed41c0a6") @@ -37,20 +38,26 @@ class NetcdfC(CMakePackage, AutotoolsPackage): version("4.7.2", sha256="7648db7bd75fdd198f7be64625af7b276067de48a49dcdfd160f1c2ddff8189c") version("4.7.1", sha256="583e6b89c57037293fc3878c9181bb89151da8c6015ecea404dd426fea219b2c") version("4.7.0", sha256="26d03164074363b3911ed79b7cddd045c22adf5ebaf978943db11a1d9f15e9d3") - version("4.6.3", sha256="734a629cdaed907201084d003cfa091806d6080eeffbd4204e7c7f73ff9d3564") - version("4.6.2", sha256="673936c76ae0c496f6dde7e077f5be480afc1e300adb2c200bf56fbe22e5a82a") - version("4.6.1", sha256="a2fabf27c72a5ee746e3843e1debbaad37cd035767eaede2045371322211eebb") - version("4.6.0", sha256="6d740356399aac12290650325a05aec2fe92c1905df10761b2b0100994197725") - version("4.5.0", sha256="f7d1cb2a82100b9bf9a1130a50bc5c7baf0de5b5022860ac3e09a0a32f83cf4a") - # Version 4.4.1.1 is having problems in tests - # https://github.com/Unidata/netcdf-c/issues/343 - version("4.4.1.1", sha256="7f040a0542ed3f6d27f3002b074e509614e18d6c515b2005d1537fec01b24909") - # Version 4.4.1 can crash on you (in real life and in tests). See: - # https://github.com/Unidata/netcdf-c/issues/282 - version("4.4.1", sha256="17599385fd76ccdced368f448f654de2ed000fece44dece9fb5d598798b4c9d6") - version("4.4.0", sha256="09b78b152d3fd373bee4b5738dc05c7b2f5315fe34aa2d94ee9256661119112f") - version("4.3.3.1", sha256="f2ee78eb310637c007f001e7c18e2d773d23f3455242bde89647137b7344c2e2") - version("4.3.3", sha256="3f16e21bc3dfeb3973252b9addf5defb48994f84fc9c9356081f871526a680e7") + + with default_args(deprecated=True): + version("4.6.3", sha256="734a629cdaed907201084d003cfa091806d6080eeffbd4204e7c7f73ff9d3564") + version("4.6.2", sha256="673936c76ae0c496f6dde7e077f5be480afc1e300adb2c200bf56fbe22e5a82a") + version("4.6.1", sha256="a2fabf27c72a5ee746e3843e1debbaad37cd035767eaede2045371322211eebb") + version("4.6.0", sha256="6d740356399aac12290650325a05aec2fe92c1905df10761b2b0100994197725") + version("4.5.0", sha256="f7d1cb2a82100b9bf9a1130a50bc5c7baf0de5b5022860ac3e09a0a32f83cf4a") + # Version 4.4.1.1 is having problems in tests + # https://github.com/Unidata/netcdf-c/issues/343 + version( + "4.4.1.1", sha256="7f040a0542ed3f6d27f3002b074e509614e18d6c515b2005d1537fec01b24909" + ) + # Version 4.4.1 can crash on you (in real life and in tests). See: + # https://github.com/Unidata/netcdf-c/issues/282 + version("4.4.1", sha256="17599385fd76ccdced368f448f654de2ed000fece44dece9fb5d598798b4c9d6") + version("4.4.0", sha256="09b78b152d3fd373bee4b5738dc05c7b2f5315fe34aa2d94ee9256661119112f") + version( + "4.3.3.1", sha256="f2ee78eb310637c007f001e7c18e2d773d23f3455242bde89647137b7344c2e2" + ) + version("4.3.3", sha256="3f16e21bc3dfeb3973252b9addf5defb48994f84fc9c9356081f871526a680e7") with when("build_system=cmake"): # TODO: document why we need to revert https://github.com/Unidata/netcdf-c/pull/1731 @@ -143,6 +150,14 @@ class NetcdfC(CMakePackage, AutotoolsPackage): when="@4.9.0:4.9.2", ) + # Address the CVE-2025-14933 vulnerability (https://github.com/advisories/GHSA-cg32-6v27-jr43). + # See https://github.com/Unidata/netcdf-c/pull/3153 + patch( + "https://github.com/Unidata/netcdf-c/commit/0e0cb290673fa5a8056df603a95d6bdc7865e9c4.patch?full_index=1", + sha256="5adacbeb7021ba59e6cdb23bb0095c720b9da925b276418c66d5eb9c8ddb0d56", + when="@:4.9", + ) + variant("mpi", default=True, description="Enable parallel I/O for netcdf-4") variant("parallel-netcdf", default=False, description="Enable parallel I/O for classic files") variant("hdf4", default=False, description="Enable HDF4 support") @@ -433,23 +448,27 @@ class AutotoolsBuilder(AnyBuilder, autotools.AutotoolsBuilder): def force_autoreconf(self): return any(self.spec.satisfies(s) for s in self.pkg._force_autoreconf_when) - @property - def build_targets(self): - # Starting version 4.8.0, the library includes C++ source files. None of those files is - # compiled in any configuration that we currently support. However, Automake still chooses - # the C++ compiler for linking, which leads to overlinking to the standard C++ library. - # To avoid that, we run make with an extra argument, which overrides the linker command. - # This way, the C++ compiler is never called, and the linking is done with the default - # command that runs the C compiler. - if self.spec.satisfies("@4.8.0:"): - return ["CXXLINK=${LINK}"] - return [] - @when("@4.6.3:") def autoreconf(self, pkg, spec, prefix): if not os.path.exists(self.configure_abs_path): Executable("./bootstrap")() + @run_before("autoreconf") + def filter_stdcxx(self): + # Starting version 4.8.0, the library includes C++ source files. None of those files is + # compiled in any configuration that we currently support. The C++ compiler is also never + # called for the compilation and linking (e.g. libnczarr.la, which is linked with + # --tag=CXX, is a convenience library and therefore is created with AR, not CXX). However, + # the Automake files are implemented to append -lstdc++ to the list of linker flags even + # when unnecessary, which we fix with the following patching: + if self.spec.satisfies("@4.8.0:"): + # Patch Makefile.in files to cover the case when autoreconf if skipped: + filenames = find(self.configure_directory, "Makefile.in", recursive=True) + # Patch the Automake include file to cover the case when autoreconf is run: + filenames.append(join_path(self.configure_directory, "lib_flags.am")) + with keep_modification_time(*filenames): + filter_file("-lstdc++", "", *filenames, string=True) + def configure_args(self): config_args = [ "--enable-v2", @@ -633,9 +652,16 @@ def configure_args(self): return config_args - # It looks like the issues with running the tests in parallel were fixed around version 4.6.0 - # (see https://github.com/Unidata/netcdf-c/commit/812c2fd4d108cca927582c0d84049c0f271bb9e0): - @when("@:4.5.0") def check(self): - # h5_test fails when run in parallel - make("check", parallel=False) + # Build all tests in parallel: + make("check", "TESTS=", parallel=True) + # Run the tests serially if needed. Also, run with the the --keep-going (-k) flag to run + # all tests even if a test in a subdirectory fails: + make( + "check", + "-k", + # The h5_test fails when run in parallel (it looks like the issues with running the + # tests in parallel were fixed around version 4.6.0, + # see https://github.com/Unidata/netcdf-c/commit/812c2fd4d108cca927582c0d84049c0f271bb9e0): + parallel=self.spec.satisfies("@4.6.0:"), + ) From c3feaa39a125298448c44d1aed7229f0874950d4 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Wed, 27 May 2026 10:30:09 +0200 Subject: [PATCH 003/180] py-xgboost@1 : fix lib64 support (#4748) Signed-off-by: Adam J. Stewart --- .../packages/py_xgboost/add-lib64-1.patch | 27 +++++++++++++++++++ .../{add-lib64.patch => add-lib64-2.patch} | 0 .../builtin/packages/py_xgboost/package.py | 5 +++- 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 repos/spack_repo/builtin/packages/py_xgboost/add-lib64-1.patch rename repos/spack_repo/builtin/packages/py_xgboost/{add-lib64.patch => add-lib64-2.patch} (100%) diff --git a/repos/spack_repo/builtin/packages/py_xgboost/add-lib64-1.patch b/repos/spack_repo/builtin/packages/py_xgboost/add-lib64-1.patch new file mode 100644 index 00000000000..710c2b5b474 --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_xgboost/add-lib64-1.patch @@ -0,0 +1,27 @@ +diff --color=auto -Naur a/setup.py b/setup.py +--- a/setup.py 2026-05-08 12:09:37 ++++ b/setup.py 2026-05-08 12:14:02 +@@ -245,9 +245,10 @@ + if USER_OPTIONS['use-system-libxgboost'][2] != 0: + self.logger.info('Using system libxgboost.') + lib_path = os.path.join(sys.prefix, 'lib') ++ lib64_path = os.path.join(sys.prefix, 'lib64') + msg = 'use-system-libxgboost is specified, but ' + lib_name() + \ +- ' is not found in: ' + lib_path +- assert os.path.exists(os.path.join(lib_path, lib_name())), msg ++ ' is not found in ' + lib_path + ' or ' + lib64_path ++ assert os.path.exists(os.path.join(lib_path, lib_name())) or os.path.exists(os.path.join(lib64_path, lib_name())), msg + return [] + + lib_dir = os.path.join(self.install_dir, 'xgboost', 'lib') +diff --color=auto -Naur a/xgboost/libpath.py b/xgboost/libpath.py +--- a/xgboost/libpath.py 2026-05-08 12:09:37 ++++ b/xgboost/libpath.py 2026-05-08 12:15:15 +@@ -28,6 +28,7 @@ + # use libxgboost from a system prefix, if available. This should be the last + # option. + os.path.join(sys.prefix, 'lib'), ++ os.path.join(sys.prefix, 'lib64'), + ] + + if sys.platform == 'win32': diff --git a/repos/spack_repo/builtin/packages/py_xgboost/add-lib64.patch b/repos/spack_repo/builtin/packages/py_xgboost/add-lib64-2.patch similarity index 100% rename from repos/spack_repo/builtin/packages/py_xgboost/add-lib64.patch rename to repos/spack_repo/builtin/packages/py_xgboost/add-lib64-2.patch diff --git a/repos/spack_repo/builtin/packages/py_xgboost/package.py b/repos/spack_repo/builtin/packages/py_xgboost/package.py index 71fdfd3e92c..5691cb22465 100644 --- a/repos/spack_repo/builtin/packages/py_xgboost/package.py +++ b/repos/spack_repo/builtin/packages/py_xgboost/package.py @@ -34,7 +34,6 @@ class PyXgboost(PythonPackage): ) variant("dask", default=False, description="Enables Dask extensions for distributed training.") variant("plotting", default=False, description="Enables tree and importance plotting.") - patch("add-lib64.patch", when="@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) @@ -71,6 +70,10 @@ class PyXgboost(PythonPackage): depends_on("py-graphviz") depends_on("py-matplotlib") + # Hard-coded to search lib directory, add lib64 for certain distros + patch("add-lib64-1.patch", when="@1") + patch("add-lib64-2.patch", when="@2:") + def patch(self): # Hard-coded to search for system libxgboost in the Python installation prefix # https://github.com/dmlc/xgboost/issues/6706 From 96b3e8eb6f36fccccf6ebdcbf2c13f8f9b6feef0 Mon Sep 17 00:00:00 2001 From: Heinz-Alexander Fuetterer <35225576+afuetterer@users.noreply.github.com> Date: Wed, 27 May 2026 11:02:02 +0200 Subject: [PATCH 004/180] miniforge3: add 26.1.1-3 (#3405) * miniforge3: add 26.1.1-3 * miniforge3: add install test * miniforge3: deprecate versions 4.8.3-2-4.8.3-4 --- .../builtin/packages/miniforge3/package.py | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/miniforge3/package.py b/repos/spack_repo/builtin/packages/miniforge3/package.py index 640e71f71ca..84614f3993a 100644 --- a/repos/spack_repo/builtin/packages/miniforge3/package.py +++ b/repos/spack_repo/builtin/packages/miniforge3/package.py @@ -10,6 +10,10 @@ from spack.package import * _versions = { + "26.1.1-3": { + "Linux-x86_64": ("b25b828b702df4dd2a6d24d4eb56cfa912471dd8e3342cde2c3d86fe3dc2d870",), + "Linux-aarch64": ("83280e4ee71a5bd547d6b318f96e9ababe1054911ff6cc2b8801ce5493fe67e5",), + }, "25.3.0-3": { "Linux-x86_64": ("1b57f8cb991982063f79b56176881093abb1dc76d73fda32102afde60585b5a1",), "Linux-aarch64": ("ac89f17b0eec4e98d38a53d1ae688e0f22c77d8ea5b5f008c2455e90ef095339",), @@ -32,6 +36,12 @@ } +def _should_deprecate_version(version: str) -> bool: + major_version_to_deprecate = 20 + major_version = int(version.split(".")[0]) + return major_version < major_version_to_deprecate + + class Miniforge3(Package): """Miniforge3 is a minimal installer for conda and mamba specific to conda-forge.""" @@ -45,7 +55,7 @@ class Miniforge3(Package): key = f"{platform.system()}-{platform.machine()}" pkg = packages.get(key) if pkg: - version(ver, sha256=pkg[0], expand=False) + version(ver, sha256=pkg[0], expand=False, deprecated=_should_deprecate_version(ver)) variant("mamba", default=True, description="Enable mamba support.") @@ -82,3 +92,17 @@ def setup_run_environment(self, env: EnvironmentModifications) -> None: if "+mamba" in self.spec: filename = self.prefix.etc.join("profile.d").join("mamba.sh") env.extend(EnvironmentModifications.from_sourcing_file(filename)) + + @run_after("install") + @on_package_attributes(run_tests=True) + def check_install(self): + """Check the spack install of miniforge3.""" + + with working_dir(self.stage.source_path): + conda = Executable(self.prefix.bin.conda) + output = conda("--version", output=str.split) + assert "conda " in output + + if "+mamba" in self.spec: + mamba = Executable(self.prefix.bin.mamba) + mamba("--version") From f3cc969e566f1fc5bf2788ad4c3c49c6bb676c29 Mon Sep 17 00:00:00 2001 From: Paolo <142514942+paolotricerri@users.noreply.github.com> Date: Wed, 27 May 2026 10:58:58 +0100 Subject: [PATCH 005/180] armpl_gcc: add v26.01.1 (#4951) This patch adds the latest release of ArmPL to the list of available versions of the package. Co-authored-by: Paolo Tricerri --- repos/spack_repo/builtin/packages/armpl_gcc/package.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/repos/spack_repo/builtin/packages/armpl_gcc/package.py b/repos/spack_repo/builtin/packages/armpl_gcc/package.py index f144b5af340..860a0664696 100644 --- a/repos/spack_repo/builtin/packages/armpl_gcc/package.py +++ b/repos/spack_repo/builtin/packages/armpl_gcc/package.py @@ -58,6 +58,10 @@ } _versions = { + "26.01.1": { + "deb": ("97bea9a6b873d7fbbe0f85150ff32fdc1d08cb3bd012ab79e687a595eb90141f"), + "rpm": ("c1206132a02e9ddd476862e63c97f7a3cfe79281788db1d107cd5aa7287c7c8a"), + }, "26.01": { "deb": ("cc55ab4120a5416fa1e90f98e3007b722a066aac5e445b629e2d3006abe3eadb"), "rpm": ("314728809e279743e37be5ac475c2647f3ab902a5be0735bd318c1dd53a9a064"), From c9b83ba8d08c25ee4742bc12d5b45081857e1e97 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Wed, 27 May 2026 14:44:48 +0200 Subject: [PATCH 006/180] gnupg: add v2.5.20, updated dependencies (#4953) New versions for gnupg, libgcrypt, libgpg_error, and libksba. Deprecated non-latest patch gnupg version 2.5.17. Signed-off-by: Massimiliano Culpo --- repos/spack_repo/builtin/packages/gnupg/package.py | 5 ++++- repos/spack_repo/builtin/packages/libgcrypt/package.py | 1 + repos/spack_repo/builtin/packages/libgpg_error/package.py | 1 + repos/spack_repo/builtin/packages/libksba/package.py | 3 +++ 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/gnupg/package.py b/repos/spack_repo/builtin/packages/gnupg/package.py index 6078d82c604..421cddbb5cb 100644 --- a/repos/spack_repo/builtin/packages/gnupg/package.py +++ b/repos/spack_repo/builtin/packages/gnupg/package.py @@ -19,12 +19,15 @@ class Gnupg(AutotoolsPackage): license("GPL-3.0-or-later") - version("2.5.17", sha256="2c1fbe20e2958fd8fb53cf37d7c38e84a900edc0d561a1c4af4bc3a10888685d") + version("2.5.20", sha256="6461266e99c308419a379abe6c356d54c214136c4589bd65951091138989ffc6") version("2.4.9", sha256="dd17ab2e9a04fd79d39d853f599cbc852062ddb9ab52a4ddeb4176fd8b302964") version("2.3.8", sha256="540b7a40e57da261fb10ef521a282e0021532a80fd023e75fb71757e8a4969ed") version("2.2.40", sha256="1164b29a75e8ab93ea15033300149e1872a7ef6bdda3d7c78229a735f8204c28") with default_args(deprecated=True): + version( + "2.5.17", sha256="2c1fbe20e2958fd8fb53cf37d7c38e84a900edc0d561a1c4af4bc3a10888685d" + ) version( "2.5.16", sha256="05144040fedb828ced2a6bafa2c4a0479ee4cceacf3b6d68ccc75b175ac13b7e" ) diff --git a/repos/spack_repo/builtin/packages/libgcrypt/package.py b/repos/spack_repo/builtin/packages/libgcrypt/package.py index 092114cad0f..9bd6e0c41f0 100644 --- a/repos/spack_repo/builtin/packages/libgcrypt/package.py +++ b/repos/spack_repo/builtin/packages/libgcrypt/package.py @@ -17,6 +17,7 @@ class Libgcrypt(AutotoolsPackage): license("LGPL-2.1-or-later AND GPL-2.0-or-later") + version("1.12.2", sha256="7ce33c2492221a0436f96a8500215e9f3e3dcb5fd26a757cd415e7a843babd5e") version("1.12.0", sha256="0311454e678189bad62a7e9402a9dd793025efff6e7449898616e2fc75e0f4f5") version("1.11.2", sha256="6ba59dd192270e8c1d22ddb41a07d95dcdbc1f0fb02d03c4b54b235814330aac") version("1.11.1", sha256="24e91c9123a46c54e8371f3a3a2502f1198f2893fbfbf59af95bc1c21499b00e") diff --git a/repos/spack_repo/builtin/packages/libgpg_error/package.py b/repos/spack_repo/builtin/packages/libgpg_error/package.py index 7e3f87715a4..066e6043729 100644 --- a/repos/spack_repo/builtin/packages/libgpg_error/package.py +++ b/repos/spack_repo/builtin/packages/libgpg_error/package.py @@ -17,6 +17,7 @@ class LibgpgError(AutotoolsPackage): license("GPL-2.0-or-later AND LGPL-2.1-or-later") + version("1.61", sha256="7a85413f2bc354f4f8aa832b718af122e48965e9e0eb9012ee659c13c6385c93") version("1.58", sha256="f943aea9a830a8bd938e5124b579efaece24a3225ff4c3d27611a80ce1260c27") version("1.55", sha256="95b178148863f07d45df0cea67e880a79b9ef71f5d230baddc0071128516ef78") version("1.51", sha256="be0f1b2db6b93eed55369cdf79f19f72750c8c7c39fc20b577e724545427e6b2") diff --git a/repos/spack_repo/builtin/packages/libksba/package.py b/repos/spack_repo/builtin/packages/libksba/package.py index 671e58efc1f..1fb2410fa12 100644 --- a/repos/spack_repo/builtin/packages/libksba/package.py +++ b/repos/spack_repo/builtin/packages/libksba/package.py @@ -18,6 +18,9 @@ class Libksba(AutotoolsPackage): license("LGPL-3.0-only AND GPL-2.0-only AND GPL-3.0-only") + version("1.8.0", sha256="296b9db9095749f2aa104202d7ab7fd09ad10710e00780a709c9754b1a1d9292") + version("1.7.0", sha256="e1d3a5745911f5a663fddecf526541c4241052a9e4cafbc92dc7f4096c7efdac") + version("1.6.8", sha256="0f4510f1c7a679c3545990a31479f391ad45d84e039176309d42f80cf41743f5") version("1.6.7", sha256="cf72510b8ebb4eb6693eef765749d83677a03c79291a311040a5bfd79baab763") version("1.6.6", sha256="5dec033d211559338838c0c4957c73dfdc3ee86f73977d6279640c9cd08ce6a4") version("1.6.5", sha256="a564628c574c99287998753f98d750babd91a4e9db451f46ad140466ef2a6d16") From e718d906473290ac06e023551b684cf762fd3466 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Wed, 27 May 2026 14:45:34 +0200 Subject: [PATCH 007/180] cmake: add v4.3.3 (#4954) Add cmake 4.3.3. Signed-off-by: Massimiliano Culpo --- repos/spack_repo/builtin/packages/cmake/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/cmake/package.py b/repos/spack_repo/builtin/packages/cmake/package.py index 52265cf6e52..8a9ef701a5a 100644 --- a/repos/spack_repo/builtin/packages/cmake/package.py +++ b/repos/spack_repo/builtin/packages/cmake/package.py @@ -31,6 +31,7 @@ class Cmake(Package): license("BSD-3-Clause") version("master", branch="master") + version("4.3.3", sha256="cba4bb7a44edf2877bb6f059932896383babe435b3a8c3b5df48b4aa41c9bb85") version("4.2.3", sha256="7efaccde8c5a6b2968bad6ce0fe60e19b6e10701a12fce948c2bf79bac8a11e9") version("4.1.5", sha256="50ce77215cf266630fa5de97c360f4c313bb79f94b35236b63c1216de3196356") version("4.0.6", sha256="9ebe11be8d304336d62a3e71ca36c18f0a4e40036b97c533d63cf730364b6528") From ef502b794de0d4a6de88bcec4d3e8074a3402f8c Mon Sep 17 00:00:00 2001 From: MatthewLieber <77356607+MatthewLieber@users.noreply.github.com> Date: Wed, 27 May 2026 10:07:48 -0400 Subject: [PATCH 008/180] mvapich-plus: add v5.0.0 (#4901) --- .../builtin/packages/mvapich_plus/package.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/repos/spack_repo/builtin/packages/mvapich_plus/package.py b/repos/spack_repo/builtin/packages/mvapich_plus/package.py index 8940adab127..72afc11bc29 100644 --- a/repos/spack_repo/builtin/packages/mvapich_plus/package.py +++ b/repos/spack_repo/builtin/packages/mvapich_plus/package.py @@ -30,6 +30,12 @@ class MvapichPlus(Package, CudaPackage, ROCmPackage): # Prefer the latest stable release + version( + "5.0.0", + sha256="23170011b09f10916782245ad5975567d5f76ae0db8602f5d2cda889186753c2", + url="https://mvapich.cse.ohio-state.edu/download/mvapich/plus/5.0.0/mvapich-plus-installer.sh", + expand=False, + ) version( "4.1", sha256="891b98563216222bd12171ec9ace4a831eef73094f3705a4635bb6104cdfb465", @@ -136,7 +142,7 @@ def install(self, spec, prefix): if spec.satisfies("^cuda"): gpu = "cuda" gpu_ver = str(spec["cuda"].version)[:4] - elif spec.satisfies("+rocm"): + elif spec.satisfies("+rocm") or spec.satisfies("^hip"): gpu = "rocm" gpu_ver = spec["hip"].version if spec.satisfies("+apu"): @@ -151,7 +157,7 @@ def install(self, spec, prefix): if spec.satisfies("process_managers=slurm"): slurm = ".slurm" rpm = f"mvapich-plus-{mvp_ver}-{gpu}{gpu_ver}.{rhel}.ofed{ofed}.{netmod}.{comp}\ -{slurm}{apu}-4.1-1.{el}.x86_64.rpm" +{slurm}{apu}-{mvp_ver}-1.{el}.x86_64.rpm" install_shell = which("bash", required=True) io = which("rpm2cpio", required=True).path From a26fb66d2a7f8989f3f580a8cfbde79acfe2a37c Mon Sep 17 00:00:00 2001 From: Ryan Krattiger <80296582+kwryankrattiger@users.noreply.github.com> Date: Wed, 27 May 2026 10:18:30 -0500 Subject: [PATCH 009/180] Only run Gitlab CI Stacks if there are changes that may require it (#4615) * Only run Gitlab CI Stacks if there are changes that may require it * Compare to develop PRs are pushed as new branches, which always eval `changes` to TRUE. Set `compare_to` to `develop` to compare PR branch changes to develop. * Include everything under the repos This will also capture changes to build_systems and eventually py/ * Try with HEAD~1 to only explicitly compare the merge commit * Allow dummy status job to fail * Restrict force status for for only PRs from packages without changes --- .ci/gitlab/.gitlab-ci.yml | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/.ci/gitlab/.gitlab-ci.yml b/.ci/gitlab/.gitlab-ci.yml index 1e9fceb7c78..748612ea3b5 100644 --- a/.ci/gitlab/.gitlab-ci.yml +++ b/.ci/gitlab/.gitlab-ci.yml @@ -46,6 +46,14 @@ default: PIPELINE_MIRROR_TEMPLATE: "multi-src-mirrors.yaml.in" OIDC_TOKEN_AUDIENCE: "pr_binary_mirror" +.package_on_change: &package_on_change + paths: + - .ci/env + - .ci/gitlab/* + - repos/spack_repo/* + - stacks/$SPACK_CI_STACK_NAME/* + compare_to: HEAD~1 + ######################################## # Job templates ######################################## @@ -83,6 +91,7 @@ default: variables: <<: *common_pr_vars SPACK_PRUNE_UNTOUCHED: "True" + changes: *package_on_change - if: $CI_COMMIT_REF_NAME =~ /^pr[\d]+_.*$/ && $CI_PROJECT_NAME == "spack" # Pipelines on PR branches rebuild only what's missing, and do extra pruning @@ -249,6 +258,30 @@ dotenv: - python3 write_dotenv.py .ci/env - cat env +force_pipeline_status: + rules: + - if: $CI_COMMIT_REF_NAME =~ /^pr[\d]+_.*$/ && $CI_PROJECT_NAME == "spack-packages" + changes: *package_on_change + when: never + - if: $CI_PROJECT_NAME == "spack" + when: never + - if: $CI_COMMIT_REF_NAME =~ /^pr[\d]+_.*$/ + when: always + - when: never + stage: generate + tags: ["spack", "service_noop"] + retry: 0 + allow_failure: true + image: busybox@sha256:37f7b378a29ceb4c551b1b5582e27747b855bbfaa73fa11914fe0df028dc581f + variables: + CI_OIDC_REQUIRED: 0 + GIT_STRATEGY: "none" + CI_JOB_SIZE: "small" + KUBERNETES_CPU_REQUEST: "100m" + KUBERNETES_MEMORY_REQUEST: "5M" + script: + - echo "This job is a placeholder job to ensure a pipeline status is posted even if no jobs are run" + ######################################## # TEMPLATE FOR ADDING ANOTHER PIPELINE ######################################## From 12fa9087c351266949b4c2c74d4783b997e5d9e7 Mon Sep 17 00:00:00 2001 From: Robert Maaskant Date: Wed, 27 May 2026 17:20:30 +0200 Subject: [PATCH 010/180] kubernetes: add v1.36.1 and friends (#4894) --- repos/spack_repo/builtin/packages/kubectl/package.py | 5 +++++ repos/spack_repo/builtin/packages/kubernetes/package.py | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/repos/spack_repo/builtin/packages/kubectl/package.py b/repos/spack_repo/builtin/packages/kubectl/package.py index c1c34adcecb..ecbbd4af0f7 100644 --- a/repos/spack_repo/builtin/packages/kubectl/package.py +++ b/repos/spack_repo/builtin/packages/kubectl/package.py @@ -19,10 +19,14 @@ class Kubectl(GoPackage): license("Apache-2.0") + version("1.36.1", sha256="1ebfa65cc95fbeb2ef4aad6832a3fae4edb88516e43b6437b69a40895803e0e8") + version("1.35.5", sha256="c058972b598acb8fe08bc23e630e7e7582d86050bc78468c3026396a53ebc64b") version("1.35.4", sha256="46a0dead69674fb2bdf33f5ef1deadab123a96becfafef6043f399ae53761f4f") version("1.35.3", sha256="4374809bf135137568135384209f160acdab7372f2608fa60ca3513782db4f03") + version("1.34.8", sha256="1eae3875e830dd72c1b600cdd4c12aca95449a951a95dcea368a9cb4bdf88ed4") version("1.34.7", sha256="764f22a1c1f6e90c2de1b3075a8c34f6d365d6f08c56eefe7020e5da20bdd3a3") version("1.34.6", sha256="cc88a9e51d05c048876a474feb6e353fd9e9fe64bb95f5cfced27a0b29d28790") + version("1.33.12", sha256="4a33a8f8a098f245eefc39b5dd1e62feb81bcb76b470ca454a88fef6a688b6f6") version("1.33.11", sha256="52461ed85b0a0ac693f5d1841e90b8c65e91e9341c253c168968db2b9d53048e") version("1.33.10", sha256="a4dd3abd7da2f4f50ffe79583682a1f990856903b5d200948c12e69e632dd8ff") version("1.33.4", sha256="308f9ca06aa3b7c16021006cf831681a002f25a7c8c4a1809d354d9e0c79fc72") @@ -40,6 +44,7 @@ class Kubectl(GoPackage): version("1.30.11", sha256="f30e4082b6a554d4a2bfedd8b2308a5e6012287e15bec94f72987f717bab4133") depends_on("bash", type="build") + depends_on("go@1.26:", type="build", when="@1.36:") depends_on("go@1.25:", type="build", when="@1.35:") depends_on("go@1.24:", type="build", when="@1.33:") depends_on("go@1.23:", type="build", when="@1.32:") diff --git a/repos/spack_repo/builtin/packages/kubernetes/package.py b/repos/spack_repo/builtin/packages/kubernetes/package.py index befe1f6dc4d..7205388605e 100644 --- a/repos/spack_repo/builtin/packages/kubernetes/package.py +++ b/repos/spack_repo/builtin/packages/kubernetes/package.py @@ -19,10 +19,14 @@ class Kubernetes(Package): license("Apache-2.0") + version("1.36.1", sha256="1ebfa65cc95fbeb2ef4aad6832a3fae4edb88516e43b6437b69a40895803e0e8") + version("1.35.5", sha256="c058972b598acb8fe08bc23e630e7e7582d86050bc78468c3026396a53ebc64b") version("1.35.4", sha256="46a0dead69674fb2bdf33f5ef1deadab123a96becfafef6043f399ae53761f4f") version("1.35.3", sha256="4374809bf135137568135384209f160acdab7372f2608fa60ca3513782db4f03") + version("1.34.8", sha256="1eae3875e830dd72c1b600cdd4c12aca95449a951a95dcea368a9cb4bdf88ed4") version("1.34.7", sha256="764f22a1c1f6e90c2de1b3075a8c34f6d365d6f08c56eefe7020e5da20bdd3a3") version("1.34.6", sha256="cc88a9e51d05c048876a474feb6e353fd9e9fe64bb95f5cfced27a0b29d28790") + version("1.33.12", sha256="4a33a8f8a098f245eefc39b5dd1e62feb81bcb76b470ca454a88fef6a688b6f6") version("1.33.11", sha256="52461ed85b0a0ac693f5d1841e90b8c65e91e9341c253c168968db2b9d53048e") version("1.33.10", sha256="a4dd3abd7da2f4f50ffe79583682a1f990856903b5d200948c12e69e632dd8ff") version("1.33.2", sha256="5588bb13437c0e6881f58ede88d200301c3d28b8ce124d58d3e7ed781d1d8d40") @@ -42,6 +46,7 @@ class Kubernetes(Package): depends_on("bash") depends_on("gmake") + depends_on("go@1.26:", when="@1.36:") depends_on("go@1.25:", when="@1.35:") depends_on("go@1.24:", when="@1.33:") depends_on("go@1.23:", when="@1.32:") From 571d0a94252c9062ad54b30202f9ef2ab043efe5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 May 2026 08:21:34 -0700 Subject: [PATCH 011/180] build(deps): bump actions/stale from 10.2.0 to 10.3.0 (#4927) Bumps [actions/stale](https://github.com/actions/stale) from 10.2.0 to 10.3.0. - [Release notes](https://github.com/actions/stale/releases) - [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/stale/compare/b5d41d4e1d5dceea10e7104786b73624c18a190f...eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899) --- updated-dependencies: - dependency-name: actions/stale dependency-version: 10.3.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/stale.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/stale.yaml b/.github/workflows/stale.yaml index 70fc7bc4ea1..e8b930e3bff 100644 --- a/.github/workflows/stale.yaml +++ b/.github/workflows/stale.yaml @@ -9,7 +9,7 @@ jobs: stale: runs-on: ubuntu-latest steps: - - uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10.2.0 + - uses: actions/stale@eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899 # v10.3.0 with: # Issues configuration stale-issue-message: > From 669cacd53fd9cfd31b0eba6eb7fb1110a813fc94 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 May 2026 08:23:05 -0700 Subject: [PATCH 012/180] build(deps): bump aws-actions/configure-aws-credentials (#4949) Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 6.1.1 to 6.1.2. - [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases) - [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md) - [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/d979d5b3a71173a29b74b5b88418bfda9437d885...acca2b1b2070338fb9fd1ca27ecee81d687e58e5) --- updated-dependencies: - dependency-name: aws-actions/configure-aws-credentials dependency-version: 6.1.2 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> --- .github/workflows/update-src-mirror.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update-src-mirror.yml b/.github/workflows/update-src-mirror.yml index d6bd6547adc..5d75bb43fb3 100644 --- a/.github/workflows/update-src-mirror.yml +++ b/.github/workflows/update-src-mirror.yml @@ -52,7 +52,7 @@ jobs: - name: Configure AWS credentials if: steps.create-mirror.outputs.new-specs == 'true' - uses: aws-actions/configure-aws-credentials@d979d5b3a71173a29b74b5b88418bfda9437d885 # v6.1.1 + uses: aws-actions/configure-aws-credentials@acca2b1b2070338fb9fd1ca27ecee81d687e58e5 # v6.1.2 with: role-to-assume: ${{ secrets.AWS_ROLE_ARN }} aws-region: ${{ secrets.AWS_REGION }} From 197bf3be1ab46f70275159c8fa5f2f5eff26be15 Mon Sep 17 00:00:00 2001 From: snehring <7978778+snehring@users.noreply.github.com> Date: Wed, 27 May 2026 10:27:39 -0500 Subject: [PATCH 013/180] dock: adding v6.13.1, reworking recipe (#4469) * dock: adding v6.13.1, reworking recipe --------- Signed-off-by: Shane Nehring --- .../builtin/packages/dock/package.py | 78 +++++++++++-------- 1 file changed, 47 insertions(+), 31 deletions(-) diff --git a/repos/spack_repo/builtin/packages/dock/package.py b/repos/spack_repo/builtin/packages/dock/package.py index 3dcc0152d74..5f895d6ad63 100644 --- a/repos/spack_repo/builtin/packages/dock/package.py +++ b/repos/spack_repo/builtin/packages/dock/package.py @@ -17,48 +17,64 @@ class Dock(Package): site, and the associated binding energy.""" homepage = "http://dock.compbio.ucsf.edu/DOCK_6/index.htm" - url = "file://{0}/dock.6.9_source.tar.gz".format(os.getcwd()) + url = "https://github.com/docking-org/dock6/archive/refs/tags/v6.13.1.tar.gz" + maintainers("snehring") - manual_download = True - version("6.9", sha256="c2caef9b4bb47bb0cb437f6dc21f4c605fd3d0d9cc817fa13748c050dc87a5a8") + license("BSD-3-Clause", checked_by="snehring") + + with when("@=6.9"): + manual_download = True + + version("6.13.1", sha256="1bfe7ff777e60af6bff785dc74f9f7d1b0403c518c34ce4d1e6db98ac0865db1") + + # I don't think you can actually get 6.9 anymore since they moved to github + version( + "6.9", + sha256="c2caef9b4bb47bb0cb437f6dc21f4c605fd3d0d9cc817fa13748c050dc87a5a8", + deprecated=True, + url=f"file://{os.getcwd()}/dock.6.9_source.tar.gz", + ) variant("mpi", default=True, description="Enable mpi") + depends_on("c", type="build") + depends_on("cxx", type="build") + depends_on("fortran", type="build") + + depends_on("gmake", type="build") depends_on("bison", type="build") depends_on("flex", type="build") depends_on("mpi", when="+mpi") - def setup_build_environment(self, env: EnvironmentModifications) -> None: - if self.spec.satisfies("+mpi"): - env.set("MPICH_HOME", self.spec["mpi"].prefix) - def install(self, spec, prefix): - compiler_targets = {"gcc": "gnu", "intel": "intel", "sgi": "sgi"} - - if self.compiler.name not in compiler_targets: - template = "Unsupported compiler {0}! Supported compilers: {1}" - err = template.format(self.compiler.name, ", ".join(list(compiler_targets.keys()))) - - raise InstallError(err) - + mkdirp("bin") + # the object files aren't regenerated after the clean target runs, so let's just not do it + with working_dir(join_path("src", "docktools", "convgrids")): + for i in ["gridrdsl.mk", "gridconv.mk"]: + filter_file("install: clean all", "install: all", i) with working_dir("install"): - sh_args = ["./configure", compiler_targets[self.compiler.name]] - config_source = compiler_targets[self.compiler.name] - - if spec.satisfies("+mpi"): - sh_args.append("parallel") - config_source = config_source + ".parallel" - - if self.spec.satisfies("@6.9%gcc@10:"): - # Versions of gcc before 10 treat mismatched arguments as a warning - # 10+ makes it an error. This makes it a warning again - filter_file( - r"(-fno-second-underscore)", r"\1 -fallow-argument-mismatch", config_source - ) - - which("sh", required=True)(*sh_args) - which("make", required=True)("YACC=bison -o y.tab.c") + copy("gnu", "config.h") + for i in [r"^CC=.*$", r"^CXX=.*$", r"^FC=.*$"]: + filter_file(i, "", "config.h") + filter_file( + r"^FFLAGS=.*$", + "FFLAGS=-fno-automatic -fno-second-underscore -fallow-argument-mismatch", + "config.h", + ) + if self.spec.satisfies("+mpi"): + filter_file(r"^CXXFLAGS=.*$", "CXXFLAGS=-DBUILD_DOCK_WITH_MPI", "config.h") + filter_file(r"CFLAGS=.*$", "CFLAGS=-DBUILD_DOCK_WITH_MPI", "config.h") + filter_file(r"^DOCK_SUFFIX=.*", "DOCK_SUFFIX=.mpi", "config.h") + filter_file(r"^LOAD=.*$", f"LOAD={self.spec['mpi'].mpicxx}", "config.h") + else: + filter_file(r"^LOAD=.*$", f"LOAD={self.compiler.cxx}", "config.h") + filter_file(r"^CFLAGS=.*", "", "config.h") + + with open("config.h", "a", encoding="UTF-8") as f: + f.write(f"DOCKHOME={self.spec.prefix}") + which("make")("dock") + which("make")("utils") mkdirp(prefix.bin) install_tree("bin", prefix.bin) From b4fda4649cf37def41103084c616a3886b74a40e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20F=C3=BCrst?= Date: Wed, 27 May 2026 18:01:42 +0200 Subject: [PATCH 014/180] paraview: Set VTK_PYTHON_OPTIONAL_LINK=OFF by default for OpenFOAM (#4867) paraview: Set VTK_PYTHON_OPTIONAL_LINK=OFF by default for OpenFOAM Catalyst support --- repos/spack_repo/builtin/packages/paraview/package.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/repos/spack_repo/builtin/packages/paraview/package.py b/repos/spack_repo/builtin/packages/paraview/package.py index 8ab8b2a854f..2e53feb37d1 100644 --- a/repos/spack_repo/builtin/packages/paraview/package.py +++ b/repos/spack_repo/builtin/packages/paraview/package.py @@ -662,8 +662,6 @@ def variant_bool(feature, on="ON", off="OFF"): "-DPARAVIEW_BUILD_WITH_EXTERNAL=ON", ] ) - if spec.satisfies("%cce"): - cmake_args.append("-DVTK_PYTHON_OPTIONAL_LINK:BOOL=OFF") else: # @5.7: cmake_args.extend( [ @@ -734,6 +732,7 @@ def variant_bool(feature, on="ON", off="OFF"): [ "-DPARAVIEW_%s_PYTHON:BOOL=ON" % py_use_opt, "-D%s_PYTHON_VERSION:STRING=%d" % (py_ver_opt, py_ver_val), + "-DVTK_PYTHON_OPTIONAL_LINK:BOOL=OFF", ] ) if spec.satisfies("@:5.6"): From 18eacd032a03694d0082df1695c7a4481fe6dab0 Mon Sep 17 00:00:00 2001 From: John Gouwar Date: Wed, 27 May 2026 18:02:19 -0400 Subject: [PATCH 015/180] Emacs dropped added native json support with emacs 30 (#4956) Signed-off-by: John Gouwar --- repos/spack_repo/builtin/packages/emacs/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/emacs/package.py b/repos/spack_repo/builtin/packages/emacs/package.py index 88d47b59a5f..881ec2f59c0 100644 --- a/repos/spack_repo/builtin/packages/emacs/package.py +++ b/repos/spack_repo/builtin/packages/emacs/package.py @@ -60,7 +60,7 @@ class Emacs(AutotoolsPackage, GNUMirrorPackage): description="X11 toolkit when gui=x11 (gtk, athena)", when="gui=x11", ) - variant("json", default=False, when="@27:", description="Build with json support") + variant("json", default=False, when="@27:29", description="Build with json support") variant("native", default=False, when="@28:", description="Enable native compilation of elisp") variant("sqlite", default=False, when="@29.1:", description="Build with sqlite3 support") variant("tls", default=True, description="Build with gnutls support") From 606108cbad8731191fab6fe8560fd3e602e61228 Mon Sep 17 00:00:00 2001 From: Alex Tyler Chapman <100869159+chapman39@users.noreply.github.com> Date: Wed, 27 May 2026 20:50:24 -0700 Subject: [PATCH 016/180] trng: add v4.28.1 (#4959) --- repos/spack_repo/builtin/packages/trng/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/trng/package.py b/repos/spack_repo/builtin/packages/trng/package.py index e2d051e05f8..cb156b08e81 100644 --- a/repos/spack_repo/builtin/packages/trng/package.py +++ b/repos/spack_repo/builtin/packages/trng/package.py @@ -15,7 +15,7 @@ class Trng(CMakePackage): maintainers("chapman39") - version("4.28", commit="691817a4a0331421776e7f00efa9fbe81554da86", submodules=True) + version("4.28.1", commit="cc1b170b050b541ac481415b175394670c2a4e85", submodules=True) version("4.24", commit="a22a32b9a285d1293b74b17b34f81af5dcec6311") version("4.23.1", commit="610f7836610e9e01788f8461fbe83b67544ded7c") version("4.23", commit="22a30c493eff4cb547185fa48275683751df18e0") From 236a1bf4c0d3418f050915eea4c815061f3d7e81 Mon Sep 17 00:00:00 2001 From: snehring <7978778+snehring@users.noreply.github.com> Date: Wed, 27 May 2026 22:54:15 -0500 Subject: [PATCH 017/180] sentieon-genomics: adding v202503.03 (#4957) Signed-off-by: Shane Nehring --- repos/spack_repo/builtin/packages/sentieon_genomics/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/sentieon_genomics/package.py b/repos/spack_repo/builtin/packages/sentieon_genomics/package.py index 16c2df03fd2..9ccea08bb53 100644 --- a/repos/spack_repo/builtin/packages/sentieon_genomics/package.py +++ b/repos/spack_repo/builtin/packages/sentieon_genomics/package.py @@ -27,6 +27,7 @@ class SentieonGenomics(Package): url = "https://s3.amazonaws.com/sentieon-release/software/sentieon-genomics-201808.01.tar.gz" maintainers("snehring") + version("202503.03", sha256="36eaa10c51c31547688bf715d6931ae12b24ab5ef45f95a73d23854411f45400") version("202503.02", sha256="b3d619b6b9305178ace70f7c46df786db4e697d31699df9e13db575caec2e470") version("202503.01", sha256="f6dd670e151ca86b27fdb0eb5a6c32813fca8666c55623d869283ea6301152c4") version("202503", sha256="da8fd40e8fe86e0d52ac7023b2ee561d5eb4a89f15afe79ef2ff1d3a13cea73d") From 8aed8dec77798b5bff42f2cac0fb803fed6fdd62 Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Thu, 28 May 2026 12:55:31 +0200 Subject: [PATCH 018/180] py-beartype: add v0.22.9 (#4970) --- repos/spack_repo/builtin/packages/py_beartype/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/repos/spack_repo/builtin/packages/py_beartype/package.py b/repos/spack_repo/builtin/packages/py_beartype/package.py index 0e14dd08238..3bd51d5b773 100644 --- a/repos/spack_repo/builtin/packages/py_beartype/package.py +++ b/repos/spack_repo/builtin/packages/py_beartype/package.py @@ -15,11 +15,13 @@ class PyBeartype(PythonPackage): license("MIT") + version("0.22.9", sha256="8f82b54aa723a2848a56008d18875f91c1db02c32ef6a62319a002e3e25a975f") version("0.21.0", sha256="f9a5078f5ce87261c2d22851d19b050b64f6a805439e8793aecf01ce660d3244") version("0.16.2", sha256="47ec1c8c3be3f999f4f9f829e8913f65926aa7e85b180d9ffd305dc78d3e7d7b") version("0.15.0", sha256="2af6a8d8a7267ccf7d271e1a3bd908afbc025d2a09aa51123567d7d7b37438df") # See PYTHON_VERSION_MIN in beartype/meta.py + depends_on("python@3.10:", when="@0.22.4:", type=("build", "run")) depends_on("python@3.9:", type=("build", "run"), when="@0.21.0:") depends_on("python@3.8:", type=("build", "run")) depends_on("py-hatchling@1.14:", type="build", when="@0.19:") From aaec671d0ac189fa72b8adf72a85201dc78ddcd2 Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Thu, 28 May 2026 13:00:45 +0200 Subject: [PATCH 019/180] py-asgi-lifespan: add new package (#4968) --- .../packages/py_asgi_lifespan/package.py | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/py_asgi_lifespan/package.py diff --git a/repos/spack_repo/builtin/packages/py_asgi_lifespan/package.py b/repos/spack_repo/builtin/packages/py_asgi_lifespan/package.py new file mode 100644 index 00000000000..c5196e3b131 --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_asgi_lifespan/package.py @@ -0,0 +1,24 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyAsgiLifespan(PythonPackage): + """Programmatic startup/shutdown of ASGI apps.""" + + homepage = "https://github.com/florimondmanca/asgi-lifespan" + pypi = "asgi-lifespan/asgi-lifespan-2.1.0.tar.gz" + + license("MIT") + + version("2.1.0", sha256="5e2effaf0bfe39829cf2d64e7ecc47c7d86d676a6599f7afba378c31f5e3a308") + + depends_on("python@3.7:", type=("build", "run")) + depends_on("py-setuptools", type="build") + depends_on("py-setuptools-scm", type="build") + + depends_on("py-sniffio", type=("build", "run")) From 3ce09b02d291b21cd2ebb7fb5a9409aeceeaa959 Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Thu, 28 May 2026 13:07:33 +0200 Subject: [PATCH 020/180] py-asyncpg: add new package (#4969) --- .../builtin/packages/py_asyncpg/package.py | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/py_asyncpg/package.py diff --git a/repos/spack_repo/builtin/packages/py_asyncpg/package.py b/repos/spack_repo/builtin/packages/py_asyncpg/package.py new file mode 100644 index 00000000000..1c07edcab68 --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_asyncpg/package.py @@ -0,0 +1,23 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyAsyncpg(PythonPackage): + """A fast PostgreSQL Database Client Library for Python/asyncio.""" + + homepage = "https://github.com/MagicStack/asyncpg" + pypi = "asyncpg/asyncpg-0.31.0.tar.gz" + + version("0.31.0", sha256="c989386c83940bfbd787180f2b1519415e2d3d6277a70d9d0f0145ac73500735") + + depends_on("python@3.9:", type=("build", "run")) + depends_on("py-setuptools@77.0.3:", type="build") + depends_on("py-cython@3.2.1:3", type="build") + + depends_on("py-async-timeout@4.0.3:", when="^python@:3.10", type=("build", "run")) From 3daae293664bc02c6cd9e68acd24c52fb9660188 Mon Sep 17 00:00:00 2001 From: Till Ehrengruber Date: Thu, 28 May 2026 13:50:57 +0200 Subject: [PATCH 021/180] cupy: add v14.0 (#4916) Adds support for CuPy 14.0.x and backfills several missing 12.x / 13.x point releases. - New package py-cuda-pathfinder. Required runtime dep for CuPy 14. - Enable `submodules=True` (CuPy external dependencies in `third_party` via git submodules). - New versions: 14.0.1, 14.0.0, 13.6.0, 13.5.0, 13.4.1, 13.0.0, 12.3.0, 12.2.0. Removed pre-release 14.0.0a1. - Cython: fix constraints - Fix NumPy requirement for Cupy v14 (requires v2) - cuDNN dependency has been removed in v14 - New dep: py-cuda-pathfinder for @14: +cuda. - ROCm 6.3 patch: add upstream cupy#9022 to fix @13.4 ^rocm-core@6.3. - Add rccl to the ROCm include-path mapping so HIP builds find headers. --- .../packages/py_cuda_pathfinder/package.py | 42 +++++++++++++++++++ .../builtin/packages/py_cupy/package.py | 30 ++++++++++--- 2 files changed, 66 insertions(+), 6 deletions(-) create mode 100644 repos/spack_repo/builtin/packages/py_cuda_pathfinder/package.py diff --git a/repos/spack_repo/builtin/packages/py_cuda_pathfinder/package.py b/repos/spack_repo/builtin/packages/py_cuda_pathfinder/package.py new file mode 100644 index 00000000000..1609cd2dffe --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_cuda_pathfinder/package.py @@ -0,0 +1,42 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyCudaPathfinder(PythonPackage): + """Pathfinder for CUDA components""" + + homepage = "https://nvidia.github.io/cuda-python/cuda-pathfinder" + url = "https://files.pythonhosted.org/packages/py3/c/cuda-pathfinder/cuda_pathfinder-1.3.3-py3-none-any.whl" + list_url = "https://pypi.org/project/cuda-pathfinder" + + license("Apache-2.0") + + version("1.5.4", sha256="9563d3175ce1828531acf4b94e1c1c7d67208c347ca002493e2654878b26f4b7") + version("1.5.3", sha256="dff021123aedbb4117cc7ec81717bbfe198fb4e8b5f1ee57e0e084fec5c8577d") + version("1.5.2", sha256="0c5f160a7756c5b072723cbbd6d861e38917ef956c68150b02f0b6e9271c71fa") + version("1.5.1", sha256="b3718097fb57cf9e8a904dd072d806f2c9a27627e35c020b06ab9454bcec08c0") + version("1.5.0", sha256="498f90a9e9de36044a7924742aecce11c50c49f735f1bc53e05aa46de9ea4110") + version("1.4.4", sha256="1a9e7feccae0d969ad88545d0462f2ed2750df8e6732309798dc1e1ca603a28b") + version("1.4.3", sha256="4345d8ead1f701c4fb8a99be6bc1843a7348b6ba0ef3b031f5a2d66fb128ae4c") + version("1.4.2", sha256="eb354abc20278f8609dc5b666a24648655bef5613c6dfe78a238a6fd95566754") + version("1.4.1", sha256="40793006082de88e0950753655e55558a446bed9a7d9d0bcb48b2506d50ed82a") + version("1.4.0", sha256="437079ca59e7b61ae439ecc501d69ed87b3accc34d58153ef1e54815e2c2e118") + version("1.3.5", sha256="6c88220f8637cb35d2a75c620d72efebf683b248b923713d8fbe235844c1a4b9") + version("1.3.4", sha256="fb983f6e0d43af27ef486e14d5989b5f904ef45cedf40538bfdcbffa6bb01fb2") + version("1.3.3", sha256="9984b664e404f7c134954a771be8775dfd6180ea1e1aef4a5a37d4be05d9bbb1") + version("1.3.2", sha256="7bd2774bc6be93aea226d579f415a63803b2b2c062207ed06c1d6dfc9cfacc3c") + version("1.3.1", sha256="0f04527f647e16ee26055447d3e4479bd608acce60f6506b14043f51d71736e7") + version("1.3.0", sha256="2e904a408ab4ebfba5b3ee67ecd15383487ffe109fc6e1f2e2ea61577e4519be") + version("1.2.3", sha256="e6cf54d550441e878002d9ec9d280863ef0d6bb2bd8f52ca01582a5f381eace4") + version("1.2.2", sha256="4a97b8eb29bc4bbd52f419141dd0345da95f67e599deeed686bd925729d22228") + version("1.2.1", sha256="d4fba3a8f6a01bbc72753d69bc7f6bcf8078a91a73adeea0f0c9adf917461d7b") + version("1.2.0", sha256="bf83060b06e571236cd77e2f26adab218dcceb2a87effbc830fe32940277f081") + version("1.1.0", sha256="3e66fe0af8ead20eca25e077d2e0cb2dcc027d4297d550a74f99a0211e610799") + version("1.0.0", sha256="672cc49ce16cb10cb39a9fbcfbcac2cf4a3a22561adee9faeea48f20ce19401f") + + depends_on("py-setuptools", type="build") diff --git a/repos/spack_repo/builtin/packages/py_cupy/package.py b/repos/spack_repo/builtin/packages/py_cupy/package.py index 08436bbecba..fb4011e1428 100644 --- a/repos/spack_repo/builtin/packages/py_cupy/package.py +++ b/repos/spack_repo/builtin/packages/py_cupy/package.py @@ -18,17 +18,28 @@ class PyCupy(PythonPackage, CudaPackage, ROCmPackage): cuDNN, cuRand, cuSolver, cuSPARSE, cuFFT and NCCL to make full use of the GPU architecture.""" + # TODO: CuPy bundles some dependencies in `third_party` (cccl, dlpack, jitify, xsf). These + # should be modeled as explicit dependencies. + homepage = "https://cupy.dev/" pypi = "cupy/cupy-8.0.0.tar.gz" git = "https://github.com/cupy/cupy.git" + submodules = True version("main", branch="main") - version("14.0.0a1", sha256="12b6ba421bcd3eaf1f5bf9930cfbdcea50364aa8d5ebd1d3bd5808ea5a994ca9") + version("14.0.1", sha256="4b673ab2d8b2329abe7ae0a7ae6159656044a8eecca56cf0b834b7c907063205") + version("14.0.0", sha256="615a7dfbe699729785fa9ef0789de05ec1c278b8c3b675460ad19c8808802995") + version("13.6.0", sha256="3cba30ae3dd32b5d5c6536e710cb98015227cd4ba83c46b3f1825a7ae55b6667") version("13.5.1", sha256="3dba2f30258463482d52deb420862fbbbaf2c446165a5e8d67377ac6cb5c0870") + version("13.5.0", sha256="e24be7837c857f95cf484b4eff91a627a5e622aaece559060b138d9d64e6161d") + version("13.4.1", sha256="9654730da3f7122ba3fe99ce951247e299f3f9c23449a884ba9914444845f0cd") version("13.4.0", sha256="d4b60e5a1d3b89be40fad0845bb9fc467a653abe8660f752416fd38d24ab7fdb") version("13.3.0", sha256="9a2a17af2b99cce91dd1366939c3805e3f51f9de5046df64f29ccbad3bdf78ed") version("13.2.0", sha256="e4dbd2b2ed4159a5cc0c0f98a710a014950eb2c16eeb455e956128f3b3bd0d51") version("13.1.0", sha256="5caf62288481a27713384523623045380ff42e618be4245f478238ed1786f32d") + version("13.0.0", sha256="2f04e7857f692a713360dc9c3b06709806ab8404fca39b5af9721c04a2979aae") + version("12.3.0", sha256="47db32114e6fdd48d0510cbf0b08b0935522d7dfa3e39416b0c0da3914323524") + version("12.2.0", sha256="f95ffd0afeacb617b048fe028ede07b97dc9e95aca1610a022b1f3d20a9a027e") version("12.1.0", sha256="f6d31989cdb2d96581da12822e28b102f29e254427195c2017eac327869b7320") version("12.0.0", sha256="61ddbbef73d50d606bd5087570645f3c91ec9176c2566784c1d486d6a3404545") version("11.6.0", sha256="53dbb840072bb32d4bfbaa6bfa072365a30c98b1fcd1f43e48969071ad98f1a7") @@ -50,10 +61,9 @@ class PyCupy(PythonPackage, CudaPackage, ROCmPackage): depends_on("py-setuptools@:73", when="@:13.3", type="build") depends_on("py-cython@0.29.22:0.29", type="build", when="@:13.3") depends_on( - "py-cython@3:3.0.10,3.0.12:", type="build", when="@13.4:" + "py-cython@3:3.0.10,3.0.12:", type="build", when="@13.4:13" ) # 3.0.11 broken likely because of cython#6335, fixed in 3.0.12 - depends_on("py-cython@0.29.22:0.29", when="@:13.3 +all", type=("build", "run")) - depends_on("py-cython@3:", when="@13.4: +all", type=("build", "run")) + depends_on("py-cython@3.1", type="build", when="@14:") depends_on("py-fastrlock@0.5:", type=("build", "run")) depends_on("py-numpy@1.20:1.25", when="@:11", type=("build", "run")) depends_on("py-numpy@1.20:1.26", when="@12", type=("build", "run")) @@ -61,7 +71,7 @@ class PyCupy(PythonPackage, CudaPackage, ROCmPackage): depends_on("py-numpy@1.22:2.0", when="@13.2", type=("build", "run")) depends_on("py-numpy@1.22:2.2", when="@13.4", type=("build", "run")) depends_on("py-numpy@1.22:2.3", when="@13.5", type=("build", "run")) - depends_on("py-numpy@1.24:2", when="@14", type=("build", "run")) + depends_on("py-numpy@2:", when="@14", type=("build", "run")) depends_on("py-scipy@1.6:1.11", when="@:12+all", type=("build", "run")) depends_on("py-scipy@1.7:1.16", when="@13+all", type=("build", "run")) depends_on("py-scipy@1.10:1.16", when="@14+all", type=("build", "run")) @@ -76,6 +86,7 @@ class PyCupy(PythonPackage, CudaPackage, ROCmPackage): depends_on("cuda@:12.6", when="@13.3 +cuda") depends_on("cuda@:12.8", when="@13.4 +cuda") depends_on("cuda@:12.9", when="@13.5 +cuda") + depends_on("py-cuda-pathfinder", when="@14: +cuda") for a in CudaPackage.cuda_arch_values: depends_on("nccl +cuda cuda_arch={0}".format(a), when="+cuda cuda_arch={0}".format(a)) @@ -83,7 +94,7 @@ class PyCupy(PythonPackage, CudaPackage, ROCmPackage): "nccl@2.16:2.26 +cuda cuda_arch={0}".format(a), when="@13+cuda cuda_arch={0}".format(a) ) - depends_on("cudnn@8.8", when="@12.0.0: +cuda") + depends_on("cudnn@8.8", when="@12.0.0:13 +cuda") depends_on("cudnn@8.5", when="@11.2.0:11.6.0 +cuda") depends_on("cutensor", when="@:12.1.0 +cuda") depends_on("cutensor@2.0", when="@13.1: +cuda") @@ -111,6 +122,12 @@ class PyCupy(PythonPackage, CudaPackage, ROCmPackage): conflicts("+cuda +rocm") conflicts("+cuda cuda_arch=none") + patch( + "https://patch-diff.githubusercontent.com/raw/cupy/cupy/pull/9022.patch?full_index=1", + sha256="bc96ea317748e42f7651d9f3b97f8db224081f627bcfcb6cc48c2ca139143441", + when="@13.4 ^rocm-core@6.3", + ) + def setup_build_environment(self, env: EnvironmentModifications) -> None: env.set("CUPY_NUM_BUILD_JOBS", str(make_jobs)) if self.spec.satisfies("+cuda"): @@ -125,6 +142,7 @@ def setup_build_environment(self, env: EnvironmentModifications) -> None: "hipsparse": ["include", "include/hipsparse"], "hipfft": ["include", "include/hipfft"], "rocsolver": ["include", "include/rocsolver"], + "rccl": ["include", "include/rccl"], "roctracer-dev": ["include/roctracer"], "hiprand": ["include", "include/hiprand"], "rocrand": ["include"], From cd65e7cd179f5b9664f191acc769b07bc9ba594d Mon Sep 17 00:00:00 2001 From: Till Ehrengruber Date: Thu, 28 May 2026 14:47:54 +0200 Subject: [PATCH 022/180] cuda: conflict glibc@2.42: and cuda@:13.0, fix libxml2 build dependency (#4911) - Glibc in version 2.41 added some C23 functions that conflict with headers in cuda prior to version 13.1. This results in errors like ``` /usr/include/bits/mathcalls.h(83): error: exception specification is incompatible with that of previous function "cospi" (declared at line 5554 of /spack/var/spack/environments/cuda_rqrt_testing/.spack-env/view/bin/../targets/x86_64-linux/include/crt/math_functions.h) extern double cospi (double __x) noexcept (true); extern double __cospi (double __x) noexcept (true); ^ /usr/include/bits/mathcalls.h(85): error: exception specification is incompatible with that of previous function "sinpi" (declared at line 5442 of /spack/var/spack/environments/cuda_rqrt_testing/.spack-env/view/bin/../targets/x86_64-linux/include/crt/math_functions.h) extern double sinpi (double __x) noexcept (true); extern double __sinpi (double __x) noexcept (true); ^ /usr/include/bits/mathcalls.h(206): error: exception specification is incompatible with that of previous function "rsqrt" (declared at line 777 of /spack/var/spack/environments/cuda_rqrt_testing/.spack-env/view/bin/../targets/x86_64-linux/include/crt/math_functions.h) extern double rsqrt (double __x) noexcept (true); extern double __rsqrt (double __x) noexcept (true); ^ /usr/include/bits/mathcalls.h(83): error: exception specification is incompatible with that of previous function "cospif" (declared at line 5606 of /spack/var/spack/environments/cuda_rqrt_testing/.spack-env/view/bin/../targets/x86_64-linux/include/crt/math_functions.h) extern float cospif (float __x) noexcept (true); extern float __cospif (float __x) noexcept (true); ^ /usr/include/bits/mathcalls.h(85): error: exception specification is incompatible with that of previous function "sinpif" (declared at line 5502 of /spack/var/spack/environments/cuda_rqrt_testing/.spack-env/view/bin/../targets/x86_64-linux/include/crt/math_functions.h) extern float sinpif (float __x) noexcept (true); extern float __sinpif (float __x) noexcept (true); ^ /usr/include/bits/mathcalls.h(206): error: exception specification is incompatible with that of previous function "rsqrtf" (declared at line 847 of /spack/var/spack/environments/cuda_rqrt_testing/.spack-env/view/bin/../targets/x86_64-linux/include/crt/math_functions.h) extern float rsqrtf (float __x) noexcept (true); extern float __rsqrtf (float __x) noexcept (true); ``` To avoid this a conflict maker was added. Initially I had a patch of the cuda headers, but while I only needed `rsqrtf` to get cuda 13.0 to work a small test with 12.4 failed with more functions. Since the patch would need to work for many glibc & cuda versions, I went for the simpler, but less user friendly route. - The cuda installer needs libxml2.so which was erroneously removed as a dependency in #4563. On many systems libxml2 is just installed so one easily misses this dependency. Contrary to what is stated in the PR one needs to check for the libxml dependency on the extracted installer, not the run script. Running `./cuda_12.0.0_525.60.13_linux.run --noexec --target /tmp/cuda_files` and then `cat /tmp/cuda_files/cuda-installer | grep libxml` shows that this is still a build time dependency (also confirmed on systems without libxml2 instaled). --- repos/spack_repo/builtin/packages/cuda/package.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/repos/spack_repo/builtin/packages/cuda/package.py b/repos/spack_repo/builtin/packages/cuda/package.py index b7fef494350..6134f2c3edb 100644 --- a/repos/spack_repo/builtin/packages/cuda/package.py +++ b/repos/spack_repo/builtin/packages/cuda/package.py @@ -775,6 +775,14 @@ class Cuda(Package): # cuda-12.8 libcusolver.so requires log2f@GLIBC_2.27 conflicts("glibc@:2.26", when="@12.8:") + conflicts( + "glibc@2.42:", + when="@:13.0", + msg="Incompatible exception specification of some C23 functions (cospi, " + "sinpi, rsqrt, cospif, sinpif, rsqrtf) added in glibc@2.41. Fixed in" + "cuda@13.1.", + ) + variant( "dev", default=False, description="Enable development dependencies, i.e to use cuda-gdb" ) @@ -785,8 +793,8 @@ class Cuda(Package): description="Allow unsupported host compiler and CUDA version combinations", ) - # depended on libxml2.so.2, known unused for 12.0+ (maybe unused for 11) - depends_on("libxml2@:2.13", when="@10.1.243:11") + # `cuda_installer` binary contained in run script depends on libxml2.so.2 + depends_on("libxml2@:2.13", when="@10.1.243:", type="build") # cuda-gdb needed libncurses.so.5 before 11.4.0 # see https://docs.nvidia.com/cuda/archive/11.3.1/cuda-gdb/index.html#common-issues-oss # see https://docs.nvidia.com/cuda/archive/11.4.0/cuda-gdb/index.html#release-notes From 50bc1f4b354e0fb16f23f863fc8b77d59ccc5934 Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Thu, 28 May 2026 16:05:14 +0200 Subject: [PATCH 023/180] py-exceptiongroup: add v1.3.1 (#4973) * py-exceptiongroup: add v1.3.1 * py-exceptiongroup: fix wrong condition --- repos/spack_repo/builtin/packages/py_exceptiongroup/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/repos/spack_repo/builtin/packages/py_exceptiongroup/package.py b/repos/spack_repo/builtin/packages/py_exceptiongroup/package.py index 47d0fb8c88b..2766c2def5f 100644 --- a/repos/spack_repo/builtin/packages/py_exceptiongroup/package.py +++ b/repos/spack_repo/builtin/packages/py_exceptiongroup/package.py @@ -14,7 +14,10 @@ class PyExceptiongroup(PythonPackage): homepage = "https://github.com/agronholm/exceptiongroup" pypi = "exceptiongroup/exceptiongroup-1.0.4.tar.gz" + version("1.3.1", sha256="8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219") version("1.1.1", sha256="d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785") version("1.0.4", sha256="bd14967b79cd9bdb54d97323216f8fdf533e278df937aa2a90089e7d6e06e5ec") depends_on("py-flit-scm", type="build") + + depends_on("py-typing-extensions@4.6:", when="@1.3: ^python@:3.12", type=("build", "run")) From 34d13f5553d49c0401fec20abca94f4baffaed5f Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Thu, 28 May 2026 16:14:18 +0200 Subject: [PATCH 024/180] py-python-slugify: add v8.0.4 (#4990) --- .../spack_repo/builtin/packages/py_python_slugify/package.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/py_python_slugify/package.py b/repos/spack_repo/builtin/packages/py_python_slugify/package.py index 8fc170ca269..91b9d669f34 100644 --- a/repos/spack_repo/builtin/packages/py_python_slugify/package.py +++ b/repos/spack_repo/builtin/packages/py_python_slugify/package.py @@ -15,8 +15,11 @@ class PyPythonSlugify(PythonPackage): license("MIT") + version("8.0.4", sha256="59202371d1d05b54a9e7720c5e038f928f45daaffe41dd10822f3907b937c856") version("4.0.0", sha256="a8fc3433821140e8f409a9831d13ae5deccd0b033d4744d94b31fea141bdd84c") - depends_on("python@2.7:2.8,3.5:", type=("build", "run")) + depends_on("python@3.7:", when="@7:", type=("build", "run")) + depends_on("python@2.7:2.8,3.5:", when="@:4", type=("build", "run")) depends_on("py-setuptools", type="build") + depends_on("py-text-unidecode@1.3:", type=("build", "run")) From 6cfb4a4cca20b44973d189e342903eddbfa8956e Mon Sep 17 00:00:00 2001 From: "John W. Parent" <45471568+johnwparent@users.noreply.github.com> Date: Thu, 28 May 2026 14:18:15 -0400 Subject: [PATCH 025/180] NetCDF-c: Ensure plugin path is posix (#4293) Otherwise CMake will choke on a Windows escape character if based in the C: drive --------- Signed-off-by: John Parent --- repos/spack_repo/builtin/packages/netcdf_c/package.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/repos/spack_repo/builtin/packages/netcdf_c/package.py b/repos/spack_repo/builtin/packages/netcdf_c/package.py index a3d6ef94b3a..3b11b5b7695 100644 --- a/repos/spack_repo/builtin/packages/netcdf_c/package.py +++ b/repos/spack_repo/builtin/packages/netcdf_c/package.py @@ -4,6 +4,7 @@ import itertools import os +import pathlib import sys from spack_repo.builtin.build_systems import autotools, cmake @@ -416,11 +417,15 @@ def cmake_args(self): base_cmake_args.extend( [ self.define("ENABLE_PLUGIN_INSTALL", True), - self.define("NETCDF_WITH_PLUGIN_DIR", self.prefix.plugins), + self.define( + "NETCDF_WITH_PLUGIN_DIR", pathlib.Path(self.prefix.plugins).as_posix() + ), ] ) elif self.spec.satisfies("@4.9.0:+shared"): - base_cmake_args.append(self.define("PLUGIN_INSTALL_DIR", self.prefix.plugins)) + base_cmake_args.append( + self.define("PLUGIN_INSTALL_DIR", pathlib.Path(self.prefix.plugins).as_posix()) + ) return base_cmake_args @run_after("install") From 5b1ca4beb2ad48684dd590035fab431a01b4fd9a Mon Sep 17 00:00:00 2001 From: Matt Thompson Date: Thu, 28 May 2026 16:33:16 -0400 Subject: [PATCH 026/180] pfunit: add v4.18.2, v4.19.0 (#5004) --- repos/spack_repo/builtin/packages/pfunit/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/repos/spack_repo/builtin/packages/pfunit/package.py b/repos/spack_repo/builtin/packages/pfunit/package.py index 90ea30f223c..aab7ef38fbd 100644 --- a/repos/spack_repo/builtin/packages/pfunit/package.py +++ b/repos/spack_repo/builtin/packages/pfunit/package.py @@ -23,6 +23,8 @@ class Pfunit(CMakePackage): license("NASA-1.3", checked_by="mathomp4", when="@:4.16") license("Apache-2.0", checked_by="mathomp4", when="@4.17:") + version("4.19.0", sha256="ec84e2e17d79598d782edc5468e7ebfe392ccf5aff9170a15c10f0b52f9f62b4") + version("4.18.2", sha256="d2bdc52372e42d8f0e27d06325c73ce0133b886d207cb5efb6d7fc6f0b536f48") version("4.18.1", sha256="34654ac27c3498333210cac480d6319d3d8c0230057fd0974f3e3c4d656b8cd9") version("4.18.0", sha256="e1beb32e95f487423720b85bbb8314f46af5321f3ed0d06cf0122bc479ecb812") version("4.17.1", sha256="de3d3a9d097762e41763035b1e8f39edfce7606c7ccda01839ca6331580ef38c") From 8e5dfb513efce5799452a01e43a81e1b5336f8f4 Mon Sep 17 00:00:00 2001 From: Cyrus Harrison Date: Thu, 28 May 2026 13:39:00 -0700 Subject: [PATCH 027/180] add conduit 0.9.7 (#5005) * add conduit 0.9.6 release * add conduit 0.9.7 release --- repos/spack_repo/builtin/packages/conduit/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/conduit/package.py b/repos/spack_repo/builtin/packages/conduit/package.py index 998cf4a5060..c65675cf240 100644 --- a/repos/spack_repo/builtin/packages/conduit/package.py +++ b/repos/spack_repo/builtin/packages/conduit/package.py @@ -49,6 +49,7 @@ class Conduit(CachedCMakePackage): # is to bridge any spack dependencies that are still using the name master version("master", branch="develop", submodules=True) # note: 2021-05-05 latest tagged release is now preferred instead of develop + version("0.9.7", sha256="e207016e453dd360b2d9a5a1245e53a9aa26ed83fdfb02cc08fc7bfed664f923") version("0.9.6", sha256="370780082f095ebcb5c43067b650c78325088df726488dc5c6d414e7037c847d") version("0.9.5", sha256="d93294efbf0936da5a27941e13486aa1a04a74a59285786a2303eed19a24265a") version("0.9.4", sha256="c9edfb2ff09890084313ad9c2d83bfb7c10e70b696980762d1ae1488f9f08e6c") From 291d90569f196a4bee0d08864665f6a2dc26ce26 Mon Sep 17 00:00:00 2001 From: Michael Kuhn Date: Thu, 28 May 2026 22:40:37 +0200 Subject: [PATCH 028/180] rocksdb: add 11.1.1 (#4993) --- repos/spack_repo/builtin/packages/rocksdb/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/rocksdb/package.py b/repos/spack_repo/builtin/packages/rocksdb/package.py index a97d77ea20d..5c2109c5fff 100644 --- a/repos/spack_repo/builtin/packages/rocksdb/package.py +++ b/repos/spack_repo/builtin/packages/rocksdb/package.py @@ -17,6 +17,7 @@ class Rocksdb(MakefilePackage): license("Apache-2.0 OR GPL-2.0-only") version("master", git=git, branch="master", submodules=True) + version("11.1.1", sha256="63f11183fe40725a0e89a9e392f2c86c94b90064f1d95f5173a02cfe40de13f7") version("10.10.1", sha256="df2ff348f3fac8578fd4b727eee7267aaf90cd403c99b55e898d1db63fa8cff5") version("10.4.2", sha256="afccfab496556904900afacf7d99887f1d50cb893e5d2288bd502db233adacac") version("9.4.0", sha256="1f829976aa24b8ba432e156f52c9e0f0bd89c46dc0cc5a9a628ea70571c1551c") From 036cd3ea34351871c07edde2b64e5901538ca541 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 28 May 2026 23:17:44 -0600 Subject: [PATCH 029/180] build(deps): bump aws-actions/configure-aws-credentials (#5011) Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 6.1.2 to 6.1.3. - [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases) - [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md) - [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/acca2b1b2070338fb9fd1ca27ecee81d687e58e5...99214aa6889fcddfa57764031d71add364327e59) --- updated-dependencies: - dependency-name: aws-actions/configure-aws-credentials dependency-version: 6.1.3 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> --- .github/workflows/update-src-mirror.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update-src-mirror.yml b/.github/workflows/update-src-mirror.yml index 5d75bb43fb3..c268aa938d1 100644 --- a/.github/workflows/update-src-mirror.yml +++ b/.github/workflows/update-src-mirror.yml @@ -52,7 +52,7 @@ jobs: - name: Configure AWS credentials if: steps.create-mirror.outputs.new-specs == 'true' - uses: aws-actions/configure-aws-credentials@acca2b1b2070338fb9fd1ca27ecee81d687e58e5 # v6.1.2 + uses: aws-actions/configure-aws-credentials@99214aa6889fcddfa57764031d71add364327e59 # v6.1.3 with: role-to-assume: ${{ secrets.AWS_ROLE_ARN }} aws-region: ${{ secrets.AWS_REGION }} From cba9f7ba7e5d805a5e4fa31cbe2b1996052772aa Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Fri, 29 May 2026 09:17:26 +0200 Subject: [PATCH 030/180] gcc: add `+graphite+bootstrap` conflict and other minor fixes (#5010) **gcc:** - Fix bug in `detect_gdc`: `elif len(candidate_specs) == 0` was dead code and should be `== 1` (single-candidate fast path) - Replace deprecated `self.compiler` with `self["c"]` (compiler-as-dependency API) in `detect_gdc` - Remove dead code in `nvptx_install`: options built before the `working_dir` block were overwritten unconditionally (leftover from #40897) - Convert remaining `.format()` strings to f-strings in `nvptx_install` - Add `conflicts("+graphite +bootstrap")`: the combination causes reproducible bootstrap comparison failures on GCC 16 (stage 2/3 object files differ) due to the use of hash tables in `isl` keyed by pointer values **isl:** add v0.27 **mpc:** add v1.4.1 Signed-off-by: Massimiliano Culpo --- .../builtin/packages/gcc/package.py | 91 +++++++++---------- .../builtin/packages/gmp/package.py | 2 + .../builtin/packages/isl/package.py | 3 + .../builtin/packages/mpc/package.py | 7 ++ .../builtin/packages/mpfr/package.py | 2 +- 5 files changed, 54 insertions(+), 51 deletions(-) diff --git a/repos/spack_repo/builtin/packages/gcc/package.py b/repos/spack_repo/builtin/packages/gcc/package.py index ebe9ca1eee3..dff82aab3f5 100644 --- a/repos/spack_repo/builtin/packages/gcc/package.py +++ b/repos/spack_repo/builtin/packages/gcc/package.py @@ -15,7 +15,8 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage, CompilerPackage): """The GNU Compiler Collection includes front ends for C, C++, Objective-C, - Fortran, Ada, and Go, as well as libraries for these languages.""" + Fortran, Ada, and Go, as well as libraries for these languages. + """ homepage = "https://gcc.gnu.org" gnu_mirror_path = "gcc/gcc-9.2.0/gcc-9.2.0.tar.xz" @@ -64,9 +65,6 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage, CompilerPackage): version("4.6.4", sha256="35af16afa0b67af9b8eb15cafb76d2bc5f568540552522f5dc2c88dd45d977e8") version("4.5.4", sha256="eef3f0456db8c3d992cbb51d5d32558190bc14f3bc19383dd93acc27acc6befc") - # Used in the tutorial - version("12.3.0", sha256="949a5d4f99e786421a93b532b22ffab5578de7321369975b91aec97adfda8c3b") - # Deprecated older non-final releases with default_args(deprecated=True): version( @@ -86,6 +84,9 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage, CompilerPackage): version( "12.4.0", sha256="704f652604ccbccb14bdabf3478c9511c89788b12cb3bbffded37341916a9175" ) + version( + "12.3.0", sha256="949a5d4f99e786421a93b532b22ffab5578de7321369975b91aec97adfda8c3b" + ) version( "12.2.0", sha256="e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff" ) @@ -205,30 +206,34 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage, CompilerPackage): ) variant("libsanitizer", default=True, description="Use libsanitizer") + # See https://gcc.gnu.org/install/prerequisites.html + depends_on("c", type="build") depends_on("cxx", type="build") - - depends_on("flex", type="build", when="@master") - - # https://gcc.gnu.org/install/prerequisites.html - depends_on("gmp@4.3.2:") # mawk is not sufficient for go support depends_on("gawk@3.1.5:", type="build") depends_on("texinfo@4.7:", type="build") depends_on("libtool", type="build") - # dependencies required for git versions - depends_on("m4@1.4.6:", when="@master", type="build") - depends_on("automake@1.15.1:", when="@master", type="build") - depends_on("autoconf@2.69:", when="@master", type="build") depends_on("gmake@3.80:", type="build") depends_on("perl@5", type="build") + depends_on("diffutils", type="build") + + with when("@master"): + depends_on("flex", type="build") + # dependencies required for git versions + depends_on("m4@1.4.6:", type="build") + depends_on("automake@1.15.1:", type="build") + depends_on("autoconf@2.69:", type="build") + + depends_on("gmp@4.3.2:") # GCC 7.3 does not compile with newer releases on some platforms, see # https://github.com/spack/spack/issues/6902#issuecomment-433030376 depends_on("mpfr@2.4.2:3.1.6", when="@:9.9") depends_on("mpfr@3.1.0:", when="@10:") depends_on("mpc@1.0.1:", when="@4.5:") + # Already released GCC versions do not support any newer version of ISL # GCC 5.4 https://github.com/spack/spack/issues/6902#issuecomment-433072097 # GCC 7.3 https://github.com/spack/spack/issues/6902#issuecomment-433030376 @@ -242,7 +247,6 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage, CompilerPackage): depends_on("zlib-api", when="@6:") depends_on("zstd", when="@10:") - depends_on("diffutils", type="build") depends_on("iconv", when="platform=darwin") depends_on("gnat", when="languages=ada") depends_on( @@ -259,11 +263,12 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage, CompilerPackage): # depends_on('cloog') # https://gcc.gnu.org/install/test.html - depends_on("dejagnu@1.4.4", type="test") - depends_on("expect", type="test") - depends_on("tcl", type="test") - depends_on("autogen@5.5.4:", type="test") - depends_on("guile@1.4.1:", type="test") + with default_args(type="test"): + depends_on("dejagnu@1.4.4") + depends_on("expect") + depends_on("tcl") + depends_on("autogen@5.5.4:") + depends_on("guile@1.4.1:") # See https://go.dev/doc/install/gccgo#Releases with when("languages=go"): @@ -394,6 +399,9 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage, CompilerPackage): # NVPTX build disables bootstrap conflicts("+bootstrap") + # Graphite loop optimizations cause bootstrap comparison failures + conflicts("+graphite +bootstrap") + # Binutils can't build ld on macOS conflicts("+binutils", when="platform=darwin") @@ -1002,40 +1010,23 @@ def copy_nvptx_tools(self): # run configure/make/make(install) for the nvptx-none target # before running the host compiler phases - @run_before("configure") + @run_before("configure", when="+nvptx") def nvptx_install(self): - spec = self.spec - prefix = self.prefix - - if not spec.satisfies("+nvptx"): - return + self.copy_nvptx_tools() + self.link_newlib() # config.guess returns the host triple, e.g. "x86_64-pc-linux-gnu" guess = Executable("./config.guess") targetguess = guess(output=str).rstrip("\n") - - options = getattr(self, "configure_flag_args", []) - options += ["--prefix={0}".format(prefix)] - - options += [ - "--with-cuda-driver-include={0}".format(spec["cuda"].prefix.include), - "--with-cuda-driver-lib={0}".format(spec["cuda"].libs.directories[0]), - ] - - self.copy_nvptx_tools() - - self.link_newlib() - - # self.build_directory = 'spack-build-nvptx' with working_dir("spack-build-nvptx", create=True): options = [ - "--prefix={0}".format(prefix), - "--enable-languages={0}".format(",".join(spec.variants["languages"].value)), - "--with-mpfr={0}".format(spec["mpfr"].prefix), - "--with-gmp={0}".format(spec["gmp"].prefix), + f"--prefix={self.prefix}", + f"--enable-languages={','.join(self.spec.variants['languages'].value)}", + f"--with-mpfr={self.spec['mpfr'].prefix}", + f"--with-gmp={self.spec['gmp'].prefix}", "--target=nvptx-none", - "--with-build-time-tools={0}".format(join_path(prefix, "nvptx-none", "bin")), - "--enable-as-accelerator-for={0}".format(targetguess), + f"--with-build-time-tools={join_path(self.prefix, 'nvptx-none', 'bin')}", + f"--enable-as-accelerator-for={targetguess}", "--disable-sjlj-exceptions", "--enable-newlib-io-long-long", ] @@ -1161,10 +1152,10 @@ def detect_gdc(self): Should be use only if self.spec.satisfies("@12: languages=d") """ # Detect GCC package in the directory of the GCC compiler - # or in the $PATH if self.compiler.cc is not an absolute path: + # or in the $PATH if self["c"].cc is not an absolute path: from spack.detection import by_path # TODO: remove use of private Spack API - compiler_dir = os.path.dirname(self.compiler.cc) + compiler_dir = os.path.dirname(self["c"].cc) detected_packages = by_path( [self.name], path_hints=([compiler_dir] if os.path.isdir(compiler_dir) else None) ) @@ -1180,7 +1171,7 @@ def detect_gdc(self): if candidate_specs: # We now need to filter specs that match the compiler version: - compiler_spec = Spec(repr(self.compiler.spec)) + compiler_spec = self["c"].spec # First, try to filter specs that satisfy the compiler spec: new_candidate_specs = list( @@ -1211,7 +1202,7 @@ def detect_gdc(self): error_nl, self.spec.format("{name}{@version} {variants.languages}") ), ) - elif len(candidate_specs) == 0: + elif len(candidate_specs) == 1: return candidate_specs[0].extra_attributes["compilers"]["d"] else: # It is rather unlikely to end up here but let us try to resolve the ambiguity: @@ -1224,7 +1215,7 @@ def detect_gdc(self): else: raise InstallError( "Cannot resolve ambiguity when detecting GDC that belongs to %{0}".format( - self.compiler.spec + self["c"].spec ), long_msg="The candidates are:{0}{0}{1}{0}".format( error_nl, diff --git a/repos/spack_repo/builtin/packages/gmp/package.py b/repos/spack_repo/builtin/packages/gmp/package.py index ea1b365e10d..de4fe73dc59 100644 --- a/repos/spack_repo/builtin/packages/gmp/package.py +++ b/repos/spack_repo/builtin/packages/gmp/package.py @@ -15,6 +15,8 @@ class Gmp(AutotoolsPackage, GNUMirrorPackage): homepage = "https://gmplib.org" gnu_mirror_path = "gmp/gmp-6.1.2.tar.bz2" + maintainers("alalazo") + license("LGPL-3.0-or-later OR GPL-2.0-or-later") version("6.3.0", sha256="ac28211a7cfb609bae2e2c8d6058d66c8fe96434f740cf6fe2e47b000d1c20cb") diff --git a/repos/spack_repo/builtin/packages/isl/package.py b/repos/spack_repo/builtin/packages/isl/package.py index 53bc79504cc..0736a4a8a69 100644 --- a/repos/spack_repo/builtin/packages/isl/package.py +++ b/repos/spack_repo/builtin/packages/isl/package.py @@ -14,8 +14,11 @@ class Isl(AutotoolsPackage): homepage = "https://libisl.sourceforge.io/" url = "https://libisl.sourceforge.io/isl-0.21.tar.bz2" + maintainers("alalazo") + license("MIT") + version("0.27", sha256="626335529331f7c89fec493de929e2e92fb3d8cc860fc7af554e0518ee0029ee") version("0.26", sha256="5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436") version("0.25", sha256="4305c54d4eebc4bf3ce365af85f04984ef5aa97a52e01128445e26da5b1f467a") version("0.24", sha256="fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0") diff --git a/repos/spack_repo/builtin/packages/mpc/package.py b/repos/spack_repo/builtin/packages/mpc/package.py index dae9aea1af2..3108ded0b00 100644 --- a/repos/spack_repo/builtin/packages/mpc/package.py +++ b/repos/spack_repo/builtin/packages/mpc/package.py @@ -17,8 +17,15 @@ class Mpc(AutotoolsPackage, GNUMirrorPackage): gnu_mirror_path = "mpc/mpc-1.1.0.tar.gz" list_url = "http://www.multiprecision.org/mpc/download.html" + maintainers("alalazo") + license("GPL-2.0-or-later") + version( + "1.4.1", + sha256="91204cd32f164bd3b7c992d4a6a8ce6519511aadab30f78b6982d0bf8d73e931", + url="https://ftp.gnu.org/gnu/mpc/mpc-1.4.1.tar.xz", + ) version("1.3.1", sha256="ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8") version("1.2.1", sha256="17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459") version("1.1.0", sha256="6985c538143c1208dcb1ac42cedad6ff52e267b47e5f970183a3e75125b43c2e") diff --git a/repos/spack_repo/builtin/packages/mpfr/package.py b/repos/spack_repo/builtin/packages/mpfr/package.py index 71d3be23a1e..0fc18ea9002 100644 --- a/repos/spack_repo/builtin/packages/mpfr/package.py +++ b/repos/spack_repo/builtin/packages/mpfr/package.py @@ -15,7 +15,7 @@ class Mpfr(AutotoolsPackage, GNUMirrorPackage): homepage = "https://www.mpfr.org/" gnu_mirror_path = "mpfr/mpfr-4.0.2.tar.bz2" - maintainers("cessenat") + maintainers("alalazo", "cessenat") license("LGPL-3.0-or-later") From c6e541dfa586c7a84f39f05e841974e0cac9ac1f Mon Sep 17 00:00:00 2001 From: Manuela Kuhn <36827019+manuelakuhn@users.noreply.github.com> Date: Fri, 29 May 2026 16:37:34 +0200 Subject: [PATCH 031/180] py-bids-validator-deno: add v2.4.1 (#5008) --- .../builtin/packages/py_bids_validator_deno/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/py_bids_validator_deno/package.py b/repos/spack_repo/builtin/packages/py_bids_validator_deno/package.py index 9a53cafc62d..6e99787c9eb 100644 --- a/repos/spack_repo/builtin/packages/py_bids_validator_deno/package.py +++ b/repos/spack_repo/builtin/packages/py_bids_validator_deno/package.py @@ -15,6 +15,7 @@ class PyBidsValidatorDeno(PythonPackage): license("MIT") + version("2.4.1", sha256="a79b4af2818a200ff5a597715a3c1050ae93be7cb523bcfef54b93af057d8466") version("2.4.0", sha256="78cd6bc4d43aa6b17555185181c74b22e2ccaea8c3494175b6524807b467aa94") version("2.0.7", sha256="55a46dc9e134c2996ecb077896aad65e5320f3c864b41c47e108011f8fd1e2d1") From 2bb157c8780ee42e46c6fc3517960ff93f935306 Mon Sep 17 00:00:00 2001 From: Manuela Kuhn <36827019+manuelakuhn@users.noreply.github.com> Date: Fri, 29 May 2026 16:38:28 +0200 Subject: [PATCH 032/180] py-librt: add v0.11.0 (#4982) --- repos/spack_repo/builtin/packages/py_librt/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/py_librt/package.py b/repos/spack_repo/builtin/packages/py_librt/package.py index 4bf6533f289..3909511c846 100644 --- a/repos/spack_repo/builtin/packages/py_librt/package.py +++ b/repos/spack_repo/builtin/packages/py_librt/package.py @@ -15,6 +15,7 @@ class PyLibrt(PythonPackage): license("MIT AND PSF-2.0") + version("0.11.0", sha256="075dc3ef4458a278e0195cbf6ac9d38808d9b906c5a6c7f7f79c3888276a3fb1") version("0.9.0", sha256="a0951822531e7aee6e0dfb556b30d5ee36bbe234faf60c20a16c01be3530869d") version("0.6.3", sha256="c724a884e642aa2bbad52bb0203ea40406ad742368a5f90da1b220e970384aae") From de6c5e38b10ec712b831af4c4db84dfe1cb66361 Mon Sep 17 00:00:00 2001 From: Manuela Kuhn <36827019+manuelakuhn@users.noreply.github.com> Date: Fri, 29 May 2026 17:07:52 +0200 Subject: [PATCH 033/180] py-virtualenv: add v21.4.1 (#4981) --- .../spack_repo/builtin/packages/py_python_discovery/package.py | 1 + repos/spack_repo/builtin/packages/py_virtualenv/package.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/repos/spack_repo/builtin/packages/py_python_discovery/package.py b/repos/spack_repo/builtin/packages/py_python_discovery/package.py index de002554296..e21fab0b894 100644 --- a/repos/spack_repo/builtin/packages/py_python_discovery/package.py +++ b/repos/spack_repo/builtin/packages/py_python_discovery/package.py @@ -15,6 +15,7 @@ class PyPythonDiscovery(PythonPackage): license("MIT") + version("1.4.0", sha256="eb8bc7daad3c226c147e45bb4e970a1feb1bf4048ee178e6db59e197b8010ce3") version("1.2.2", sha256="876e9c57139eb757cb5878cbdd9ae5379e5d96266c99ef731119e04fffe533bb") version("1.2.1", sha256="180c4d114bff1c32462537eac5d6a332b768242b76b69c0259c7d14b1b680c9e") diff --git a/repos/spack_repo/builtin/packages/py_virtualenv/package.py b/repos/spack_repo/builtin/packages/py_virtualenv/package.py index 36f6eb4a32f..dac7e24561e 100644 --- a/repos/spack_repo/builtin/packages/py_virtualenv/package.py +++ b/repos/spack_repo/builtin/packages/py_virtualenv/package.py @@ -16,6 +16,7 @@ class PyVirtualenv(PythonPackage): license("MIT") + version("21.4.1", sha256="2ca543c713b72840ceffd94e9bdedfbd09a661defa1f7f69e5429ad4059442e2") version("21.2.0", sha256="1720dc3a62ef5b443092e3f499228599045d7fea4c79199770499df8becf9098") version("20.35.3", sha256="4f1a845d131133bdff10590489610c98c168ff99dc75d6c96853801f7f67af44") version("20.26.6", sha256="280aede09a2a5c317e409a00102e7077c6432c5a38f0ef938e643805a7ad2c48") @@ -82,6 +83,7 @@ class PyVirtualenv(PythonPackage): depends_on("py-platformdirs@2.4:2", when="@20.16.3:20.21") depends_on("py-platformdirs@2:2", when="@20.5:20.16.2") + depends_on("py-python-discovery@1.4:", when="@21.4:") depends_on("py-python-discovery@1:", when="@21:") depends_on("py-typing-extensions@4.13.2:", when="@20.34: ^python@:3.10") From 594fe5117a0e92f5faa8d0db4e5443cffda7a2e3 Mon Sep 17 00:00:00 2001 From: Manuela Kuhn <36827019+manuelakuhn@users.noreply.github.com> Date: Fri, 29 May 2026 17:09:29 +0200 Subject: [PATCH 034/180] py-mne: add v1.12.1 (#4975) --- repos/spack_repo/builtin/packages/py_mne/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/py_mne/package.py b/repos/spack_repo/builtin/packages/py_mne/package.py index 397dd029d70..06a42abb191 100644 --- a/repos/spack_repo/builtin/packages/py_mne/package.py +++ b/repos/spack_repo/builtin/packages/py_mne/package.py @@ -18,6 +18,7 @@ class PyMne(PythonPackage): license("BSD-3-Clause") + version("1.12.1", sha256="244f844057f28a4da2509039dba637832ffb65f678ca76fc667312c493b12044") version("1.12.0", sha256="29ff8331ba58626b5ce361dee66c0de5e331a0fd8217ac7543fb552ce667f522") version("1.11.0", sha256="0a89b8fc44133b81218a35cdcba74ad0f8ae2e265136249b365b9ce04864c688") version("1.10.2", sha256="e83610ed3fa86086c7b2006e978e2ec39d9ebc8d72e2777fde64c68674ec561f") From cc6eb48697fef0a03ef9b6c0230639ad0e372d06 Mon Sep 17 00:00:00 2001 From: AMD Toolchain Support <73240730+amd-toolchain-support@users.noreply.github.com> Date: Fri, 29 May 2026 20:40:05 +0530 Subject: [PATCH 035/180] AOCC: add v5.2.0 (#5015) --- repos/spack_repo/builtin/packages/aocc/package.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/repos/spack_repo/builtin/packages/aocc/package.py b/repos/spack_repo/builtin/packages/aocc/package.py index 233da1c4126..8af47884450 100644 --- a/repos/spack_repo/builtin/packages/aocc/package.py +++ b/repos/spack_repo/builtin/packages/aocc/package.py @@ -35,6 +35,11 @@ class Aocc(Package, LlvmDetection, CompilerPackage): maintainers("amd-toolchain-support") + version( + ver="5.2.0", + sha256="f98af7e2ae8801dd4ba443520653acb739536a86c2a1caf096310c3cfd554ca0", + url="https://download.amd.com/developer/eula/aocc/aocc-5-2/aocc-compiler-5.2.0.tar", + ) version( ver="5.1.0", sha256="3ccb56e399c66e10d437feb24b73552bc560210f7606d2609c06a7ef35d22c69", From 86e2acd247221d45f9944ac2f69518b8766baec3 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Fri, 29 May 2026 18:10:48 +0200 Subject: [PATCH 036/180] py-boto3: add v1.43.17, updated dependencies (#5016) * Add py-boto3@1.43.17, py-botocore@1.43.17, py-s3transfer@0.18.0 * py-python-dateutil: remove spurious setuptools-scm@:7 upper bound that caused the concretizer to fall back to 2.5.2 on Python 3.10+ * Add python@:3.9 upper bound and deprecate @:2.6 versions of py-python-dateutil Signed-off-by: Massimiliano Culpo --- .../builtin/packages/py_boto3/package.py | 8 ++++++-- .../builtin/packages/py_botocore/package.py | 4 +++- .../builtin/packages/py_python_dateutil/package.py | 14 +++++++++----- .../builtin/packages/py_s3transfer/package.py | 3 +++ 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/repos/spack_repo/builtin/packages/py_boto3/package.py b/repos/spack_repo/builtin/packages/py_boto3/package.py index 9b6036f788c..f863be580c1 100644 --- a/repos/spack_repo/builtin/packages/py_boto3/package.py +++ b/repos/spack_repo/builtin/packages/py_boto3/package.py @@ -15,6 +15,7 @@ class PyBoto3(PythonPackage): license("Apache-2.0") + version("1.43.17", sha256="8cf48babdd52ff0e2d891dc661143780b361d3776a3be06cd719da0696995074") version("1.42.85", sha256="1cd3dcbfaba85c6071ba9397c1804b6a94a1a97031b8f1993fdba27c0c5d6eba") version("1.40.64", sha256="b92d6961c352f2bb8710c9892557d4b0e11258b70967d4e740e1c97375bcd779") version("1.34.162", sha256="873f8f5d2f6f85f1018cbb0535b03cceddc7b655b61f66a0a56995238804f41f") @@ -37,7 +38,8 @@ class PyBoto3(PythonPackage): version("1.9.253", sha256="d93f1774c4bc66e02acdda2067291acb9e228a035435753cb75f83ad2904cbe3") version("1.9.169", sha256="9d8bd0ca309b01265793b7e8d7b88c1df439737d77c8725988f0277bbf58d169") - depends_on("python@3.9:", when="@1.38:", type=("build", "run")) + depends_on("python@3.10:", when="@1.43:", type=("build", "run")) + depends_on("python@3.9:", when="@1.38:1.42", type=("build", "run")) depends_on("python@3.7:", when="@1.26:", type=("build", "run")) depends_on("python@3.6:", when="@1.18:", type=("build", "run")) depends_on("python@2.7:2.8,3.6:", when="@1.17:", type=("build", "run")) @@ -45,6 +47,7 @@ class PyBoto3(PythonPackage): depends_on("py-setuptools", type="build") with default_args(type=("build", "run")): + depends_on("py-botocore@1.43.17:1.43", when="@1.43.17") depends_on("py-botocore@1.42.85:1.42", when="@1.42.85") depends_on("py-botocore@1.40.64:1.40", when="@1.40.64") depends_on("py-botocore@1.34.162:1.34", when="@1.34.162") @@ -65,7 +68,8 @@ class PyBoto3(PythonPackage): depends_on("py-jmespath@0.7.1:1") depends_on("py-jmespath@0.7.1:0", when="@:1.20") - depends_on("py-s3transfer@0.16", when="@1.42:") + depends_on("py-s3transfer@0.18", when="@1.43:") + depends_on("py-s3transfer@0.16", when="@1.42:1.42") depends_on("py-s3transfer@0.14", when="@1.40.27:1.41.0") depends_on("py-s3transfer@0.10", when="@1.34.6:1.35") depends_on("py-s3transfer@0.9", when="@1.34:1.34.5") diff --git a/repos/spack_repo/builtin/packages/py_botocore/package.py b/repos/spack_repo/builtin/packages/py_botocore/package.py index 1ed1a9669da..50868ec47a4 100644 --- a/repos/spack_repo/builtin/packages/py_botocore/package.py +++ b/repos/spack_repo/builtin/packages/py_botocore/package.py @@ -15,6 +15,7 @@ class PyBotocore(PythonPackage): license("Apache-2.0") + version("1.43.17", sha256="27f4ecb80cf1e5be70415fc4a4d3db3907d41ef8178c9df822364f275427d375") version("1.42.85", sha256="2ee61f80b7724a143e16d0a85408ef5fa20b99dce7a3c8ec5d25cc8dced164c1") version("1.40.64", sha256="a13af4009f6912eafe32108f6fa584fb26e24375149836c2bcaaaaec9a7a9e58") version("1.34.162", sha256="adc23be4fb99ad31961236342b7cbf3c0bfc62532cd02852196032e8c0d682f3") @@ -44,7 +45,8 @@ class PyBotocore(PythonPackage): version("1.12.253", sha256="3baf129118575602ada9926f5166d82d02273c250d0feb313fc270944b27c48b") version("1.12.169", sha256="25b44c3253b5ed1c9093efb57ffca440c5099a2d62fa793e8b6c52e72f54b01e") - depends_on("python@3.9:", when="@1.38:", type=("build", "run")) + depends_on("python@3.10:", when="@1.43:", type=("build", "run")) + depends_on("python@3.9:", when="@1.38:1.42", type=("build", "run")) depends_on("py-setuptools", type="build") with default_args(type=("build", "run")): diff --git a/repos/spack_repo/builtin/packages/py_python_dateutil/package.py b/repos/spack_repo/builtin/packages/py_python_dateutil/package.py index ddfcdc80c14..b81f885475f 100644 --- a/repos/spack_repo/builtin/packages/py_python_dateutil/package.py +++ b/repos/spack_repo/builtin/packages/py_python_dateutil/package.py @@ -22,14 +22,18 @@ class PyPythonDateutil(PythonPackage): version("2.8.1", sha256="73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c") version("2.8.0", sha256="c89805f6f4d64db21ed966fda138f8a5ed7a4fdbc1a8ee329ce1b74e3c74da9e") version("2.7.5", sha256="88f9287c0174266bb0d8cedd395cfba9c58e87e5ad86b2ce58859bc11be3cf02") - version("2.5.2", sha256="063907ef47f6e187b8fe0728952e4effb587a34f2dc356888646f9b71fbb2e4b") - version("2.4.2", sha256="3e95445c1db500a344079a47b171c45ef18f57d188dffdb0e4165c71bea8eb3d") - version("2.4.0", sha256="439df33ce47ef1478a4f4765f3390eab0ed3ec4ae10be32f2930000c8d19f417") - version("2.2", sha256="eec865307ebe7f329a6a9945c15453265a449cdaaf3710340828a1934d53e468") + with default_args(deprecated=True): + version("2.5.2", sha256="063907ef47f6e187b8fe0728952e4effb587a34f2dc356888646f9b71fbb2e4b") + version("2.4.2", sha256="3e95445c1db500a344079a47b171c45ef18f57d188dffdb0e4165c71bea8eb3d") + version("2.4.0", sha256="439df33ce47ef1478a4f4765f3390eab0ed3ec4ae10be32f2930000c8d19f417") + version("2.2", sha256="eec865307ebe7f329a6a9945c15453265a449cdaaf3710340828a1934d53e468") + + # parser.py uses collections.Callable, removed in Python 3.10; fixed in 2.7.0 + depends_on("python@:3.9", when="@:2.6", type=("build", "run")) with default_args(type="build"): depends_on("py-setuptools@24.3:") - depends_on("py-setuptools-scm@:7", when="@2.7:") + depends_on("py-setuptools-scm", when="@2.7:") depends_on("py-wheel", when="@2.8.0:") with default_args(type=("build", "run")): diff --git a/repos/spack_repo/builtin/packages/py_s3transfer/package.py b/repos/spack_repo/builtin/packages/py_s3transfer/package.py index 816b152d56c..d2f53171a60 100644 --- a/repos/spack_repo/builtin/packages/py_s3transfer/package.py +++ b/repos/spack_repo/builtin/packages/py_s3transfer/package.py @@ -15,6 +15,7 @@ class PyS3transfer(PythonPackage): license("Apache-2.0") + version("0.18.0", sha256="3760b8b7ec1315da54048b2d626276732bee4300d054d492d4e1d43e20d4ecbd") version("0.16.0", sha256="8e990f13268025792229cd52fa10cb7163744bf56e719e0b9cb925ab79abf920") version("0.14.0", sha256="eff12264e7c8b4985074ccce27a3b38a485bb7f7422cc8046fee9be4983e4125") version("0.10.0", sha256="d0c8bbf672d5eebbe4e57945e23b972d963f07d82f661cabf678a5c88831595b") @@ -30,6 +31,8 @@ class PyS3transfer(PythonPackage): depends_on("py-setuptools", type="build") + depends_on("python@3.10:", when="@0.18:", type=("build", "run")) + depends_on("py-botocore@1.37.4:1", type=("build", "run"), when="@0.11.4:") depends_on("py-botocore@1.33.2:1", type=("build", "run"), when="@0.8.1:") depends_on("py-botocore@1.32.7:1", type=("build", "run"), when="@0.8.0:") From f647e86601d2e47a5e8cdbe34b5d1f413a98fa6d Mon Sep 17 00:00:00 2001 From: AMD Toolchain Support <73240730+amd-toolchain-support@users.noreply.github.com> Date: Fri, 29 May 2026 21:41:24 +0530 Subject: [PATCH 037/180] amduprof: add v5.3.518 (#5014) --- repos/spack_repo/builtin/packages/amduprof/package.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/repos/spack_repo/builtin/packages/amduprof/package.py b/repos/spack_repo/builtin/packages/amduprof/package.py index f99b9b2f8d5..24653c85037 100644 --- a/repos/spack_repo/builtin/packages/amduprof/package.py +++ b/repos/spack_repo/builtin/packages/amduprof/package.py @@ -22,6 +22,11 @@ class Amduprof(Package): maintainers("amd-toolchain-support") + version( + "5.3.518", + sha256="041dcaeaad74c49f7977e10afbefa5356c2c1066f65ca188ac0eb38589e9edb4", + url="file://{0}/AMDuProf_Linux_x64_5.3.518.tar.bz2".format(os.getcwd()), + ) version( "5.2.606", sha256="d5856a6640f6c673941dcb6e42f72b589d656ba40d2ba03ff1215611b2830f11", From 83fce39a7c0144f53566a2490fc2c4252e9e159e Mon Sep 17 00:00:00 2001 From: Vicente Bolea Date: Fri, 29 May 2026 12:37:07 -0400 Subject: [PATCH 038/180] visit: add smoke test (#95) * visit: add smoke test * Update repos/spack_repo/builtin/packages/visit/package.py Co-authored-by: Cyrus Harrison --------- Co-authored-by: Cyrus Harrison --- .../builtin/packages/visit/package.py | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/repos/spack_repo/builtin/packages/visit/package.py b/repos/spack_repo/builtin/packages/visit/package.py index b29bd00e31f..3b379da6f1e 100644 --- a/repos/spack_repo/builtin/packages/visit/package.py +++ b/repos/spack_repo/builtin/packages/visit/package.py @@ -422,3 +422,29 @@ def determine_version(cls, exe): # see https://github.com/visit-dav/visit/issues/20055 unresolved_libraries = ["*"] + + def test_smoke_test(self): + """Test visit -cli""" + spec = self.spec + + if "~python" in spec: + raise SkipTest("Package must be installed with +python") + + visit_cmd = Executable(spec["visit"].prefix.bin.visit) + testdir = "smoke_test_build" + with working_dir(testdir, create=True): + script_file_path = "script_file.py" + with open(script_file_path, "w") as f: + f.write( + """ + from visit import * + if "AddPlot" in dir(): + print("VisIt Success") + """ + ) + visit_cmd("-cli", "-nowin", "-s", "{script_file_path}") + + @run_after("install") + @on_package_attributes(run_tests=True) + def build_test(self): + self.test_smoke_test() From d846837f7ab2a61072bdc4e0dfdf3c3844dc2529 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vicente=20Mataix=20Ferr=C3=A1ndiz?= Date: Fri, 29 May 2026 20:57:09 +0200 Subject: [PATCH 039/180] cosimio: new package (#4648) * [package] Add CosimIO package with variants and dependencies * fix(cosimio): add missing newline and format arguments in libgfortran retrieval * fix(cosimio): reorder import statements for clarity in package.py * cosimio: update URL and add version 4.3.1 * Refactor Python dependency handling in Cosimio package * cosimio: remove unused flag_handler method and associated comments * Add compiler dependency handling for non-MPI builds in Cosimio package * cosimio: refine Fortran dependency handling for non-MPI builds * cosimio: clean up comments for compiler dependency handling * cosimio: add Fortran compatibility fixes and enhancements --- .../builtin/packages/cosimio/package.py | 185 ++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/cosimio/package.py diff --git a/repos/spack_repo/builtin/packages/cosimio/package.py b/repos/spack_repo/builtin/packages/cosimio/package.py new file mode 100644 index 00000000000..ae1fe6ae1a3 --- /dev/null +++ b/repos/spack_repo/builtin/packages/cosimio/package.py @@ -0,0 +1,185 @@ +# Copyright 2013-2023 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_repo.builtin.build_systems.cmake import CMakePackage + +from spack.package import * + + +class Cosimio(CMakePackage): + """The CoSimIO is a small library for interprocess communication in + CoSimulation contexts. It is designed for exchanging data between + different solvers or other software tools. For performing coupled + simulations it is used in combination with the CoSimulationApplication. + It is implemented as a detached interface: it follows the interface of + Kratos but is independent of it, which allows easy integration into + other codes / solvers. + """ + + tags = ["fem", "finite-elements", "hpc", "cosimulation", "coupling"] + + homepage = "https://github.com/KratosMultiphysics/CoSimIO" + git = "https://github.com/KratosMultiphysics/CoSimIO.git" + url = "https://github.com/KratosMultiphysics/CoSimIO/archive/refs/tags/v4.3.1.tar.gz" + + maintainers("loumalouomega", "philbucher", "pooyan-dadvand") + + version("master", branch="master") + version("4.3.1", sha256="9e57839175c06a3d2e8694f95f718707ae465867958ef3bc6b554f775915082b") + version("4.3.0", sha256="108a8c0b042f0eb307984accaecb2b6fc1407afd0bd4b36a4c5a98470a757a66") + version("4.2.0", sha256="0c7e96d689b016eefd86781c0a55ce2383088cd2612aadc9697a839a0fa8d2b3") + version("4.1.0", sha256="de02c526835d021c851dbbc1f95e4c929b10d0daccbabc80bcdc7503343678fc") + version("4.0.0", sha256="12f38d1282b41e1ebc1d2c66d799cb7537840495c98638c698215d390403f221") + version("3.0.0", sha256="02c902c2b28ae71241c4faf33f3e7a44f363b1d9732c53363cd33ffbbbe81eea") + + # ------------------------------------------------------------------------- + # Variants + # ------------------------------------------------------------------------- + variant("mpi", default=False, description="Enable MPI communication") + variant("c", default=True, description="Build C API") + variant("python", default=False, description="Build Python bindings") + variant("fortran", default=False, description="Build Fortran API") + variant("testing", default=False, description="Build tests") + variant("strict", default=False, description="Enable strict compiler warnings") + + # ------------------------------------------------------------------------- + # Conflicts + # ------------------------------------------------------------------------- + # The Fortran interface is built on top of the C interface. + conflicts("+fortran", when="~c", msg="+fortran requires +c (the Fortran API wraps the C API)") + + # ------------------------------------------------------------------------- + # Patches + # ------------------------------------------------------------------------- + def patch(self): + """Fix Fortran wrapper for gfortran 11+ compatibility (releases <= 4.3.1). + + Two bugs exist in co_sim_io/fortran/co_sim_io.f90: + + 1. Fixed-form continuation: FUNCTION declarations spanning two lines use + a column-6 ``&`` on the continuation line (fixed-form style), but + gfortran compiles ``.f90`` as free-form where ``&`` must be at the + **end** of the continued line. Fix: add trailing ``&`` to the + FUNCTION declaration line. + + 2. Missing ``USE, INTRINSIC :: ISO_C_BINDING`` and ``IMPORT`` inside 15 + INTERFACE block function declarations. gfortran 11+ hard-errors on + this; gfortran <=10 silently accepted it. + """ + if not self.spec.satisfies("@:4.3.1 +fortran"): + return + + fortran_file = join_path(self.stage.source_path, "co_sim_io", "fortran", "co_sim_io.f90") + + # BIND C name -> types to IMPORT in that interface block. + fixes = { + "CoSimIO_ImportData_fortran": "CoSimIO_Info", + "CoSimIO_Element_GetNodeByIndex": "CoSimIO_Node, CoSimIO_Element", + "CoSimIO_ModelPart_NumberOfNodes": "CoSimIO_ModelPart", + "CoSimIO_ModelPart_NumberOfLocalNodes": "CoSimIO_ModelPart", + "CoSimIO_ModelPart_NumberOfGhostNodes": "CoSimIO_ModelPart", + "CoSimIO_ModelPart_NumberOfElements": "CoSimIO_ModelPart", + "CoSimIO_ModelPart_GetNodeByIndex": "CoSimIO_Node, CoSimIO_ModelPart", + "CoSimIO_ModelPart_GetLocalNodeByIndex": "CoSimIO_Node, CoSimIO_ModelPart", + "CoSimIO_ModelPart_GetGhostNodeByIndex": "CoSimIO_Node, CoSimIO_ModelPart", + "CoSimIO_ModelPart_GetNodeById": "CoSimIO_Node, CoSimIO_ModelPart", + "CoSimIO_ModelPart_GetElementByIndex": "CoSimIO_Element, CoSimIO_ModelPart", + "CoSimIO_ModelPart_GetElementById": "CoSimIO_Element, CoSimIO_ModelPart", + "CoSimIO_ModelPart_CreateNewNode": "CoSimIO_Node, CoSimIO_ModelPart", + "CoSimIO_ModelPart_CreateNewGhostNode": "CoSimIO_Node, CoSimIO_ModelPart", + "CoSimIO_ModelPart_CreateNewElement": ( + "CoSimIO_Element, CoSimIO_ModelPart, CoSimIO_ElementType" + ), + } + + with open(fortran_file) as f: + lines = f.readlines() + + out = [] + i = 0 + while i < len(lines): + line = lines[i] + out.append(line) + + # Detect a BIND continuation line: starts (after whitespace) with & + # and contains one of our target BIND(C, NAME=...) patterns. + stripped = line.lstrip() + if stripped.startswith("&") and 'BIND(C, NAME="' in line: + bind_name = next((n for n in fixes if 'BIND(C, NAME="' + n + '")' in line), None) + if bind_name is not None: + # Fix 1: ensure the preceding FUNCTION line ends with & so + # that this is a valid free-form continuation. If it already + # ends with & (idempotent re-run), skip. + if len(out) >= 2 and not out[-2].rstrip().endswith("&"): + out[-2] = out[-2].rstrip("\n").rstrip() + " &\n" + + # Fix 2: inject USE/IMPORT after the BIND line if absent. + j = i + 1 + while j < len(lines) and lines[j].strip() == "": + j += 1 + if j < len(lines) and "USE, INTRINSIC" not in lines[j]: + out.append(" USE, INTRINSIC :: ISO_C_BINDING\n") + out.append(" IMPORT " + fixes[bind_name] + "\n") + + i += 1 + + with open(fortran_file, "w") as f: + f.writelines(out) + + # ------------------------------------------------------------------------- + # Compilers + # ------------------------------------------------------------------------- + # When building without MPI (`~mpi`), ensure Spack provides valid + # compiler wrappers so CMake can find `CC`, `CXX`, and `FC` when the + # corresponding language APIs are enabled. + with when("~mpi"): + depends_on("c", type="build") # Ensures C compiler is available + depends_on("cxx", type="build") # Ensures CXX compiler is available + # +fortran needs a Fortran compiler regardless of MPI + with when("+fortran"): + depends_on("fortran", type="build") # Ensures Fortran compiler is available + + # ------------------------------------------------------------------------- + # Dependencies + # ------------------------------------------------------------------------- + depends_on("cmake@3.15:", type="build") + + # MPI: any implementation satisfying the 'mpi' virtual package works + # (e.g. openmpi, mpich, intel-oneapi-mpi, mvapich2, ...) + depends_on("mpi", when="+mpi") + + # Python bindings + with when("+python"): + depends_on("python@3.6:", type=("build", "link", "run")) + # pybind11 is vendored under external_libraries/ but the system copy is + # preferred to avoid duplicating toolchain state. + depends_on("py-pybind11", type="build") + + extends("python") + + # ------------------------------------------------------------------------- + # CMake arguments + # ------------------------------------------------------------------------- + def cmake_args(self): + # Spack already forwards CMAKE_BUILD_TYPE; only set CoSimIO-specific + # knobs here so we don't override Spack's build-type logic. + args = [ + self.define_from_variant("CO_SIM_IO_BUILD_C", "c"), + self.define_from_variant("CO_SIM_IO_BUILD_PYTHON", "python"), + self.define_from_variant("CO_SIM_IO_BUILD_FORTRAN", "fortran"), + self.define_from_variant("CO_SIM_IO_BUILD_TESTING", "testing"), + self.define_from_variant("CO_SIM_IO_BUILD_MPI", "mpi"), + self.define_from_variant("CO_SIM_IO_STRICT_COMPILER", "strict"), + ] + + # The top-level CMakeLists declares `LANGUAGES CXX C` (no Fortran). + # cmake_add_fortran_subdirectory() searches for a Fortran compiler at + # configure time; without an explicit hint it may not find Spack's FC + # wrapper. Passing CMAKE_Fortran_COMPILER directly fixes this for all + # compilers, including gfortran 10+. + if "+fortran" in self.spec: + args.append(self.define("CMAKE_Fortran_COMPILER", self.compiler.fc)) + + return args From 83a127b4e6b4792ff7a0cd4f9738a83a5586d8fd Mon Sep 17 00:00:00 2001 From: Michael Kuhn Date: Fri, 29 May 2026 20:59:18 +0200 Subject: [PATCH 040/180] libfuse: add v3.18.2 (#4992) --- repos/spack_repo/builtin/packages/libfuse/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/libfuse/package.py b/repos/spack_repo/builtin/packages/libfuse/package.py index e23225f39e7..cc54482463c 100644 --- a/repos/spack_repo/builtin/packages/libfuse/package.py +++ b/repos/spack_repo/builtin/packages/libfuse/package.py @@ -18,6 +18,7 @@ class Libfuse(autotools.AutotoolsPackage, meson.MesonPackage): keep_werror = "all" + version("3.18.2", sha256="55a97cfd8661a9b42ff0123b44af52cac49feaec36987f4d968c046f93b42e1d") version("3.16.2", sha256="1bc306be1a1f4f6c8965fbdd79c9ccca021fdc4b277d501483a711cbd7dbcd6c") version("3.11.0", sha256="25a00226d2d449c15b2f08467d6d5ebbb2a428260c4ab773721c32adbc6da072") version("3.10.5", sha256="e73f75e58da59a0e333d337c105093c496c0fd7356ef3a5a540f560697c9c4e6") From baddc33ac5ed1d54683cef1e73413ddd9d6518e9 Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Fri, 29 May 2026 21:03:41 +0200 Subject: [PATCH 041/180] py-starlette: add v0.46.2 (#4987) --- repos/spack_repo/builtin/packages/py_starlette/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/repos/spack_repo/builtin/packages/py_starlette/package.py b/repos/spack_repo/builtin/packages/py_starlette/package.py index 26893820046..1f67f643b89 100644 --- a/repos/spack_repo/builtin/packages/py_starlette/package.py +++ b/repos/spack_repo/builtin/packages/py_starlette/package.py @@ -16,6 +16,7 @@ class PyStarlette(PythonPackage): license("BSD-3-Clause") + version("0.46.2", sha256="7f7361f34eed179294600af672f565727419830b54b7b084efe44bb82d2fccd5") version("0.41.2", sha256="9834fd799d1a87fd346deb76158668cfa0b0d56f85caefe8268e2d97c3468b62") version("0.37.2", sha256="9af890290133b79fc3db55474ade20f6220a364a0402e0b556e7cd5e1e093823") version("0.36.3", sha256="90a671733cfb35771d8cc605e0b679d23b992f8dcfad48cc60b38cb29aeb7080") @@ -28,5 +29,6 @@ class PyStarlette(PythonPackage): depends_on("py-hatchling", type="build") + depends_on("py-anyio@3.6.2:4", when="@0.45.2:", type=("build", "run")) depends_on("py-anyio@3.4:4", type=("build", "run")) depends_on("py-typing-extensions@3.10.0:", when="^python@:3.9", type=("build", "run")) From 8763ecd0194df4c06ae9f11628c3b64f41392ea7 Mon Sep 17 00:00:00 2001 From: Stephen Nicholas Swatman Date: Fri, 29 May 2026 21:23:56 +0200 Subject: [PATCH 042/180] geomodel: add v6.26.0 and v6.27.0 (#4938) This commit adds versions 6.26.0 and 6.27.0 of the GeoModel package. Co-authored-by: Richarda Butler <39577672+RikkiButler20@users.noreply.github.com> --- repos/spack_repo/builtin/packages/geomodel/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/repos/spack_repo/builtin/packages/geomodel/package.py b/repos/spack_repo/builtin/packages/geomodel/package.py index 2feaa482c3c..763f1791342 100644 --- a/repos/spack_repo/builtin/packages/geomodel/package.py +++ b/repos/spack_repo/builtin/packages/geomodel/package.py @@ -19,6 +19,8 @@ class Geomodel(CMakePackage): license("Apache-2.0", checked_by="wdconinc") + version("6.27.0", sha256="621f7d18d39fff1d9cced1b9c985b92cb35effb5afb4072b1aac2627729f54c5") + version("6.26.0", sha256="01e51cc118ca84d865ef09583d119927712cab765b3953ebb7c69d9076c00b43") version("6.25.0", sha256="9f0a6c43e5c620eec1e39c6e4e3f4fa33fd6decda3079479393b55f1d1d12c24") version("6.24.0", sha256="739c6e13156eacde5a47ca84f9ea0a4cf6e90482cbd47e7310b980a81cfd281a") version("6.23.0", sha256="f39f2d1dc62693fd8358d0ca54716a5123bfa844458eb61f182a09dee292305a") From 9cf45687673820bc6ce17bfae503dd972b351104 Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Fri, 29 May 2026 21:26:31 +0200 Subject: [PATCH 043/180] py-sqlalchemy: add variant +asyncio (#5001) --- .../builtin/packages/py_sqlalchemy/package.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/py_sqlalchemy/package.py b/repos/spack_repo/builtin/packages/py_sqlalchemy/package.py index b61f92be1ad..0c27999861c 100644 --- a/repos/spack_repo/builtin/packages/py_sqlalchemy/package.py +++ b/repos/spack_repo/builtin/packages/py_sqlalchemy/package.py @@ -37,6 +37,12 @@ class PySqlalchemy(PythonPackage): description="Python modules for database access", values=any_combination_of("mysql", "postgresql", "pymysql"), ) + variant( + "asyncio", + default=False, + description="asyncio drivers to interface with the database backend", + when="@1.4:", + ) with default_args(type="build"): depends_on("py-setuptools@61:", when="@2.0.33:") @@ -61,7 +67,10 @@ class PySqlalchemy(PythonPackage): depends_on("py-pymysql", when="backend=pymysql @:1.3") depends_on("py-psycopg2", when="backend=postgresql @:1.3") - conflicts("^py-greenlet@0.4.17", when="@1.4.0:2.0.30 ^python@:3.13") + conflicts("^py-greenlet@0.4.17", when="@1.4:2.0.39 ^python@:3.13") + + depends_on("py-greenlet@1:", when="@2.0.40: +asyncio", type=("build", "run")) + depends_on("py-greenlet", when="@1.4: +asyncio", type=("build", "run")) def url_for_version(self, version): if self.spec.satisfies("@2.0.33:"): From ac99a3f4d2dd3ee5ae8ccaa6d3ddcd729a5b2152 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Fri, 29 May 2026 13:27:29 -0600 Subject: [PATCH 044/180] nvpl-common: new package (#5000) --- .../builtin/packages/nvpl_common/package.py | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/nvpl_common/package.py diff --git a/repos/spack_repo/builtin/packages/nvpl_common/package.py b/repos/spack_repo/builtin/packages/nvpl_common/package.py new file mode 100644 index 00000000000..20c8daefdb5 --- /dev/null +++ b/repos/spack_repo/builtin/packages/nvpl_common/package.py @@ -0,0 +1,39 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.generic import Package + +from spack.package import * + + +class NvplCommon(Package): + """ + NVPL Common provides CMake packages for NVIDIA Performance Libraries (NVPL). + """ + + homepage = "https://docs.nvidia.com/nvpl/latest/index.html" + url = ( + "https://developer.download.nvidia.com/compute/nvpl/redist" + "/nvpl_common/linux-sbsa/nvpl_common-linux-sbsa-0.1.0.1-archive.tar.xz" + ) + + maintainers("rbberger") + + redistribute(source=False, binary=False) + + license("NVIDIA Software License Agreement") + + version("0.3.4", sha256="c68891dd293df0faf2ae3cebfeae69c567cf784c98006351abcde2a34fc387df") + version("0.3.3", sha256="fe87ccd63817427c6c9b9e292447a4e8f256b9c9157065fba1a338719fa433c8") + version("0.3.2", sha256="66c4d3d2772b10f40e5d92fa2bf92b68d33db58d4c448bfbb9f94bfe5ab94720") + version("0.3.1", sha256="8a516d983a5e6ddc299aacaccc7992c3028e1abbd020a47ffcdb0219187e41b6") + version("0.3.0", sha256="3019e73b6ea93ea41113fa6aab268ff1e76c706c2b5fea6a9a033b177e30fbbf") + version("0.2.0.1", sha256="8b3c65cb5001fd09be1f020582822e2a040a0ad8a30093f58f2eedbcee1e8ff6") + version("0.1.0.1", sha256="aa72c18dbbcfd882d77776370896fb4678bc92cf0dca3d868ae51b495ad59413") + + def url_for_version(self, version): + return f"https://developer.download.nvidia.com/compute/nvpl/redist/nvpl_common/linux-sbsa/nvpl_common-linux-sbsa-{version}-archive.tar.xz" + + def install(self, spec, prefix): + install_tree(".", prefix) From 03a92b4c0b1e5ef130e1a2fd87385ac1a1e38025 Mon Sep 17 00:00:00 2001 From: Eric Berquist <727571+berquist@users.noreply.github.com> Date: Fri, 29 May 2026 15:30:48 -0400 Subject: [PATCH 045/180] sst: add v16.0.0 for core, elements, and macro (#4997) * sst: add v16.0.0 for core, elements, and macro * Minimum Python version is now 3.9; up to 3.14 is working * Prevent test issues with OpenMPI 5.x * Elements isn't compatible yet with Pin 4 * Update minimum required version of Autoconf for core and elements * sst-macro: confirm compiler dependencies, bump minimum libtool * sst-elements: confirm compiler dependencies * sst-macro: unconditional dependence on Python * sst-macro: add build dependencies that appear during configure --- .../builtin/packages/sst_core/package.py | 9 +++++++-- .../builtin/packages/sst_elements/package.py | 16 ++++++++++------ .../builtin/packages/sst_macro/package.py | 18 ++++++++++++++---- 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/repos/spack_repo/builtin/packages/sst_core/package.py b/repos/spack_repo/builtin/packages/sst_core/package.py index 21cdd4e6155..f37fd3bf36d 100644 --- a/repos/spack_repo/builtin/packages/sst_core/package.py +++ b/repos/spack_repo/builtin/packages/sst_core/package.py @@ -21,6 +21,7 @@ class SstCore(AutotoolsPackage): license("BSD-3-Clause") + version("16.0.0", sha256="20733d6334bc80dd8cf5695d1eb3bd32ada80dcf3151695b8dbdbbac28ead616") version("15.1.2", sha256="21aabfddb80c7aaf65e562894e0542bdb871bbc630362c3cef579d949c456f33") version("15.1.1", sha256="651cf5ee1438a5128aea2ad8b518c5437a1637dce357cbcbdd58681fa749222f") version("15.1.0", sha256="ec3d9e733bcf99283b526cfb4a853787d303a8d55b2a42d5102b0f4f4a4feb81") @@ -87,7 +88,7 @@ class SstCore(AutotoolsPackage): depends_on("cxx", type="build") # generated depends_on("c", type="build") - depends_on("python@:3.11", type=("build", "run", "link")) + depends_on("python@3.9:", type=("build", "run", "link")) depends_on("mpi", when="+pdes_mpi") depends_on("zoltan", when="+zoltan") depends_on("hdf5 +cxx", when="+hdf5") @@ -96,7 +97,7 @@ class SstCore(AutotoolsPackage): depends_on("ncurses", when="+curses", type=("build", "link")) with when("@develop,master,14.0.0"): - depends_on("autoconf@1.68:", type="build") + depends_on("autoconf@2.69:", type="build") depends_on("automake@1.11.1:", type="build") depends_on("libtool@1.2.4:", type="build") depends_on("m4", type="build") @@ -105,6 +106,10 @@ class SstCore(AutotoolsPackage): with when("@14.0.0"): patch("1110-ncurses_detection.patch", level=0) + with when("^mpi=openmpi"): + # < 4 is untested and 5 doesn't pass tests due to reference outputs + depends_on("openmpi@4") + # force out-of-source builds build_directory = "spack-build" diff --git a/repos/spack_repo/builtin/packages/sst_elements/package.py b/repos/spack_repo/builtin/packages/sst_elements/package.py index adf44ef6659..1aad92036fa 100644 --- a/repos/spack_repo/builtin/packages/sst_elements/package.py +++ b/repos/spack_repo/builtin/packages/sst_elements/package.py @@ -21,6 +21,7 @@ class SstElements(AutotoolsPackage): license("BSD-3-Clause") + version("16.0.0", sha256="e0f72777df2d0619bd529334994132d919bd0cdc8f1e84bcbc4200564482258f") version("15.1.0", sha256="e7162bb8719341230217dd5ab9d36bb9529ed9ce3d206ca74948044290080c93") version("15.0.0", sha256="98f7fbd4bce16f639616edb889fb3c6667b50899273114854e77fcdb26bcddd6") version("14.1.0", sha256="433994065810d3afee4e355173e781cd76171043cce8835bbc40887672a33350") @@ -65,16 +66,15 @@ class SstElements(AutotoolsPackage): variant("otf2", default=False, description="Build with OTF2") variant("ariel_mpi", default=False, description="Build Ariel with MPI Support") - depends_on("c", type="build") # generated - depends_on("cxx", type="build") # generated - depends_on("fortran", type="build") # generated + depends_on("c", type="build") + depends_on("cxx", type="build") - depends_on("python@:3.11", type=("build", "run")) + depends_on("python@3.9:", type=("build", "run")) depends_on("sst-core") depends_on("sst-core@develop", when="@develop") depends_on("sst-core@master", when="@master") - depends_on("intel-pin", when="+pin") + depends_on("intel-pin@:3", when="+pin") depends_on("dramsim2@2:", when="+dramsim2") depends_on("dramsim3@master", when="+dramsim3") depends_on("sst-dumpi@master", when="+dumpi") @@ -94,7 +94,7 @@ class SstElements(AutotoolsPackage): depends_on("mpi", when="+ariel_mpi") for version_name in ("master", "develop"): - depends_on("autoconf@1.68:", type="build", when="@{}".format(version_name)) + depends_on("autoconf@2.69:", type="build", when="@{}".format(version_name)) depends_on("automake@1.11.1:", type="build", when="@{}".format(version_name)) depends_on("libtool@1.2.4:", type="build", when="@{}".format(version_name)) depends_on("m4", type="build", when="@{}".format(version_name)) @@ -113,6 +113,10 @@ class SstElements(AutotoolsPackage): ) requires("+pin", when="+ariel_mpi", msg="Building Ariel requires pin") + with when("^mpi=openmpi"): + # < 4 is untested and 5 doesn't pass tests due to reference outputs + depends_on("openmpi@4") + # force out-of-source builds build_directory = "spack-build" diff --git a/repos/spack_repo/builtin/packages/sst_macro/package.py b/repos/spack_repo/builtin/packages/sst_macro/package.py index 443a07cd414..adc5c585de1 100644 --- a/repos/spack_repo/builtin/packages/sst_macro/package.py +++ b/repos/spack_repo/builtin/packages/sst_macro/package.py @@ -22,6 +22,7 @@ class SstMacro(AutotoolsPackage): maintainers("berquist", "jmlapre") + version("16.0.0", sha256="4d8c45b0a103b173d2efc7c692a2aad06bcec19d8bec20bc835261a7aabead3a") version("15.1.0", sha256="6ec4e2e79993672329063bb2e4b70f5b0f1317f7bdd46e9898a46d346d8b3a1d") version("15.0.0", sha256="ce4bdb28b1500f2fd6875e3ff7a630e24ae381b58c72ae24a5157181d9546d53") version("14.1.0", sha256="241f42f5c460b0e7462592a7f412bda9c9de19ad7a4b62c22f35be4093b57014") @@ -47,16 +48,19 @@ class SstMacro(AutotoolsPackage): version("master", branch="master") version("develop", branch="devel") - depends_on("c", type="build") # generated - depends_on("cxx", type="build") # generated - depends_on("fortran", type="build") # generated + depends_on("c", type="build") + depends_on("cxx", type="build") + # This can go away when the DUMPI package is depended on explicitly. + depends_on("fortran", type="build") for version_name in ("master", "develop"): depends_on("autoconf@1.68:", type="build", when="@{}".format(version_name)) depends_on("automake@1.11.1:", type="build", when="@{}".format(version_name)) - depends_on("libtool@1.2.4:", type="build", when="@{}".format(version_name)) + depends_on("libtool@2.2.6:", type="build", when="@{}".format(version_name)) depends_on("m4", type="build", when="@{}".format(version_name)) + depends_on("grep", type="build") + depends_on("sed", type="build") depends_on("binutils", type="build") depends_on("zlib-api", type=("build", "link")) depends_on("otf2", when="+otf2") @@ -65,6 +69,8 @@ class SstMacro(AutotoolsPackage): # Allow mismatch between core dependency version and current macro version. depends_on("sst-core", when="+core") depends_on("gettext") + # configure shows this as an optional dependency which is incorrect. + depends_on("python@3") variant("pdes_threads", default=True, description="Enable thread-parallel PDES simulation") variant("pdes_mpi", default=False, description="Enable distributed PDES simulation") @@ -128,4 +134,8 @@ def configure_args(self): env["F77"] = spec["mpi"].mpif77 env["FC"] = spec["mpi"].mpifc + args.append(f"--with-python={spec['python'].command.path}") + # Not python-config in order to match search precedence of sst-core + args.append(f"--with-python-config={spec['python'].prefix.bin.join('python3-config')}") + return args From 32a86d8568b4bd3fdb6da0e65b798fc030f04cf7 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Fri, 29 May 2026 13:38:07 -0600 Subject: [PATCH 046/180] nvpl-fft: add newer versions 0.4.1, 0.4.2.1 and 0.5.0 (#4996) * nvpl-fft: add newer versions 0.4.1, 0.4.2.1 and 0.5.0 * nvpl-fft: add c dependency to enforce compiler restrictions --- repos/spack_repo/builtin/packages/nvpl_fft/package.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/nvpl_fft/package.py b/repos/spack_repo/builtin/packages/nvpl_fft/package.py index e0d3772adf5..f16a8e3ab80 100644 --- a/repos/spack_repo/builtin/packages/nvpl_fft/package.py +++ b/repos/spack_repo/builtin/packages/nvpl_fft/package.py @@ -20,8 +20,13 @@ class NvplFft(Package): "/nvpl_fft/linux-sbsa/nvpl_fft-linux-sbsa-0.1.0-archive.tar.xz" ) - license("UNKNOWN") + redistribute(source=False, binary=False) + license("NVIDIA Software License Agreement") + + version("0.5.0", sha256="fc53bf42124b0e395230109cea5c325fd6963b8797bdd98aa127cb402e92e813") + version("0.4.2.1", sha256="ebb9d98abc23ddee5c492e0bbf2c534570a38d7df1863a0630da2c6d7f5cca3d") + version("0.4.1", sha256="b7d114a795841f28109fcc1508a6848b33ab779bef01bacf143d3ea47a0fd0a1") version("0.4.0.1", sha256="e0309f28a98a5f920919a9c6a766b89b507907bde66e665e0a239005c6942781") version("0.3.0", sha256="e20791b77fa705e5a4f7aa5dada39b2a41e898189e0e60e680576128d532269b") version("0.2.0.2", sha256="264343405aad6aca451bf8bd0988b6217b2bb17fd8f99394b83e04d9ab2f7f91") @@ -29,6 +34,8 @@ class NvplFft(Package): provides("fftw-api@3") + depends_on("c", type="build") # for enforcing compiler restrictions + requires("target=armv8.2a:", msg="Any CPU with Arm-v8.2a+ microarch") conflicts("%gcc@:7") From 7b2c15b014fcf0bcc434d900585fb962039abe1f Mon Sep 17 00:00:00 2001 From: Michael Kuhn Date: Fri, 29 May 2026 21:38:56 +0200 Subject: [PATCH 047/180] libbson/mongo-c-driver: add 2.3.0 (#4991) --- .../spack_repo/builtin/packages/libbson/package.py | 8 +++++--- .../builtin/packages/mongo_c_driver/package.py | 14 +++++++------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/repos/spack_repo/builtin/packages/libbson/package.py b/repos/spack_repo/builtin/packages/libbson/package.py index e50d51682d2..510606fca94 100644 --- a/repos/spack_repo/builtin/packages/libbson/package.py +++ b/repos/spack_repo/builtin/packages/libbson/package.py @@ -18,6 +18,7 @@ class Libbson(AutotoolsPackage, CMakePackage): maintainers("michaelkuhn") + version("2.3.0", sha256="0ef2c33345482d444ef766ebf3f066b4596bd6867a24ab6889b76dd51cb23878") version("1.27.2", sha256="a53010803e2df097a2ea756be6ece34c8f52cda2c18e6ea21115097b75f5d4bf") version("1.24.4", sha256="2f4a3e8943bfe3b8672c2053f88cf74acc8494dc98a45445f727901eee141544") version("1.23.4", sha256="209406c91fcf7c63aa633179a0a6b1b36ba237fb77e0470fd81f7299a408e334") @@ -38,8 +39,8 @@ class Libbson(AutotoolsPackage, CMakePackage): version("1.6.3", sha256="e9e4012a9080bdc927b5060b126a2c82ca11e71ebe7f2152d079fa2ce461a7fb") version("1.6.2", sha256="aad410123e4bd8a9804c3c3d79e03344e2df104872594dc2cf19605d492944ba") - depends_on("c", type="build") # generated - depends_on("cxx", type="build") # generated + depends_on("c", type="build") + depends_on("cxx", type="build") with when("build_system=cmake"): depends_on("cmake@3.1:", type="build") @@ -51,8 +52,9 @@ class Libbson(AutotoolsPackage, CMakePackage): ) def url_for_version(self, version): - if version >= Version("1.25.0"): + if version >= Version("1.25.0") and version <= Version("1.27.2"): return f"https://github.com/mongodb/mongo-c-driver/archive/refs/tags/{version}.tar.gz" + if version >= Version("1.10.0"): return f"https://github.com/mongodb/mongo-c-driver/releases/download/{version}/mongo-c-driver-{version}.tar.gz" else: diff --git a/repos/spack_repo/builtin/packages/mongo_c_driver/package.py b/repos/spack_repo/builtin/packages/mongo_c_driver/package.py index 777644b53ba..dd5ea5ad348 100644 --- a/repos/spack_repo/builtin/packages/mongo_c_driver/package.py +++ b/repos/spack_repo/builtin/packages/mongo_c_driver/package.py @@ -19,6 +19,7 @@ class MongoCDriver(AutotoolsPackage, CMakePackage): license("Apache-2.0") + version("2.3.0", sha256="0ef2c33345482d444ef766ebf3f066b4596bd6867a24ab6889b76dd51cb23878") version("1.27.2", sha256="a53010803e2df097a2ea756be6ece34c8f52cda2c18e6ea21115097b75f5d4bf") version("1.24.4", sha256="2f4a3e8943bfe3b8672c2053f88cf74acc8494dc98a45445f727901eee141544") version("1.23.3", sha256="c8f951d4f965d455f37ae2e10b72914736fc0f25c4ffc14afc3cbadd1a574ef6") @@ -48,8 +49,8 @@ class MongoCDriver(AutotoolsPackage, CMakePackage): when="@1.8.1", ) - depends_on("c", type="build") # generated - depends_on("cxx", type="build") # generated + depends_on("c", type="build") + depends_on("cxx", type="build") with when("build_system=cmake"): depends_on("cmake@3.1:", type="build") @@ -66,16 +67,15 @@ class MongoCDriver(AutotoolsPackage, CMakePackage): ) def url_for_version(self, version): - if version >= Version("1.25.0"): + if version >= Version("1.25.0") and version <= Version("1.27.2"): return f"https://github.com/mongodb/mongo-c-driver/archive/refs/tags/{version}.tar.gz" - if version >= Version("1.10.0"): - return f"https://github.com/mongodb/mongo-c-driver/releases/download/{version}/mongo-c-driver-{version}.tar.gz" - else: - return f"https://github.com/mongodb/libbson/releases/download/{version}/libbson-{version}.tar.gz" + + return f"https://github.com/mongodb/mongo-c-driver/releases/download/{version}/mongo-c-driver-{version}.tar.gz" depends_on("pkgconfig", type="build") # When updating mongo-c-driver, libbson has to be kept in sync. + depends_on("libbson@2.3", when="@2.3") depends_on("libbson@1.27", when="@1.27") depends_on("libbson@1.24", when="@1.24") depends_on("libbson@1.23", when="@1.23") From c9adc1212bad5e1daf7778e561861cdb54db7757 Mon Sep 17 00:00:00 2001 From: Michael Kuhn Date: Fri, 29 May 2026 21:39:48 +0200 Subject: [PATCH 048/180] glib(-bootstrap): add 2.88.1 (#4989) --- repos/spack_repo/builtin/packages/glib/package.py | 1 + repos/spack_repo/builtin/packages/glib_bootstrap/package.py | 1 + 2 files changed, 2 insertions(+) diff --git a/repos/spack_repo/builtin/packages/glib/package.py b/repos/spack_repo/builtin/packages/glib/package.py index 3b8777b1754..1340c3c4eb5 100644 --- a/repos/spack_repo/builtin/packages/glib/package.py +++ b/repos/spack_repo/builtin/packages/glib/package.py @@ -29,6 +29,7 @@ class Glib(MesonPackage): license("LGPL-2.1-or-later") # Even minor versions are stable, odd minor versions are development, only add even numbers + version("2.88.1", sha256="51ab804c56f6eab3e5045c774d1290ac5e4c923d4f9a3d8e33123bee45c1840e") version("2.86.3", sha256="b3211d8d34b9df5dca05787ef0ad5d7ca75dec998b970e1aab0001d229977c65") version("2.86.1", sha256="119d1708ca022556d6d2989ee90ad1b82bd9c0d1667e066944a6d0020e2d5e57") version("2.84.4", sha256="8a9ea10943c36fc117e253f80c91e477b673525ae45762942858aef57631bb90") diff --git a/repos/spack_repo/builtin/packages/glib_bootstrap/package.py b/repos/spack_repo/builtin/packages/glib_bootstrap/package.py index 1b8d4746259..6c87baa028f 100644 --- a/repos/spack_repo/builtin/packages/glib_bootstrap/package.py +++ b/repos/spack_repo/builtin/packages/glib_bootstrap/package.py @@ -27,6 +27,7 @@ class GlibBootstrap(MesonPackage): license("LGPL-2.1-or-later") # Even minor versions are stable, odd minor versions are development, only add even numbers + version("2.88.1", sha256="51ab804c56f6eab3e5045c774d1290ac5e4c923d4f9a3d8e33123bee45c1840e") version("2.86.3", sha256="b3211d8d34b9df5dca05787ef0ad5d7ca75dec998b970e1aab0001d229977c65") version("2.86.1", sha256="119d1708ca022556d6d2989ee90ad1b82bd9c0d1667e066944a6d0020e2d5e57") From cd6f04d85be0c3454af4fbed8f2832090fd08ee8 Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Fri, 29 May 2026 21:46:31 +0200 Subject: [PATCH 049/180] py-typer: add v0.20.1 (#4986) --- repos/spack_repo/builtin/packages/py_typer/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/py_typer/package.py b/repos/spack_repo/builtin/packages/py_typer/package.py index 92321b25abc..de0fa076f67 100644 --- a/repos/spack_repo/builtin/packages/py_typer/package.py +++ b/repos/spack_repo/builtin/packages/py_typer/package.py @@ -15,6 +15,7 @@ class PyTyper(PythonPackage): license("MIT", checked_by="lgarrison") + version("0.20.1", sha256="68585eb1b01203689c4199bc440d6be616f0851e9f0eb41e4a778845c5a0fd5b") version("0.15.1", sha256="a0588c0a7fa68a1978a069818657778f86abe6ff5ea6abf472f940a08bfe4f0a") version("0.12.5", sha256="f592f089bedcc8ec1b974125d64851029c3b1af145f04aca64d69410f0c9b722") version("0.9.0", sha256="50922fd79aea2f4751a8e0408ff10d2662bd0c8bbfa84755a699f3bada2978b2") From 9afcc9670526ecfadc1e7eeafc8f58da1944259b Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Fri, 29 May 2026 21:47:16 +0200 Subject: [PATCH 050/180] py-semver: fix bound on setuptools (#4985) --- repos/spack_repo/builtin/packages/py_semver/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/py_semver/package.py b/repos/spack_repo/builtin/packages/py_semver/package.py index 2b9eb3c302c..0a2f300862e 100644 --- a/repos/spack_repo/builtin/packages/py_semver/package.py +++ b/repos/spack_repo/builtin/packages/py_semver/package.py @@ -20,5 +20,6 @@ class PySemver(PythonPackage): version("3.0.1", sha256="9ec78c5447883c67b97f98c3b6212796708191d22e4ad30f4570f840171cbce1") version("2.8.1", sha256="5b09010a66d9a3837211bb7ae5a20d10ba88f8cb49e92cb139a69ef90d5060d8") + depends_on("py-setuptools@61:", when="@3.0.3:", type="build") depends_on("py-setuptools", type="build") depends_on("py-setuptools-scm", when="@3:", type="build") From c6b2ad3e8e5eb336415f94b96dbe6418903219fd Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Fri, 29 May 2026 21:49:51 +0200 Subject: [PATCH 051/180] py-typing-extensions: add v4.7.1 (#4983) --- .../spack_repo/builtin/packages/py_typing_extensions/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/py_typing_extensions/package.py b/repos/spack_repo/builtin/packages/py_typing_extensions/package.py index 133be46b7e3..49318001783 100644 --- a/repos/spack_repo/builtin/packages/py_typing_extensions/package.py +++ b/repos/spack_repo/builtin/packages/py_typing_extensions/package.py @@ -24,6 +24,7 @@ class PyTypingExtensions(PythonPackage): version("4.13.2", sha256="e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef") version("4.12.2", sha256="1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8") version("4.8.0", sha256="df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef") + version("4.7.1", sha256="b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2") version("4.6.3", sha256="d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5") version("4.5.0", sha256="5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb") version("4.3.0", sha256="e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6") From 200ae905e0523b019cc2d2c5d46aa153ffb5def9 Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Fri, 29 May 2026 21:50:25 +0200 Subject: [PATCH 052/180] py-pendulum: add new package (#4980) --- .../builtin/packages/py_pendulum/package.py | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/py_pendulum/package.py diff --git a/repos/spack_repo/builtin/packages/py_pendulum/package.py b/repos/spack_repo/builtin/packages/py_pendulum/package.py new file mode 100644 index 00000000000..9d8181b8e00 --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_pendulum/package.py @@ -0,0 +1,24 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyPendulum(PythonPackage): + """Python datetimes made easy.""" + + homepage = "https://pendulum.eustace.io/" + pypi = "pendulum/pendulum-3.1.0.tar.gz" + + license("MIT") + + version("3.1.0", sha256="66f96303560f41d097bee7d2dc98ffca716fbb3a832c4b3062034c2d45865015") + + depends_on("python@3.9:", type=("build", "run")) + depends_on("py-maturin@1", type="build") + + depends_on("py-python-dateutil@2.6:", type=("build", "run")) + depends_on("py-tzdata@2020.1:", type=("build", "run")) From af453957e77e47763000550887af7e5f8a89fb92 Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Fri, 29 May 2026 21:51:58 +0200 Subject: [PATCH 053/180] py-orjson: add v3.11.5 (#4979) Also fixes the rust dependency version. --- repos/spack_repo/builtin/packages/py_orjson/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/repos/spack_repo/builtin/packages/py_orjson/package.py b/repos/spack_repo/builtin/packages/py_orjson/package.py index 6278495fa75..ed21deeece3 100644 --- a/repos/spack_repo/builtin/packages/py_orjson/package.py +++ b/repos/spack_repo/builtin/packages/py_orjson/package.py @@ -15,6 +15,7 @@ class PyOrjson(PythonPackage): license("Apache-2.0") + version("3.11.5", sha256="82393ab47b4fe44ffd0a7659fa9cfaacc717eb617c93cde83795f14af5c2e9d5") version("3.11.1", sha256="48d82770a5fd88778063604c566f9c7c71820270c9cc9338d25147cbf34afd96") version("3.10.18", sha256="e8da3947d92123eda795b68228cafe2724815621fe35e8e320a9e9593a4bcd53") version("3.10.3", sha256="2b166507acae7ba2f7c315dcf185a9111ad5e992ac81f2d507aac39193c2c818") @@ -28,6 +29,8 @@ class PyOrjson(PythonPackage): depends_on("python@:3.12") with default_args(type="build"): + with when("@3.10.14:"): + depends_on("rust@1.82:") with when("@3.9:"): depends_on("rust@1.72:") depends_on("python@3.8:") From 3e85bc65e88a908435cc163f0add8c682644ee3b Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Fri, 29 May 2026 21:52:29 +0200 Subject: [PATCH 054/180] py-lupa: add new package (#4978) --- .../builtin/packages/py_lupa/package.py | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/py_lupa/package.py diff --git a/repos/spack_repo/builtin/packages/py_lupa/package.py b/repos/spack_repo/builtin/packages/py_lupa/package.py new file mode 100644 index 00000000000..e701a015f97 --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_lupa/package.py @@ -0,0 +1,21 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyLupa(PythonPackage): + """Python wrapper around Lua and LuaJIT.""" + + homepage = "https://github.com/scoder/lupa" + pypi = "lupa/lupa-2.6.tar.gz" + + version("2.6", sha256="9a770a6e89576be3447668d7ced312cd6fd41d3c13c2462c9dc2c2ab570e45d9") + + depends_on("py-setuptools", type="build") + depends_on("py-cython@3.1.6:", type="build") + + depends_on("lua-luajit", type=("build", "run")) From fcc7e7a198166a51e00c37ac7621128b2602296d Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Fri, 29 May 2026 21:53:18 +0200 Subject: [PATCH 055/180] py-jinja2-humanize-extension: add new package (#4976) --- .../py_jinja2_humanize_extension/package.py | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/py_jinja2_humanize_extension/package.py diff --git a/repos/spack_repo/builtin/packages/py_jinja2_humanize_extension/package.py b/repos/spack_repo/builtin/packages/py_jinja2_humanize_extension/package.py new file mode 100644 index 00000000000..a1fb8028b1f --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_jinja2_humanize_extension/package.py @@ -0,0 +1,23 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyJinja2HumanizeExtension(PythonPackage): + """A jinja2 extension to use humanize library inside jinja2 templates.""" + + homepage = "https://github.com/metwork-framework/jinja2_humanize_extension" + pypi = "jinja2_humanize_extension/jinja2_humanize_extension-0.4.0.tar.gz" + + version("0.4.0", sha256="e7d69b1c20f32815bbec722330ee8af14b1287bb1c2b0afa590dbf031cadeaa0") + + depends_on("python@3.9:", type=("build", "run")) + depends_on("py-setuptools", when="^python@3.11:", type="build") + + depends_on("py-jinja2", type=("build", "run")) + depends_on("py-humanize@3.14:", type=("build", "run")) From 894ffb0e834a9a286d8663dbfd5ed6bc50bf0165 Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Fri, 29 May 2026 21:57:20 +0200 Subject: [PATCH 056/180] py-coolname: add new package (#4972) * py-coolname: add new package * py-coolname: add missing dep on python --- .../builtin/packages/py_coolname/package.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/py_coolname/package.py diff --git a/repos/spack_repo/builtin/packages/py_coolname/package.py b/repos/spack_repo/builtin/packages/py_coolname/package.py new file mode 100644 index 00000000000..4baa0602225 --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_coolname/package.py @@ -0,0 +1,19 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyCoolname(PythonPackage): + """Random name and slug generator.""" + + homepage = "https://github.com/alexanderlukanin13/coolname" + pypi = "coolname/coolname-2.2.0.tar.gz" + + version("2.2.0", sha256="6c5d5731759104479e7ca195a9b64f7900ac5bead40183c09323c7d0be9e75c7") + + depends_on("python@3.10:", type=("build", "run")) + depends_on("py-setuptools", type="build") From 23ea2b65aa7b75b6cf61832c22fbbc91176039fa Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Fri, 29 May 2026 21:57:38 +0200 Subject: [PATCH 057/180] py-cachetools: add v6.2.4 (#4971) --- repos/spack_repo/builtin/packages/py_cachetools/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/py_cachetools/package.py b/repos/spack_repo/builtin/packages/py_cachetools/package.py index 2ed44461435..25e6aa618bd 100644 --- a/repos/spack_repo/builtin/packages/py_cachetools/package.py +++ b/repos/spack_repo/builtin/packages/py_cachetools/package.py @@ -18,6 +18,7 @@ class PyCachetools(PythonPackage): license("MIT") version("7.1.1", sha256="27bdf856d68fd3c71c26c01b5edc312124ed427524d1ddb31aa2b7746fe20d4b") + version("6.2.4", sha256="82c5c05585e70b6ba2d3ae09ea60b79548872185d2f24ae1f2709d37299fd607") version("6.2.6", sha256="16c33e1f276b9a9c0b49ab5782d901e3ad3de0dd6da9bf9bcd29ac5672f2f9e6") version("5.5.2", sha256="1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4") version("5.2.0", sha256="6a94c6402995a99c3970cc7e4884bb60b4a8639938157eeed436098bf9831757") From 44c45074debf456099f794cfc843cb9198d4f855 Mon Sep 17 00:00:00 2001 From: Doug Torrance Date: Fri, 29 May 2026 16:23:10 -0400 Subject: [PATCH 058/180] givaro: add v4.2.2 (#4994) --- repos/spack_repo/builtin/packages/givaro/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/givaro/package.py b/repos/spack_repo/builtin/packages/givaro/package.py index 2d0cb6f2069..86acd173499 100644 --- a/repos/spack_repo/builtin/packages/givaro/package.py +++ b/repos/spack_repo/builtin/packages/givaro/package.py @@ -22,6 +22,7 @@ class Givaro(AutotoolsPackage): license("CECILL-B", checked_by="d-torrance") + version("4.2.2", sha256="53e9fb290deb0e20799c62d250d65c2226013d60b4cebe6b0b54c73000cb8fff") version("4.2.1", sha256="feefb7445842ceb756f8bb13900d975b530551e488a2ae174bda7b636251de43") depends_on("cxx", type="build") From 585b8c54262102d92aef54702c72e42a20a6f0fe Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Fri, 29 May 2026 13:26:00 -0700 Subject: [PATCH 059/180] GoPackage: allow packages to define ldflags (#4795) * GoPackage: allow packages to define ldflags --------- Signed-off-by: Alec Scott --- repos/spack_repo/builtin/build_systems/go.py | 28 +++++++++++++++---- .../builtin/packages/csvtk/package.py | 4 +-- .../spack_repo/builtin/packages/gh/package.py | 9 +++--- .../builtin/packages/glab/package.py | 14 ++-------- .../builtin/packages/glow/package.py | 12 ++------ .../builtin/packages/gomplate/package.py | 23 ++++----------- .../builtin/packages/hugo/package.py | 2 +- .../builtin/packages/kubectl/package.py | 26 ++++++----------- .../spack_repo/builtin/packages/oc/package.py | 4 +-- .../builtin/packages/pprof/package.py | 15 +++++----- .../builtin/packages/rclone/package.py | 5 ++++ .../builtin/packages/seqkit/package.py | 9 ++---- .../builtin/packages/trivy/package.py | 17 ++--------- .../builtin/packages/yamlfmt/package.py | 15 +++------- 14 files changed, 70 insertions(+), 113 deletions(-) diff --git a/repos/spack_repo/builtin/build_systems/go.py b/repos/spack_repo/builtin/build_systems/go.py index bbd0956bf11..033d508e104 100644 --- a/repos/spack_repo/builtin/build_systems/go.py +++ b/repos/spack_repo/builtin/build_systems/go.py @@ -2,6 +2,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +from typing import List + from spack.package import ( BuilderWithDefaults, EnvironmentModifications, @@ -64,7 +66,10 @@ class GoBuilder(BuilderWithDefaults): #: Names associated with package attributes in the old build-system format package_attributes = ( + "std_build_args", "build_args", + "std_ldflags", + "ldflags", "check_args", "build_directory", "install_time_test_callbacks", @@ -79,21 +84,34 @@ def build_directory(self): return self.pkg.stage.source_path @property - def build_args(self): - """Arguments for ``go build``.""" + def std_ldflags(self) -> List[str]: # Pass ldflags -s = --strip-all and -w = --no-warnings by default + return ["-s", "-w"] + + @property + def ldflags(self) -> List[str]: + return [] + + @property + def std_build_args(self): + """Arguments for ``go build``.""" return [ "-p", str(self.pkg.module.make_jobs), "-modcacherw", + "-trimpath", "-ldflags", - "-s -w", + " ".join([*self.std_ldflags, *self.ldflags]), "-o", f"{self.pkg.name}", ] @property - def check_args(self): + def build_args(self) -> List[str]: + return [] + + @property + def check_args(self) -> List[str]: """Argument for ``go test`` during check phase""" return [] @@ -105,7 +123,7 @@ def setup_build_environment(self, env: EnvironmentModifications) -> None: def build(self, pkg: GoPackage, spec: Spec, prefix: Prefix) -> None: """Runs ``go build`` in the source directory""" with working_dir(self.build_directory): - pkg.module.go("build", *self.build_args) + pkg.module.go("build", *self.std_build_args, *self.build_args) def install(self, pkg: GoPackage, spec: Spec, prefix: Prefix) -> None: """Install built binaries into prefix bin.""" diff --git a/repos/spack_repo/builtin/packages/csvtk/package.py b/repos/spack_repo/builtin/packages/csvtk/package.py index e8756491e98..c8572e2d77a 100644 --- a/repos/spack_repo/builtin/packages/csvtk/package.py +++ b/repos/spack_repo/builtin/packages/csvtk/package.py @@ -20,9 +20,7 @@ class Csvtk(GoPackage): depends_on("go@1.24:", type="build") - @property - def build_directory(self): - return f"{join_path(super().build_directory, self.name)}" + build_directory = "csvtk" @run_after("install") def install_completions(self): diff --git a/repos/spack_repo/builtin/packages/gh/package.py b/repos/spack_repo/builtin/packages/gh/package.py index fc4fcc71f40..181c258ef52 100644 --- a/repos/spack_repo/builtin/packages/gh/package.py +++ b/repos/spack_repo/builtin/packages/gh/package.py @@ -69,11 +69,12 @@ class Gh(GoPackage): depends_on("go@1.18:", type="build", when="@2.10:") depends_on("go@1.16:", type="build") + build_directory = "cmd/gh" + @property - def build_args(self): - args = super().build_args - args.extend(["-trimpath", "./cmd/gh"]) - return args + def ldflags(self): + version_path = go("list", "../../internal/build", output=str).strip() + return [f"-X {version_path}.Version={self.spec.version}"] @property def check_args(self): diff --git a/repos/spack_repo/builtin/packages/glab/package.py b/repos/spack_repo/builtin/packages/glab/package.py index 1738a3d8a21..efdbaedbf3e 100644 --- a/repos/spack_repo/builtin/packages/glab/package.py +++ b/repos/spack_repo/builtin/packages/glab/package.py @@ -66,18 +66,8 @@ class Glab(GoPackage): # Required to correctly set the version # https://gitlab.com/gitlab-org/cli/-/blob/v1.55.0/Makefile?ref_type=tags#L44 @property - def build_args(self): - extra_ldflags = [f"-X 'main.version=v{self.version}'"] - - args = super().build_args - - if "-ldflags" in args: - ldflags_index = args.index("-ldflags") + 1 - args[ldflags_index] = args[ldflags_index] + " " + " ".join(extra_ldflags) - else: - args.extend(["-ldflags", " ".join(extra_ldflags)]) - - return args + def ldflags(self): + return [f"-X main.version=v{self.spec.version}"] @run_after("install") def install_completions(self): diff --git a/repos/spack_repo/builtin/packages/glow/package.py b/repos/spack_repo/builtin/packages/glow/package.py index 7387e9c82f7..1ea50339eb9 100644 --- a/repos/spack_repo/builtin/packages/glow/package.py +++ b/repos/spack_repo/builtin/packages/glow/package.py @@ -43,16 +43,8 @@ class Glow(GoPackage): depends_on("go@1.13:") @property - def build_args(self): - return [ - "-p", - str(make_jobs), - "-modcacherw", - "-ldflags", - f"-s -w -X main.Version={self.version}", - "-o", - f"{self.name}", - ] + def ldflags(self): + return [f"-X main.Version={self.spec.version}"] @run_after("install") def install_completions(self): diff --git a/repos/spack_repo/builtin/packages/gomplate/package.py b/repos/spack_repo/builtin/packages/gomplate/package.py index 016306a275a..ff87d0c3a97 100644 --- a/repos/spack_repo/builtin/packages/gomplate/package.py +++ b/repos/spack_repo/builtin/packages/gomplate/package.py @@ -24,20 +24,9 @@ class Gomplate(GoPackage): depends_on("go@1.24.5:", type="build") - def build(self, spec, prefix): - # Retrieve the "path" (in Go namespace parlance) to the version object because - # we need to set its Version attribute. This is similar to what is done in the - # gomplate Makefile. - gomplate_version_path = self.module.go("list", "./version", output=str).strip() - with working_dir(f"{join_path(self.build_directory, 'cmd', self.name)}"): - # When building, set gomplate's version.Version to the value in the version - # object for this package - self.module.go( - "build", - "-p", - str(make_jobs), - "-ldflags", - f"-s -w -X {gomplate_version_path}.Version={self.version}", - "-o", - f"{join_path(self.build_directory, self.name)}", - ) + build_directory = "cmd/gomplate" + + @property + def ldflags(self): + version_path = go("list", "../../version", output=str).strip() + return [f"-X {version_path}.Version={self.spec.version}"] diff --git a/repos/spack_repo/builtin/packages/hugo/package.py b/repos/spack_repo/builtin/packages/hugo/package.py index 622844067bc..d8504de7b6d 100644 --- a/repos/spack_repo/builtin/packages/hugo/package.py +++ b/repos/spack_repo/builtin/packages/hugo/package.py @@ -63,7 +63,7 @@ def determine_version(cls, exe): @property def build_args(self): - args = super().build_args + args = [] if self.spec.satisfies("+extended"): args.extend(["--tags", "extended"]) diff --git a/repos/spack_repo/builtin/packages/kubectl/package.py b/repos/spack_repo/builtin/packages/kubectl/package.py index ecbbd4af0f7..bcd4c880166 100644 --- a/repos/spack_repo/builtin/packages/kubectl/package.py +++ b/repos/spack_repo/builtin/packages/kubectl/package.py @@ -63,22 +63,12 @@ class Kubectl(GoPackage): # 4. https://github.com/kubernetes/kubernetes/blob/v1.32.2/hack/lib/init.sh#L61 # 5. https://github.com/kubernetes/kubernetes/blob/v1.32.2/hack/lib/version.sh#L151-L183 @property - def build_args(self): - kube_ldflags = [ - f"-X 'k8s.io/client-go/pkg/version.gitVersion=v{self.version}'", - f"-X 'k8s.io/client-go/pkg/version.gitMajor={self.version.up_to(1)}'", - f"-X 'k8s.io/client-go/pkg/version.gitMinor={str(self.version).split('.')[1]}'", - f"-X 'k8s.io/component-base/version.gitVersion=v{self.version}'", - f"-X 'k8s.io/component-base/version.gitMajor={self.version.up_to(1)}'", - f"-X 'k8s.io/component-base/version.gitMinor={str(self.version).split('.')[1]}'", + def ldflags(self): + return [ + f"-X k8s.io/client-go/pkg/version.gitVersion=v{self.spec.version}", + f"-X k8s.io/client-go/pkg/version.gitMajor={self.spec.version.up_to(1)}", + f"-X k8s.io/client-go/pkg/version.gitMinor={str(self.spec.version).split('.')[1]}", + f"-X k8s.io/component-base/version.gitVersion=v{self.spec.version}", + f"-X k8s.io/component-base/version.gitMajor={self.spec.version.up_to(1)}", + f"-X k8s.io/component-base/version.gitMinor={str(self.spec.version).split('.')[1]}", ] - - args = super().build_args - - if "-ldflags" in args: - ldflags_index = args.index("-ldflags") + 1 - args[ldflags_index] = args[ldflags_index] + " " + " ".join(kube_ldflags) - else: - args.extend(["-ldflags", " ".join(kube_ldflags)]) - - return args diff --git a/repos/spack_repo/builtin/packages/oc/package.py b/repos/spack_repo/builtin/packages/oc/package.py index a14feba9458..b0c29f079ad 100644 --- a/repos/spack_repo/builtin/packages/oc/package.py +++ b/repos/spack_repo/builtin/packages/oc/package.py @@ -35,11 +35,9 @@ class Oc(GoPackage): @property def build_args(self): - args = super().build_args tags = ["include_gcs", "include_oss", "containers_image_openpgp"] if self.spec.satisfies("+gssapi"): tags.append("gssapi") - args.extend(["-tags", " ".join(tags)]) - return args + return ["-tags", " ".join(tags)] diff --git a/repos/spack_repo/builtin/packages/pprof/package.py b/repos/spack_repo/builtin/packages/pprof/package.py index 1a88061a8b8..bd057f5d193 100644 --- a/repos/spack_repo/builtin/packages/pprof/package.py +++ b/repos/spack_repo/builtin/packages/pprof/package.py @@ -14,23 +14,22 @@ class Pprof(GoPackage): git = "https://github.com/google/pprof.git" maintainers("mcmehrtens") + license("Apache-2.0", checked_by="mcmehrtens") + sanity_check_is_file = ["bin/pprof"] + # pprof doesn't have tagged releases version("main", branch="main", get_full_repo=True) - # pprof's go.mod requires go 1.24; Go supports the two most recent - # major releases, so this will need updating with new Go releases. - depends_on("go@1.24:", type="build") - variant( "graphviz", default=True, description="Enable graphic visualization of profiles (SVG, PDF, etc.)", ) - depends_on("graphviz", type="run", when="+graphviz") + # pprof's go.mod requires go 1.24; Go supports the two most recent + # major releases, so this will need updating with new Go releases. + depends_on("go@1.24:", type="build") - @property - def sanity_check_is_file(self): - return [join_path("bin", "pprof")] + depends_on("graphviz", type="run", when="+graphviz") diff --git a/repos/spack_repo/builtin/packages/rclone/package.py b/repos/spack_repo/builtin/packages/rclone/package.py index 427dca99d65..9ef4082852f 100644 --- a/repos/spack_repo/builtin/packages/rclone/package.py +++ b/repos/spack_repo/builtin/packages/rclone/package.py @@ -59,6 +59,11 @@ class Rclone(GoPackage): depends_on("go@1.17:", type="build", when="@1.58:") depends_on("go@1.14:", type="build") + @property + def ldflags(self): + version_path = go("list", "./fs", output=str).strip() + return [f"-X {version_path}.Version={self.spec.version}"] + @run_after("install") def install_completions(self): rclone = Executable(self.prefix.bin.rclone) diff --git a/repos/spack_repo/builtin/packages/seqkit/package.py b/repos/spack_repo/builtin/packages/seqkit/package.py index bbc9eabfc3b..fb3dcb46a76 100644 --- a/repos/spack_repo/builtin/packages/seqkit/package.py +++ b/repos/spack_repo/builtin/packages/seqkit/package.py @@ -2,18 +2,11 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) -from spack_repo.builtin.build_systems import go from spack_repo.builtin.build_systems.go import GoPackage from spack.package import * -class GoBuilder(go.GoBuilder): - @property - def build_directory(self): - return join_path(self.pkg.stage.source_path, "seqkit") - - class Seqkit(GoPackage): """seqkit: a cross-platform and ultrafast toolkit for FASTA/Q file manipulation""" @@ -30,3 +23,5 @@ class Seqkit(GoPackage): version("2.4.0", sha256="c319f3d5feb7c99309e654042432959f01bbc5f7e4c71f55dc9854df46c73c7f") depends_on("go@1.17:", type="build") + + build_directory = "seqkit" diff --git a/repos/spack_repo/builtin/packages/trivy/package.py b/repos/spack_repo/builtin/packages/trivy/package.py index 7520c26ad90..2ed6edf9899 100644 --- a/repos/spack_repo/builtin/packages/trivy/package.py +++ b/repos/spack_repo/builtin/packages/trivy/package.py @@ -35,21 +35,10 @@ class Trivy(GoPackage): build_directory = "cmd/trivy" - # Required to correctly set the version - # https://github.com/aquasecurity/trivy/blob/v0.61.0/goreleaser.yml#L11 @property - def build_args(self): - extra_ldflags = [f"-X 'github.com/aquasecurity/trivy/pkg/version/app.ver=v{self.version}'"] - - args = super().build_args - - if "-ldflags" in args: - ldflags_index = args.index("-ldflags") + 1 - args[ldflags_index] = args[ldflags_index] + " " + " ".join(extra_ldflags) - else: - args.extend(["-ldflags", " ".join(extra_ldflags)]) - - return args + def ldflags(self): + version_path = go("list", "../../pkg/version/app", output=str).strip() + return [f"-X {version_path}.ver=v{self.spec.version}"] def setup_build_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@0.67.0:"): diff --git a/repos/spack_repo/builtin/packages/yamlfmt/package.py b/repos/spack_repo/builtin/packages/yamlfmt/package.py index b4af5cfb90f..ea3e4f78bc2 100644 --- a/repos/spack_repo/builtin/packages/yamlfmt/package.py +++ b/repos/spack_repo/builtin/packages/yamlfmt/package.py @@ -22,15 +22,8 @@ class Yamlfmt(GoPackage): depends_on("go@1.22:", type="build", when="@0.21:") depends_on("go@1.21:", type="build") + build_directory = "cmd/yamlfmt" + @property - def build_args(self): - return [ - "-p", - str(make_jobs), - "-modcacherw", - "-ldflags", - f"-s -w -X main.version={self.version}", - "-o", - f"{self.name}", - f"{join_path(self.build_directory, 'cmd', self.name)}", - ] + def ldflags(self): + return [f"-X main.version={self.spec.version}"] From 9783be4cd5ac7bf984d83af6fa8931f85cfcce1c Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Fri, 29 May 2026 23:00:39 +0200 Subject: [PATCH 060/180] py-opentelemetry-sdk: add new package (#5003) * py-opentelemetry-sdk: add new package * py-opentelentry-exporter-prometheus: typo in package name * py-opentelemetry: hatchling is a build dep --- .../packages/py_opentelemetry_api/package.py | 24 ++++++++++++++++++ .../package.py | 24 ++++++++++++++++++ .../package.py | 25 +++++++++++++++++++ .../packages/py_opentelemetry_sdk/package.py | 24 ++++++++++++++++++ .../package.py | 23 +++++++++++++++++ 5 files changed, 120 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/py_opentelemetry_api/package.py create mode 100644 repos/spack_repo/builtin/packages/py_opentelemetry_exporter_prometheus/package.py create mode 100644 repos/spack_repo/builtin/packages/py_opentelemetry_instrumentation/package.py create mode 100644 repos/spack_repo/builtin/packages/py_opentelemetry_sdk/package.py create mode 100644 repos/spack_repo/builtin/packages/py_opentelemetry_semantic_conventions/package.py diff --git a/repos/spack_repo/builtin/packages/py_opentelemetry_api/package.py b/repos/spack_repo/builtin/packages/py_opentelemetry_api/package.py new file mode 100644 index 00000000000..2ed5b9043c3 --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_opentelemetry_api/package.py @@ -0,0 +1,24 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyOpentelemetryApi(PythonPackage): + """OpenTelemetry Python API.""" + + homepage = "https://github.com/open-telemetry/opentelemetry-python" + pypi = "opentelemetry_api/opentelemetry_api-1.39.1.tar.gz" + + version("1.41.0", sha256="9421d911326ec12dee8bc933f7839090cad7a3f13fcfb0f9e82f8174dc003c09") + version("1.39.1", sha256="fbde8c80e1b937a2c61f20347e91c0c18a1940cecf012d62e65a7caf08967c9c") + + depends_on("python@3.9:", type=("build", "run")) + depends_on("py-hatchling", type="build") + + depends_on("py-typing-extensions@4.5:", type=("build", "run")) + depends_on("py-importlib-metadata@6:8.7", type=("build", "run")) diff --git a/repos/spack_repo/builtin/packages/py_opentelemetry_exporter_prometheus/package.py b/repos/spack_repo/builtin/packages/py_opentelemetry_exporter_prometheus/package.py new file mode 100644 index 00000000000..d2e37d6273c --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_opentelemetry_exporter_prometheus/package.py @@ -0,0 +1,24 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyOpentelemetryExporterPrometheus(PythonPackage): + """Prometheus Metric Exporter for OpenTelemetry.""" + + homepage = "https://github.com/open-telemetry/opentelemetry-python" + pypi = "opentelemetry_exporter_prometheus/opentelemetry_exporter_prometheus-0.62b0.tar.gz" + + version("0.62b0", sha256="4d1106566a9b3e8dff028e69e9f2dc90723e6b431c900ff8c72982fcf11dbae5") + + depends_on("python@3.9:", type=("build", "run")) + depends_on("py-hatchling", type="build") + + depends_on("py-opentelemetry-api@1.12:1", type=("build", "run")) + depends_on("py-opentelemetry-sdk@1.41:1", type=("build", "run")) + depends_on("py-prometheus-client@0.5:0", type=("build", "run")) diff --git a/repos/spack_repo/builtin/packages/py_opentelemetry_instrumentation/package.py b/repos/spack_repo/builtin/packages/py_opentelemetry_instrumentation/package.py new file mode 100644 index 00000000000..f6062219343 --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_opentelemetry_instrumentation/package.py @@ -0,0 +1,25 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyOpentelemetryInstrumentation(PythonPackage): + """Instrumentation Tools & Auto Instrumentation for OpenTelemetry Python.""" + + homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib" + pypi = "opentelemetry_instrumentation/opentelemetry_instrumentation-0.62b0.tar.gz" + + version("0.62b0", sha256="aa1b0b9ab2e1722c2a8a5384fb016fc28d30bba51826676c8036074790d2861e") + + depends_on("python@3.9:", type=("build", "run")) + depends_on("py-hatchling", type="build") + + depends_on("py-packaging@18:", type=("build", "run")) + depends_on("py-wrapt@1:2", type=("build", "run")) + depends_on("py-opentelemetry-api@1.4:1", type=("build", "run")) + depends_on("py-opentelemetry-semantic-conventions@0.62b0", type=("build", "run")) diff --git a/repos/spack_repo/builtin/packages/py_opentelemetry_sdk/package.py b/repos/spack_repo/builtin/packages/py_opentelemetry_sdk/package.py new file mode 100644 index 00000000000..0df6a8ffcbf --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_opentelemetry_sdk/package.py @@ -0,0 +1,24 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyOpentelemetrySdk(PythonPackage): + """OpenTelemetry Python SDK.""" + + homepage = "https://github.com/open-telemetry/opentelemetry-python" + pypi = "opentelemetry_sdk/opentelemetry_sdk-1.41.0.tar.gz" + + version("1.41.0", sha256="7bddf3961131b318fc2d158947971a8e37e38b1cd23470cfb72b624e7cc108bd") + + depends_on("python@3.9:", type=("build", "run")) + depends_on("py-hatchling", type="build") + + depends_on("py-opentelemetry-api@1.41.0", type=("build", "run")) + depends_on("py-opentelemetry-semantic-conventions@0.62b0", type=("build", "run")) + depends_on("py-typing-extensions@4.5:", type=("build", "run")) diff --git a/repos/spack_repo/builtin/packages/py_opentelemetry_semantic_conventions/package.py b/repos/spack_repo/builtin/packages/py_opentelemetry_semantic_conventions/package.py new file mode 100644 index 00000000000..139abb3f432 --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_opentelemetry_semantic_conventions/package.py @@ -0,0 +1,23 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyOpentelemetrySemanticConventions(PythonPackage): + """OpenTelemetry Semantic Conventions.""" + + homepage = "https://github.com/open-telemetry/opentelemetry-python" + pypi = "opentelemetry_semantic_conventions/opentelemetry_semantic_conventions-0.62b0.tar.gz" + + version("0.62b0", sha256="cbfb3c8fc259575cf68a6e1b94083cc35adc4a6b06e8cf431efa0d62606c0097") + + depends_on("python@3.9:", type=("build", "run")) + depends_on("py-hatchling", type="build") + + depends_on("py-opentelemetry-api@1.41.0", type=("build", "run")) + depends_on("py-typing-extensions@4.5:", type=("build", "run")) From b60d43710335de6cbcf8c1f993503ed42a2b6b9b Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Fri, 29 May 2026 23:02:01 +0200 Subject: [PATCH 061/180] py-redis: add v7.1.0 (#4988) * py-redis: add v7.1.0 * py-redis: add bounds on python --- .../builtin/packages/py_redis/package.py | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/repos/spack_repo/builtin/packages/py_redis/package.py b/repos/spack_repo/builtin/packages/py_redis/package.py index cdb54ff95a7..57459bb945c 100644 --- a/repos/spack_repo/builtin/packages/py_redis/package.py +++ b/repos/spack_repo/builtin/packages/py_redis/package.py @@ -15,6 +15,7 @@ class PyRedis(PythonPackage): license("MIT") + version("7.1.0", sha256="b1cc3cfa5a2cb9c2ab3ba700864fb0ad75617b41f01352ce5779dabf6d5f9c3c") version("4.5.1", sha256="1eec3741cda408d3a5f84b78d089c8b8d895f21b3b050988351e925faf202864") version("3.5.3", sha256="0e7e0cfca8660dea8b7d5cd8c4f6c5e29e11f31158c0b0ae91a397f00e5a05a2") version("3.5.0", sha256="7378105cd8ea20c4edc49f028581e830c01ad5f00be851def0f4bc616a83cd89") @@ -26,10 +27,18 @@ class PyRedis(PythonPackage): description="Support for hiredis which speeds up parsing of multi bulk replies", ) - depends_on("py-setuptools", type="build") - depends_on("py-importlib-metadata@1:", when="@4: ^python@:3.7", type=("build", "run")) - depends_on("py-typing-extensions", when="@4: ^python@:3.7", type=("build", "run")) - depends_on("py-async-timeout@4.0.2:", when="@4:", type=("build", "run")) + depends_on("py-hatchling", type="build", when="@6:") + depends_on("py-setuptools", type="build", when="@:5") - depends_on("py-hiredis@1:", when="@4: +hiredis", type=("build", "run")) - depends_on("py-hiredis@0.1.3:", when="+hiredis", type=("build", "run")) + with default_args(type=("build", "run")): + depends_on("python@3.10:", when="@7.1.0:") + depends_on("python@3.8:", when="@5.1.0:") + depends_on("python") + + depends_on("py-importlib-metadata@1:", when="@4: ^python@:3.7") + depends_on("py-typing-extensions", when="@4: ^python@:3.7") + depends_on("py-async-timeout@4.0.3:", when="@5.0.3: ^python@:3.11.2") + depends_on("py-async-timeout@4.0.2:", when="@4:") + + depends_on("py-hiredis@1:", when="@4: +hiredis") + depends_on("py-hiredis@0.1.3:", when="+hiredis") From d8773c92ab63fd0a5304c05d290a091d5dedd0a3 Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Fri, 29 May 2026 23:03:00 +0200 Subject: [PATCH 062/180] py-griffe: add v1.15.0 (#4974) * py-griffe: add v1.15.0 * py-griffe: fix build backend for older versions * py-griffe: style --- repos/spack_repo/builtin/packages/py_griffe/package.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/py_griffe/package.py b/repos/spack_repo/builtin/packages/py_griffe/package.py index a7abd18cb9a..c8eae4ebb56 100644 --- a/repos/spack_repo/builtin/packages/py_griffe/package.py +++ b/repos/spack_repo/builtin/packages/py_griffe/package.py @@ -18,8 +18,13 @@ class PyGriffe(PythonPackage): license("ISC") + version("1.15.0", sha256="7726e3afd6f298fbc3696e67958803e7ac843c1cfe59734b6251a40cdbfb5eea") version("0.22.0", sha256="a3c25a2b7bf729ecee7cd455b4eff548f01c620b8f58a8097a800caad221f12e") + depends_on("python@3.10:", type=("build", "run"), when="@1.15:") depends_on("python@3.7:", type=("build", "run")) - depends_on("py-pdm-pep517", type="build") + depends_on("py-pdm-backend", type="build", when="@0.26:") + depends_on("py-pdm-pep517", type="build", when="@:0.25") + + depends_on("py-colorama@0.4:", type=("build", "run"), when="@1.15.0:") depends_on("py-cached-property", type=("build", "run"), when="^python@:3.7") From 62bf6a76c1cb9fab2951605e01fb67aba87a03a5 Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Fri, 29 May 2026 23:03:28 +0200 Subject: [PATCH 063/180] py-jsonpatch: add v1.33 (#4977) --- repos/spack_repo/builtin/packages/py_jsonpatch/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/py_jsonpatch/package.py b/repos/spack_repo/builtin/packages/py_jsonpatch/package.py index 71113861197..8b0ea602bde 100644 --- a/repos/spack_repo/builtin/packages/py_jsonpatch/package.py +++ b/repos/spack_repo/builtin/packages/py_jsonpatch/package.py @@ -15,6 +15,7 @@ class PyJsonpatch(PythonPackage): license("BSD-3-Clause") + version("1.33", sha256="9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c") version("1.23", sha256="49f29cab70e9068db3b1dc6b656cbe2ee4edf7dfe9bf5a0055f17a4b6804a4b9") depends_on("py-setuptools", type="build") From db10f19c9db5db3bc038e3ae4e0718c0fe474d6a Mon Sep 17 00:00:00 2001 From: Manuela Kuhn <36827019+manuelakuhn@users.noreply.github.com> Date: Fri, 29 May 2026 23:05:16 +0200 Subject: [PATCH 064/180] deno: add v2.8.1 (#5009) --- .../builtin/packages/deno/package.py | 57 +++++++++++-------- 1 file changed, 34 insertions(+), 23 deletions(-) diff --git a/repos/spack_repo/builtin/packages/deno/package.py b/repos/spack_repo/builtin/packages/deno/package.py index 345b3abc2c3..b771814f009 100644 --- a/repos/spack_repo/builtin/packages/deno/package.py +++ b/repos/spack_repo/builtin/packages/deno/package.py @@ -21,35 +21,46 @@ class Deno(Package): skip_version_audit = ["platform=windows"] deno_versions = { + "2.8.1": { + "linux": { + "x86_64": "2d7bb6195226ac832e0bf7109a115f0af65ee69ac797a4bbde5b27a06cc242d9", + "aarch64": "67e9df91870fd0af700df924173e3009ea7ff6956e2c3c3bb86065d6070d0fd6", + }, + "darwin": { + "x86_64": "47473845e0522ba11dd279e3dd318e2d84ee200c56b8280594e0ae0b0f827460", + "arm64": "8154e2de0ee8c1cae31fa88e078724aaef0295fab9fd2ad6f8520389cee908f6", + }, + }, "2.4.2": { "linux": { - "x86_64": { - "sha256": "d84778633215b7cb93cf7690860d6241f632b087bd2a19de12cd410e6b2e157a", - "target": "x86_64-unknown-linux-gnu", - }, - "aarch64": { - "sha256": "4a3218e3ca99f2abbc41d20691bca7942d18ebcb01db6b4389cbb91eabf1055f", - "target": "aarch64-unknown-linux-gnu", - }, + "x86_64": "d84778633215b7cb93cf7690860d6241f632b087bd2a19de12cd410e6b2e157a", + "aarch64": "4a3218e3ca99f2abbc41d20691bca7942d18ebcb01db6b4389cbb91eabf1055f", }, "darwin": { - "x86_64": { - "sha256": "fa47eb72b8d1f3499a7fb3e6c7bbcd3b1e6407112bb03fafd40aa8038a54b93e", - "target": "x86_64-apple-darwin", - }, - "arm64": { - "sha256": "732f3ce50dc64a63972ca4efb48679299c01663ce918f710d695a68ce5f4c936", - "target": "aarch64-apple-darwin", - }, + "x86_64": "fa47eb72b8d1f3499a7fb3e6c7bbcd3b1e6407112bb03fafd40aa8038a54b93e", + "arm64": "732f3ce50dc64a63972ca4efb48679299c01663ce918f710d695a68ce5f4c936", }, # for some reason windows does not work # "windows": { - # "x86_64": { - # "sha256": "5a8c816f6e720378a74c2567679ba2a799c815b8c2ffc06b0e71da6c2a9bf189", - # "target": "x86_64-pc-windows-msvc", - # } + # "x86_64": "5a8c816f6e720378a74c2567679ba2a799c815b8c2ffc06b0e71da6c2a9bf189", # }, - } + }, + } + + zip_name = { + "linux": { + "x86_64": "x86_64-unknown-linux-gnu", + "aarch64": "aarch64-unknown-linux-gnu", + }, + "darwin": { + "x86_64": "x86_64-apple-darwin", + "arm64": "aarch64-apple-darwin", + }, + # for some reason windows does not work + # "windows": { + # "x86_64": "x86_64-pc-windows-msvc", + # } + # }, } license("MIT") @@ -59,7 +70,7 @@ class Deno(Package): for ver in deno_versions: if system in deno_versions[ver] and machine in deno_versions[ver][system]: - version(ver, sha256=deno_versions[ver][system][machine]["sha256"]) + version(ver, sha256=deno_versions[ver][system][machine]) def install(self, spec, prefix): mkdirp(prefix.bin) @@ -74,6 +85,6 @@ def url_for_version(self, version): ): return None - target = self.deno_versions[ver][self.system][self.machine]["target"] + target = self.zip_name[self.system][self.machine] return f"https://dl.deno.land/release/{version}/deno-{target}.zip" From 1faac828c367db03b76d0440a1c25fde8f362b6d Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 29 May 2026 23:06:08 +0200 Subject: [PATCH 065/180] py-lightning: add v2.6.5 (#4965) Signed-off-by: Adam J. Stewart --- repos/spack_repo/builtin/packages/py_lightning/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/py_lightning/package.py b/repos/spack_repo/builtin/packages/py_lightning/package.py index c9f9b602d97..ef003fbf504 100644 --- a/repos/spack_repo/builtin/packages/py_lightning/package.py +++ b/repos/spack_repo/builtin/packages/py_lightning/package.py @@ -19,6 +19,7 @@ class PyLightning(PythonPackage): maintainers("adamjstewart") version("master", branch="master") + version("2.6.5", sha256="16a30310ed69afde3748491feb5d13508908effd70390d2bfc203dc0812a4b4a") version("2.6.4", sha256="79a4eaf3db09e88485d0589abb6aa1beedde81e4e52536b1ddbb4478cda22235") version("2.6.1", sha256="859104b98c61add6fe60d0c623abf749baf25f2950a66ebdfb4bd18aa7decba9") version("2.6.0", sha256="881841716b59c1837ae0c562c2e64fea9bcf49ef9de3867bd1f868557ec23d04") From 6beded8558f4ff1322a966588376a5321603a47e Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Fri, 29 May 2026 23:12:12 +0200 Subject: [PATCH 066/180] py-uv-build: add new package (#4984) --- .../builtin/packages/py_uv_build/package.py | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/py_uv_build/package.py diff --git a/repos/spack_repo/builtin/packages/py_uv_build/package.py b/repos/spack_repo/builtin/packages/py_uv_build/package.py new file mode 100644 index 00000000000..641597e3726 --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_uv_build/package.py @@ -0,0 +1,24 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyUvBuild(PythonPackage): + """The uv build backend.""" + + homepage = "https://github.com/astral-sh/uv" + pypi = "uv_build/uv_build-0.8.2.tar.gz" + + license("Apache-2.0 OR MIT") + + tags = ["build-tools"] + + version("0.11.6", sha256="3ca25d4fca52e0598084fab352a4cafe737043f5682e3cb654164f033ba6d736") + version("0.8.2", sha256="7f80aa603eb67d1816917c1dc372de89a81bf082c9330418a604c5eedab54c46") + + depends_on("python@3.8:", type=("build", "run")) + depends_on("py-maturin@1", type="build") From d9461e977b85594a98deae9459ddcfcf94a44586 Mon Sep 17 00:00:00 2001 From: Ryan Krattiger <80296582+kwryankrattiger@users.noreply.github.com> Date: Fri, 29 May 2026 16:50:48 -0500 Subject: [PATCH 067/180] ParaView: Make OSMesa a link dep when +osmesa_fallback (#4588) This is not really true, but it solves the explicit fallback not being found in LD_LIBRARY_PATH problem by putting it in the rpath. Signed-off-by: Ryan Krattiger --- repos/spack_repo/builtin/packages/paraview/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/paraview/package.py b/repos/spack_repo/builtin/packages/paraview/package.py index 2e53feb37d1..3a6bd884a08 100644 --- a/repos/spack_repo/builtin/packages/paraview/package.py +++ b/repos/spack_repo/builtin/packages/paraview/package.py @@ -322,7 +322,7 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage): # * the system rendering default (WGL/AGL/GLX) # * EGL # * OSMesa (guarenteed to exist and work on all systems) - depends_on("osmesa", type=("run"), when="+osmesa_fallback") + depends_on("osmesa", type=("link", "run"), when="+osmesa_fallback") # Depend on Viskores when it is needed for vk_variant in viskores_dependency_variants: From a4997947664a21e1d8300502a0f4386e61153ea6 Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Sat, 30 May 2026 05:51:40 +0200 Subject: [PATCH 068/180] py-deisa: add v0.4.0 and v0.5.0 (#4952) * py-deisa-dask: add v0.4.1 * py-deisa: add v0.4.0 * py-deisa-core: add v0.5.0 --- repos/spack_repo/builtin/packages/py_deisa/package.py | 5 ++++- .../spack_repo/builtin/packages/py_deisa_core/package.py | 2 ++ .../spack_repo/builtin/packages/py_deisa_dask/package.py | 9 +++++++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/repos/spack_repo/builtin/packages/py_deisa/package.py b/repos/spack_repo/builtin/packages/py_deisa/package.py index 9f0b7b448c7..c525a8e3779 100644 --- a/repos/spack_repo/builtin/packages/py_deisa/package.py +++ b/repos/spack_repo/builtin/packages/py_deisa/package.py @@ -14,11 +14,14 @@ class PyDeisa(PythonPackage): homepage = "https://github.com/deisa-project/deisa" pypi = "deisa/deisa-0.3.0.tar.gz" + version("0.4.0", sha256="d4f8218e187fec747197bb5c6b1bd000d404fe6a6af2f3b2603bb6929a4b08ef") version("0.3.0", sha256="15e6747457e8801355d2227a8b59263da32e60474a4fed7f3b188e3782a8c702") depends_on("py-setuptools", type="build") + depends_on("python@3.8:", type=("build", "run")) depends_on("py-dask", type=("build", "run")) depends_on("py-distributed", type=("build", "run")) depends_on("py-numpy", type=("build", "run")) - depends_on("py-deisa-dask@0.3.0", type=("build", "run")) + depends_on("py-deisa-dask", type=("build", "run")) + depends_on("py-deisa-dask@0.3.0", when="@0.3.0", type=("build", "run")) depends_on("py-ray", type=("build", "run")) diff --git a/repos/spack_repo/builtin/packages/py_deisa_core/package.py b/repos/spack_repo/builtin/packages/py_deisa_core/package.py index 7401ad40dee..0d38a7aac34 100644 --- a/repos/spack_repo/builtin/packages/py_deisa_core/package.py +++ b/repos/spack_repo/builtin/packages/py_deisa_core/package.py @@ -13,9 +13,11 @@ class PyDeisaCore(PythonPackage): homepage = "https://github.com/deisa-project/deisa-core" pypi = "deisa_core/deisa_core-0.2.0.tar.gz" + version("0.5.0", sha256="abd96c7c792359c2b45a9e4d375274526a6450386be16980da6b1efad06a9818") version("0.2.0", sha256="94df0fdbdaf1c48df82adc1b72c1fdea6c68dc65cb99f080f535886a8235cfb6") version("0.1.0", sha256="d907728d4a2acf0345d3e7b69cbf534678ab93c3cfa39f4040e7455a6f552718") + depends_on("python@3.8:", type=("build", "run")) depends_on("py-setuptools", type="build") depends_on("py-dask", type=("build", "run"), when="@0.2.0:") depends_on("py-numpy", type=("build", "run"), when="@0.2.0:") diff --git a/repos/spack_repo/builtin/packages/py_deisa_dask/package.py b/repos/spack_repo/builtin/packages/py_deisa_dask/package.py index 61b11c926f0..17e2fc8e38c 100644 --- a/repos/spack_repo/builtin/packages/py_deisa_dask/package.py +++ b/repos/spack_repo/builtin/packages/py_deisa_dask/package.py @@ -13,10 +13,15 @@ class PyDeisaDask(PythonPackage): homepage = "https://github.com/deisa-project/deisa-dask" pypi = "deisa_dask/deisa_dask-0.3.0.tar.gz" + version("0.5.0", sha256="8b359207f4924da94b8203db9d6247af57e575ab2e18b49b6890989770040e79") + version("0.4.1", sha256="acfcb41e4384a6a90ca91bce47f29b0e147e660f2dfddb82240cf9d464a9cdfc") version("0.3.0", sha256="615483d3c21e05c1cdf0564db0245f7f6ba979e75c25a0292d3d42fcc4cf6d23") depends_on("py-setuptools", type="build") - depends_on("python@3.10:", type="build") - depends_on("py-deisa-core@0.1.0", type=("build", "run")) + depends_on("python@3.10:", type=("build", "run")) + depends_on("py-deisa-core@0.5.0:", when="@0.4.0:", type=("build", "run")) + depends_on("py-deisa-core@0.1.0", when="@0.3.0", type=("build", "run")) + depends_on("py-dask@2024.9.0:", when="@0.5:", type=("build", "run")) depends_on("py-dask", type=("build", "run")) depends_on("py-distributed", type=("build", "run")) + depends_on("py-toolz", type=("build", "run")) From bd3d3fd4b45a7592e2825a268aff6644bacd8ff9 Mon Sep 17 00:00:00 2001 From: Doug Torrance Date: Sat, 30 May 2026 10:03:16 -0400 Subject: [PATCH 069/180] nauty: add v2.9.3 (#5027) Also drop "generated" comment from language dependencies --- repos/spack_repo/builtin/packages/nauty/package.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/repos/spack_repo/builtin/packages/nauty/package.py b/repos/spack_repo/builtin/packages/nauty/package.py index 344e31cb8a3..f3e35d9da06 100644 --- a/repos/spack_repo/builtin/packages/nauty/package.py +++ b/repos/spack_repo/builtin/packages/nauty/package.py @@ -19,9 +19,10 @@ class Nauty(AutotoolsPackage): license("Apache-2.0") + version("2.9.3", sha256="9fc4edae04f88a0f5883985be3b39cf7f898fd6cc96e96b9ee25452743cc1b5b") version("2.6r7", sha256="97b5648de17645895cbd56a9a0b3e23cf01f5332c476d013ea459f1a0363cdc6") - depends_on("c", type="build") # generated + depends_on("c", type="build") # Debian/ Fedora patches for @2.6r7: urls_for_patches = { @@ -88,8 +89,11 @@ def force_autoreconf(self): return self.spec.satisfies("@2.6r7") def url_for_version(self, version): - url = "https://pallini.di.uniroma1.it//nauty{0}.tar.gz" - return url.format(version.joined) + if version < Version("2.8"): + version_str = version.joined + else: + version_str = version.underscored + return f"https://pallini.di.uniroma1.it//nauty{version_str}.tar.gz" def patch(self): os.remove("makefile") From 56a7f181814c864bfeb117108cf5af009e099abc Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Sun, 31 May 2026 02:09:32 -0700 Subject: [PATCH 070/180] py-cachetools: fix ordering of versions (#5029) Signed-off-by: Alec Scott --- repos/spack_repo/builtin/packages/py_cachetools/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/py_cachetools/package.py b/repos/spack_repo/builtin/packages/py_cachetools/package.py index 25e6aa618bd..23a13ed2030 100644 --- a/repos/spack_repo/builtin/packages/py_cachetools/package.py +++ b/repos/spack_repo/builtin/packages/py_cachetools/package.py @@ -18,8 +18,8 @@ class PyCachetools(PythonPackage): license("MIT") version("7.1.1", sha256="27bdf856d68fd3c71c26c01b5edc312124ed427524d1ddb31aa2b7746fe20d4b") - version("6.2.4", sha256="82c5c05585e70b6ba2d3ae09ea60b79548872185d2f24ae1f2709d37299fd607") version("6.2.6", sha256="16c33e1f276b9a9c0b49ab5782d901e3ad3de0dd6da9bf9bcd29ac5672f2f9e6") + version("6.2.4", sha256="82c5c05585e70b6ba2d3ae09ea60b79548872185d2f24ae1f2709d37299fd607") version("5.5.2", sha256="1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4") version("5.2.0", sha256="6a94c6402995a99c3970cc7e4884bb60b4a8639938157eeed436098bf9831757") version("4.2.4", sha256="89ea6f1b638d5a73a4f9226be57ac5e4f399d22770b92355f92dcb0f7f001693") From 6668d34f44de3982d3f5418ff86ba867a58b3caf Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Sun, 31 May 2026 02:53:40 -0700 Subject: [PATCH 071/180] rust: add v1.96.0 (#5031) Signed-off-by: Alec Scott --- .../builtin/packages/rust/package.py | 6 ++++++ .../builtin/packages/rust_bootstrap/package.py | 18 +++++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/repos/spack_repo/builtin/packages/rust/package.py b/repos/spack_repo/builtin/packages/rust/package.py index 1a17316ee9a..38f4efda780 100644 --- a/repos/spack_repo/builtin/packages/rust/package.py +++ b/repos/spack_repo/builtin/packages/rust/package.py @@ -38,6 +38,7 @@ class Rust(Package): version("nightly") # Stable versions. + version("1.96.0", sha256="b99ce16cdf0ecfc761b585ac84d131b46733465a02f8ecd0ff2de9713c62ee09") version("1.92.0", sha256="9e0d2ca75c7e275fdc758255bf4b03afb3d65d1543602746907c933b6901c3b8") version("1.86.0", sha256="022a27286df67900a044d227d9db69d4732ec3d833e4ffc259c4425ed71eed80") version("1.85.0", sha256="2f4f3142ffb7c8402139cfa0796e24baaac8b9fd3f96b2deec3b94b4045c6a8a") @@ -88,6 +89,7 @@ class Rust(Package): depends_on("rust-bootstrap@nightly", type="build", when="@nightly") # Stable version dependencies + depends_on("rust-bootstrap@1.95:1.96", type="build", when="@1.96") depends_on("rust-bootstrap@1.91:1.92", type="build", when="@1.92") depends_on("rust-bootstrap@1.85:1.86", type="build", when="@1.86") depends_on("rust-bootstrap@1.84:1.85", type="build", when="@1.85") @@ -114,6 +116,10 @@ class Rust(Package): phases = ["configure", "build", "install"] + def url_for_version(self, version): + ext = "gz" if version <= Version("1.92.0") else "xz" + return f"https://static.rust-lang.org/dist/rustc-{version}-src.tar.{ext}" + @classmethod def determine_version(csl, exe): output = Executable(exe)("--version", output=str, error=str) diff --git a/repos/spack_repo/builtin/packages/rust_bootstrap/package.py b/repos/spack_repo/builtin/packages/rust_bootstrap/package.py index 454735bfe31..ae0d7d289f3 100644 --- a/repos/spack_repo/builtin/packages/rust_bootstrap/package.py +++ b/repos/spack_repo/builtin/packages/rust_bootstrap/package.py @@ -24,6 +24,17 @@ class RustBootstrap(Package): # should update these binary releases as bootstrapping requirements are # modified by new releases of Rust. rust_releases = { + "1.96.0": { + "darwin": { + "x86_64": "63a6d717a5e5392ac43f0a1593e7aabe6128c8685d318cb890603b1688cb3339", + "aarch64": "f04a974f3579d3524f6b9bc6490a27c9fb358050e7cd8a641945f30bf24c1dce", + }, + "linux": { + "x86_64": "c295047583a56238ea06b43f849f4b877fa12bfd4c7103f8d9a74c94c9c4e108", + "aarch64": "371eadcca97062219cbd8593628eb5d2802bc370515d085fedce1b56b2baed57", + "powerpc64le": "fea8e9155c69740415f1c96fa8879e61b16238e26cfee62d15f4f93aa83cb8d5", + }, + }, "1.92.0": { "darwin": { "x86_64": "fc6868991e61e9262272effbb8956b23428430f5f4300c1b48eaae3969f8af2a", @@ -202,15 +213,16 @@ def url_for_version(self, version): # `spack checksum rust-bootstrap@1.70.0-darwin-aarch64`. match = re.search(r"(\S+)-(\S+)-(\S+)", str(version)) if match: - version = match.group(1) + version = Version(match.group(1)) os = self.rust_os[match.group(2)] target = self.rust_targets[match.group(3)] else: os = self.rust_os[self.os] target = self.target - url = "https://static.rust-lang.org/dist/rust-{0}-{1}-{2}.tar.gz" - return url.format(version, target, os) + ext = "gz" if version <= Version("1.92.0") else "xz" + url = "https://static.rust-lang.org/dist/rust-{0}-{1}-{2}.tar.{3}" + return url.format(version, target, os, ext) @run_before("install", when="platform=linux") def fixup_rpaths(self): From 62b3f6dfb134020548b8b847444ad13c13d31cea Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Sun, 31 May 2026 03:03:31 -0700 Subject: [PATCH 072/180] developer-tools-stacks: drop +json from emacs (#5032) Signed-off-by: Alec Scott --- stacks/developer-tools-aarch64-linux-gnu/spack.yaml | 2 +- stacks/developer-tools-darwin/spack.yaml | 2 +- stacks/developer-tools-x86_64_v3-linux-gnu/spack.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/stacks/developer-tools-aarch64-linux-gnu/spack.yaml b/stacks/developer-tools-aarch64-linux-gnu/spack.yaml index b94b8980ce1..e80a9f0a799 100644 --- a/stacks/developer-tools-aarch64-linux-gnu/spack.yaml +++ b/stacks/developer-tools-aarch64-linux-gnu/spack.yaml @@ -19,7 +19,7 @@ spack: - neovim~no_luajit - py-pynvim # FIXME (compiler as nodes): recover dependency on gcc as a library when +native - - emacs+json~native+treesitter # note, pulls in gcc + - emacs~native+treesitter # note, pulls in gcc # - tree-sitter is a dep, should also have cli but no package - nano # just in case # tags and scope search helpers diff --git a/stacks/developer-tools-darwin/spack.yaml b/stacks/developer-tools-darwin/spack.yaml index 79be821dcc0..f6950a65761 100644 --- a/stacks/developer-tools-darwin/spack.yaml +++ b/stacks/developer-tools-darwin/spack.yaml @@ -14,7 +14,7 @@ spack: reuse: false specs: # editors - - emacs+json~native+treesitter # TODO +native not supported until gcc builds on darwin + - emacs~native+treesitter # TODO +native not supported until gcc builds on darwin - nano # - neovim - py-pynvim diff --git a/stacks/developer-tools-x86_64_v3-linux-gnu/spack.yaml b/stacks/developer-tools-x86_64_v3-linux-gnu/spack.yaml index 237edae7e3e..eb709aed53e 100644 --- a/stacks/developer-tools-x86_64_v3-linux-gnu/spack.yaml +++ b/stacks/developer-tools-x86_64_v3-linux-gnu/spack.yaml @@ -22,7 +22,7 @@ spack: - neovim~no_luajit - py-pynvim # FIXME (compiler as nodes): recover dependency on gcc as a library when +native - - emacs+json~native+treesitter # note, pulls in gcc + - emacs~native+treesitter # note, pulls in gcc # - tree-sitter is a dep, should also have cli but no package - nano # just in case # tags and scope search helpers From e232e665151997789b4d441702412a167d8ef284 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Sun, 31 May 2026 22:23:57 -0600 Subject: [PATCH 073/180] cuda: add v13.1.2, v13.2.0, v13.2.1 and v13.3.0 (#4897) * cuda: add v13.1.2, v13.2.0 and v13.2.1 * Update cuda.py Co-authored-by: Paul Grosse-Bley * ginkgo: add conflict for CUDA 13.2+ * hypre: add conflict for CUDA 13.2+ * cuda: add v13.3.0 --------- Co-authored-by: Paul Grosse-Bley --- .../spack_repo/builtin/build_systems/cuda.py | 7 ++-- .../builtin/packages/cuda/package.py | 40 +++++++++++++++++++ .../builtin/packages/ginkgo/package.py | 3 ++ .../builtin/packages/hypre/package.py | 2 + 4 files changed, 48 insertions(+), 4 deletions(-) diff --git a/repos/spack_repo/builtin/build_systems/cuda.py b/repos/spack_repo/builtin/build_systems/cuda.py index 87a3a43d39e..4425811f669 100644 --- a/repos/spack_repo/builtin/build_systems/cuda.py +++ b/repos/spack_repo/builtin/build_systems/cuda.py @@ -211,8 +211,7 @@ def compute_capabilities(arch_list: Iterable[str]) -> List[str]: conflicts("%gcc@13:", when="%cuda@:12.3") conflicts("%gcc@14:", when="%cuda@:12.6") conflicts("%gcc@15:", when="%cuda@:12.9") - conflicts("%gcc@16:", when="%cuda@:13.1") - conflicts("%gcc@15:", when="%cuda@13.1:") + conflicts("%gcc@16:", when="%cuda@:13.3") conflicts("%clang@12:", when="%cuda@:11.4.0") conflicts("%clang@13:", when="%cuda@:11.5") conflicts("%clang@14:", when="%cuda@:11.7") @@ -222,8 +221,8 @@ def compute_capabilities(arch_list: Iterable[str]) -> List[str]: conflicts("%clang@18:", when="%cuda@:12.5") conflicts("%clang@19:", when="%cuda@:12.6") conflicts("%clang@20:", when="%cuda@:12.9") - conflicts("%clang@21:", when="%cuda@:13.1") - conflicts("%clang@20:", when="%cuda@13.1:") + conflicts("%clang@21:", when="%cuda@:13.0") + conflicts("%clang@22:", when="%cuda@:13.3") # https://gist.github.com/ax3l/9489132#gistcomment-3860114 conflicts("%gcc@10", when="%cuda@:11.4.0") diff --git a/repos/spack_repo/builtin/packages/cuda/package.py b/repos/spack_repo/builtin/packages/cuda/package.py index 6134f2c3edb..ef94df7f24f 100644 --- a/repos/spack_repo/builtin/packages/cuda/package.py +++ b/repos/spack_repo/builtin/packages/cuda/package.py @@ -23,6 +23,46 @@ # format returned by platform.system() and 'arch' by platform.machine() _versions = { + "13.3.0": { + "Linux-aarch64": ( + "94ec4572197b65532dcf3d327460417c6527fa42ded9d5010e06ddb89e878d4c", + "https://developer.download.nvidia.com/compute/cuda/13.3.0/local_installers/cuda_13.3.0_610.43.02_linux_sbsa.run", + ), + "Linux-x86_64": ( + "5f79488b57fe6936bc95a56f9b7e2838ab2f2ee3313b1008942206eebe06352d", + "https://developer.download.nvidia.com/compute/cuda/13.3.0/local_installers/cuda_13.3.0_610.43.02_linux.run", + ), + }, + "13.2.1": { + "Linux-aarch64": ( + "38560e0c48eba793c883ea1ada6ad4c37b744cb5284034d16fd7ee57f95dda04", + "https://developer.download.nvidia.com/compute/cuda/13.2.1/local_installers/cuda_13.2.1_595.58.03_linux_sbsa.run", + ), + "Linux-x86_64": ( + "5514a3fe7bcea92b25073c7c100c3e64e7961a7e1dbad6955adb8b59806053f0", + "https://developer.download.nvidia.com/compute/cuda/13.2.1/local_installers/cuda_13.2.1_595.58.03_linux.run", + ), + }, + "13.2.0": { + "Linux-aarch64": ( + "9684ebc64988f71ef1c70846cc9d158fb27950c1355bf37c8795c346346b6a72", + "https://developer.download.nvidia.com/compute/cuda/13.2.0/local_installers/cuda_13.2.0_595.45.04_linux_sbsa.run", + ), + "Linux-x86_64": ( + "c599b651582c8f345ebde7bcf089b7dcfcd8afd7d3ea7f50525698c563a239d7", + "https://developer.download.nvidia.com/compute/cuda/13.2.0/local_installers/cuda_13.2.0_595.45.04_linux.run", + ), + }, + "13.1.2": { + "Linux-aarch64": ( + "9d3963ce2d0d73e2175530ccb90f604821ab91b45b41dca85a96aeb6d96978c8", + "https://developer.download.nvidia.com/compute/cuda/13.1.2/local_installers/cuda_13.1.2_590.48.01_linux_sbsa.run", + ), + "Linux-x86_64": ( + "ad7d50d49898ea1a24518bb9c0c154f73eef3a1b3de22a05b5e3c907dbac4c1b", + "https://developer.download.nvidia.com/compute/cuda/13.1.2/local_installers/cuda_13.1.2_590.48.01_linux.run", + ), + }, "13.1.1": { "Linux-aarch64": ( "8adcd5d4b3e1e70f7420959b97514c0c97ec729da248d54902174c4d229bfd2c", diff --git a/repos/spack_repo/builtin/packages/ginkgo/package.py b/repos/spack_repo/builtin/packages/ginkgo/package.py index 256e090ffd1..2c711832fc6 100644 --- a/repos/spack_repo/builtin/packages/ginkgo/package.py +++ b/repos/spack_repo/builtin/packages/ginkgo/package.py @@ -127,6 +127,9 @@ class Ginkgo(CMakePackage, CudaPackage, ROCmPackage): # https://github.com/ginkgo-project/ginkgo/pull/1926 conflicts("^cuda@13:", when="@:1.10.0 +cuda") + # https://github.com/ginkgo-project/ginkgo/pull/2002 + conflicts("^cuda@13.2:", when="@1.11.0 +cuda") + # error due to change in warpSize constant definition in ROCm 7.0 prior to v.1.11.0 # https://github.com/ginkgo-project/ginkgo/pull/1954 conflicts("^hip@7:", when="@:1.10.0 +rocm") diff --git a/repos/spack_repo/builtin/packages/hypre/package.py b/repos/spack_repo/builtin/packages/hypre/package.py index dc3150ed5a8..e6172d9d1df 100644 --- a/repos/spack_repo/builtin/packages/hypre/package.py +++ b/repos/spack_repo/builtin/packages/hypre/package.py @@ -216,6 +216,8 @@ def patch(self): # fix sequential compilation in 'src/seq_mv' conflicts("cxxstd=14", when="^cuda@13:") depends_on("cuda@:11", when="@:2.28.0") conflicts("^cuda@13:", when="@:2") + # https://github.com/hypre-space/hypre/pull/1487 + conflicts("^cuda@13.2:", when="@:3.1.0") for pkg, sm_ in product(gpu_pkgs, CudaPackage.cuda_arch_values): requires(f"^{pkg} cuda_arch={sm_}", when=f"+{pkg} cuda_arch={sm_}") From 4bb4b17d539b03ebc7a91e9dc5db5c149a1057f4 Mon Sep 17 00:00:00 2001 From: Eric Berquist <727571+berquist@users.noreply.github.com> Date: Mon, 1 Jun 2026 05:04:10 -0400 Subject: [PATCH 074/180] openbabel: add v3.2.0 (#4950) --- .../builtin/packages/openbabel/package.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/repos/spack_repo/builtin/packages/openbabel/package.py b/repos/spack_repo/builtin/packages/openbabel/package.py index 01dfe42d393..e01f87f1322 100644 --- a/repos/spack_repo/builtin/packages/openbabel/package.py +++ b/repos/spack_repo/builtin/packages/openbabel/package.py @@ -20,6 +20,7 @@ class Openbabel(CMakePackage): maintainers("RMeli") version("master", branch="master") + version("3.2.0", tag="openbabel-3-2-0", commit="5046ed24e1c33180537715e0204f3111125eb595") version("3.1.1", tag="openbabel-3-1-1", commit="cbd4db43f8908b874864280fdc03bf92569eebc1") version("3.1.0", tag="openbabel-3-1-0", commit="1e593abc1edf47352d5e8a0887654edf69a2f5f3") version("3.0.0", tag="openbabel-3-0-0", commit="49f9cfb32bd0bc6ea440639d338123eb27accbe2") @@ -27,7 +28,7 @@ class Openbabel(CMakePackage): version("2.4.0", tag="openbabel-2-4-0", commit="087f33320e6796f39e6a1da04f4de7ec46bec4af") variant("python", default=True, description="Build Python bindings") - variant("gui", default=True, description="Build with GUI") + variant("gui", default=False, description="Build with GUI") variant("cairo", default=True, description="Build with Cairo (PNG output support)") variant("openmp", default=False, description="Build with OpenMP") variant("maeparser", default=False, description="Built with MAE parser") @@ -38,8 +39,10 @@ class Openbabel(CMakePackage): depends_on("c", type="build") # generated depends_on("cxx", type="build") # generated - # Pin because distutils was removed in 3.12 - depends_on("python@:3.11", type=("build", "run"), when="+python") + with when("+python"): + depends_on("python", type=("build", "run"), when="@3.2:") + # Pin because distutils was removed in 3.12 + depends_on("python@:3.11", type=("build", "run"), when="@:3.1.1") depends_on("cmake@3.1:", type="build") depends_on("pkgconfig", type="build") depends_on("swig@2.0:", type="build", when="+python") @@ -53,6 +56,7 @@ class Openbabel(CMakePackage): depends_on("rapidjson") # required to support JSON depends_on("libsm") depends_on("uuid") + depends_on("wxwidgets", when="+gui") depends_on("maeparser", when="+maeparser") depends_on("coordgen", when="+coordgen") @@ -66,6 +70,12 @@ class Openbabel(CMakePackage): # https://github.com/openbabel/openbabel/pull/2493 patch("cmake-time.patch", when="@3.1.1") + patch( + "https://github.com/openbabel/openbabel/pull/2964.patch?full_index=1", + sha256="0ada5d204487440dbb283995f8a6e04652def929b3cdaf7d71e801d6d31f1244", + when="@:3.2.0", + ) + def cmake_args(self): spec = self.spec args = [] From f003b0fb96ea91706254976f78e87c667ef70672 Mon Sep 17 00:00:00 2001 From: Mikael Simberg Date: Mon, 1 Jun 2026 12:08:42 +0200 Subject: [PATCH 075/180] ghex: Fix gpu type for nvidia gpus (#5042) --- repos/spack_repo/builtin/packages/ghex/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/ghex/package.py b/repos/spack_repo/builtin/packages/ghex/package.py index 09b8fca3b9e..d3ed780b41d 100644 --- a/repos/spack_repo/builtin/packages/ghex/package.py +++ b/repos/spack_repo/builtin/packages/ghex/package.py @@ -94,7 +94,7 @@ def cmake_args(self): arch_str = ";".join(spec.variants["cuda_arch"].value) args.append(self.define("CMAKE_CUDA_ARCHITECTURES", arch_str)) args.append(self.define("GHEX_USE_GPU", True)) - args.append(self.define("GHEX_GPU_TYPE", "CUDA")) + args.append(self.define("GHEX_GPU_TYPE", "NVIDIA")) elif spec.satisfies("+rocm"): arch_str = ";".join(spec.variants["amdgpu_target"].value) args.append(self.define("CMAKE_HIP_ARCHITECTURES", arch_str)) From 63e40ff0ca18c1f3c510d76d8b64c67bba1fbdae Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 1 Jun 2026 06:09:37 -0600 Subject: [PATCH 076/180] nvpl-scalapack: add newer versions 0.2.2, and 0.2.3 (#4999) --- .../spack_repo/builtin/packages/nvpl_scalapack/package.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/repos/spack_repo/builtin/packages/nvpl_scalapack/package.py b/repos/spack_repo/builtin/packages/nvpl_scalapack/package.py index 84a5e607232..1180f891662 100644 --- a/repos/spack_repo/builtin/packages/nvpl_scalapack/package.py +++ b/repos/spack_repo/builtin/packages/nvpl_scalapack/package.py @@ -20,12 +20,19 @@ class NvplScalapack(Package): tags = ["e4s"] + redistribute(source=False, binary=False) + + license("NVIDIA Software License Agreement") + + version("0.2.3", sha256="1afa2a6f2ab0580bff2148cc769e4c03f79a5de622c89699564287dd1a1112cf") + version("0.2.2", sha256="20cf6c54a0352f2fb0060e6f5ef6b892c5d07a242f8aab31cd9bbceb58a7bd11") version("0.2.1", sha256="dada4d1ecf044d90609b9e62750b383d11be9b22c87e109414bcc07dce3c83c9") provides("scalapack") variant("ilp64", default=False, description="Force 64-bit Fortran native integers") + depends_on("c", type="build") # for enforcing compiler restrictions depends_on("nvpl-blas +ilp64", when="+ilp64") depends_on("nvpl-blas ~ilp64", when="~ilp64") depends_on("nvpl-lapack +ilp64", when="+ilp64") From 10a15891b1b66b2534d3a5a83551a7837cc46bb9 Mon Sep 17 00:00:00 2001 From: Samuel Browne Date: Mon, 1 Jun 2026 08:44:35 -0400 Subject: [PATCH 077/180] trilinos: add v16.2.1 and v17.1.1 (#4893) Signed-off-by: Samuel E. Browne --- .../builtin/packages/trilinos/package.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/repos/spack_repo/builtin/packages/trilinos/package.py b/repos/spack_repo/builtin/packages/trilinos/package.py index e362723bfcc..f8f5d24cae4 100644 --- a/repos/spack_repo/builtin/packages/trilinos/package.py +++ b/repos/spack_repo/builtin/packages/trilinos/package.py @@ -53,7 +53,9 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage): version("master", branch="master") version("develop", branch="develop") + version("17.1.1", sha256="482bb76c9a993767a9e649261462f70620254a631d34fb089482d8474dfb2766") version("17.0.0", sha256="7afa68fc6bf1dfdcd0c07f7b61055b03509e62cee1a835d570201b46aa440a6b") + version("16.2.1", sha256="c68a9d28fc9e7b06f33804c1f5e998234820878c21ae075649483b56992cea05") version("16.2.0", sha256="543aa56232d7c0cbe73705fab2d3b5524f11b15fef8917aa14de02d23a5ca418") version("16.1.0", sha256="e9651c88f581049457036cfc01b527a9d3903c257338eeeab942befd7452f23a") version("16.0.0", sha256="46bfc40419ed2aa2db38c144fb8e61d4aa8170eaa654a88d833ba6b92903f309") @@ -479,16 +481,20 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage): depends_on("kokkos+hip_relocatable_device_code", when="+rocm_rdc") depends_on("kokkos-kernels+cusparse", when="+cusparse") depends_on("kokkos~complex_align") - depends_on("kokkos@=5.0.2", when="@master:") + depends_on("kokkos@=5.1.1", when="@master:") + depends_on("kokkos@=5.1.1", when="@17.1") depends_on("kokkos@=5.0.2", when="@17.0") - depends_on("kokkos@=4.7.01", when="@16.2") + depends_on("kokkos@=4.7.04", when="@16.2.1") + depends_on("kokkos@=4.7.01", when="@16.2.0") depends_on("kokkos@=4.5.01", when="@16.1") depends_on("kokkos@=4.3.01", when="@16.0") depends_on("kokkos@=4.2.01", when="@15.1:15") depends_on("kokkos@=4.1.00", when="@14.4:15.0") - depends_on("kokkos-kernels@=5.0.2", when="@master:") + depends_on("kokkos-kernels@=5.1.1", when="@master:") + depends_on("kokkos-kernels@=5.1.1", when="@17.1") depends_on("kokkos-kernels@=5.0.2", when="@17.0") - depends_on("kokkos-kernels@=4.7.01", when="@16.2") + depends_on("kokkos-kernels@=4.7.04", when="@16.2.1") + depends_on("kokkos-kernels@=4.7.01", when="@16.2.0") depends_on("kokkos-kernels@=4.5.01", when="@16.1") depends_on("kokkos-kernels@=4.3.01", when="@16.0") depends_on("kokkos-kernels@=4.2.01", when="@15.1:15") From add4d243c8f17074d9a3dbc472ac2d6fe03b5f55 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Mon, 1 Jun 2026 15:53:09 +0200 Subject: [PATCH 078/180] gitlab-ci: fix shallow globs that skipped all PR jobs (#5046) hotfix for #4615 GitLab CI's `changes.paths` does not allow * to cross directory separators, as a direct consequence of using Ruby's `fnmatch` with the `File::FNM_PATHNAME` flag. See https://docs.gitlab.com/ci/yaml/#ruleschanges This means that `repos/spack_repo/*` will never match package files nested under `builtin/packages/`. Here we switch to `**/*` for recursive matching. Signed-off-by: Massimiliano Culpo --- .ci/gitlab/.gitlab-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.ci/gitlab/.gitlab-ci.yml b/.ci/gitlab/.gitlab-ci.yml index 748612ea3b5..4b8acc283b3 100644 --- a/.ci/gitlab/.gitlab-ci.yml +++ b/.ci/gitlab/.gitlab-ci.yml @@ -49,9 +49,9 @@ default: .package_on_change: &package_on_change paths: - .ci/env - - .ci/gitlab/* - - repos/spack_repo/* - - stacks/$SPACK_CI_STACK_NAME/* + - .ci/gitlab/**/* + - repos/spack_repo/**/* + - stacks/$SPACK_CI_STACK_NAME/**/* compare_to: HEAD~1 ######################################## From 870bbe0106a3bf2d63bce458270b63a6e0d348e4 Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Mon, 1 Jun 2026 18:25:30 +0200 Subject: [PATCH 079/180] py-whenever: add new package (#5002) --- .../builtin/packages/py_whenever/package.py | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/py_whenever/package.py diff --git a/repos/spack_repo/builtin/packages/py_whenever/package.py b/repos/spack_repo/builtin/packages/py_whenever/package.py new file mode 100644 index 00000000000..8d04f46f97e --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_whenever/package.py @@ -0,0 +1,28 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyWhenever(PythonPackage): + """Modern datetime library for Python.""" + + homepage = "https://github.com/ariebovenberg/whenever" + pypi = "whenever/whenever-0.9.5.tar.gz" + + license("MIT") + + version("0.9.5", sha256="9d8f2fbc70acdab98a99b81a2ac594ebd4cc68d5b3506b990729a5f0b04d0083") + + depends_on("python@3.9:", type=("build", "run")) + depends_on("py-setuptools", type="build") + depends_on("py-setuptools-rust", type="build") + + depends_on("py-tzdata@2020.1:", when="platform=windows", type=("build", "run")) + # Waiting for when="not platform=" + depends_on("py-tzlocal@4:", when="platform=windows", type=("build", "run")) + depends_on("py-tzlocal@4:", when="platform=cray", type=("build", "run")) + depends_on("py-tzlocal@4:", when="platform=solaris", type=("build", "run")) From 1d3853db67d3490407e330c6a9c6552d78f42fa0 Mon Sep 17 00:00:00 2001 From: Michael Kuhn Date: Mon, 1 Jun 2026 18:33:29 +0200 Subject: [PATCH 080/180] bash: add more patches for 5.3 (#5039) --- repos/spack_repo/builtin/packages/bash/package.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/repos/spack_repo/builtin/packages/bash/package.py b/repos/spack_repo/builtin/packages/bash/package.py index 23ec3e70117..464954577b1 100644 --- a/repos/spack_repo/builtin/packages/bash/package.py +++ b/repos/spack_repo/builtin/packages/bash/package.py @@ -43,6 +43,12 @@ class Bash(AutotoolsPackage, GNUMirrorPackage): ("5.3", "001", "1f608434364af86b9b45c8b0ea3fb3b165fb830d27697e6cdfc7ac17dee3287f"), ("5.3", "002", "e385548a00130765ec7938a56fbdca52447ab41fabc95a25f19ade527e282001"), ("5.3", "003", "f245d9c7dc3f5a20d84b53d249334747940936f09dc97e1dcb89fc3ab37d60ed"), + ("5.3", "004", "9591d245045529f32f0812f94180b9d9ce9023f5a765c039b852e5dfc99747d0"), + ("5.3", "005", "cca1ef52dbbf433bc98e33269b64b2c814028efe2538be1e2c9a377da90bc99d"), + ("5.3", "006", "29119addefed8eff91ae37fd51822c31780ee30d4a28376e96002706c995ff10"), + ("5.3", "007", "c0976bbfffa1453c7cfdd62058f206a318568ff2d690f5d4fa048793fa3eb299"), + ("5.3", "008", "097cd723cbfb8907674ac32214063a3fd85282657ec5b4e544d2c0f719653fb4"), + ("5.3", "009", "eee30fe78a4b0cb2fe20e010e00308899cfc613e0774ebb3c8557a1552f24f8c"), ("5.2", "001", "f42f2fee923bc2209f406a1892772121c467f44533bedfe00a176139da5d310a"), ("5.2", "002", "45cc5e1b876550eee96f95bffb36c41b6cb7c07d33f671db5634405cd00fd7b8"), ("5.2", "003", "6a090cdbd334306fceacd0e4a1b9e0b0678efdbbdedbd1f5842035990c8abaff"), From 661ecf6476a80db9d028519cef55a14109763d9d Mon Sep 17 00:00:00 2001 From: wspear Date: Mon, 1 Jun 2026 09:42:30 -0700 Subject: [PATCH 081/180] e4s_cl: Update to 1.0.8 (#5030) --- repos/spack_repo/builtin/packages/e4s_cl/package.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/repos/spack_repo/builtin/packages/e4s_cl/package.py b/repos/spack_repo/builtin/packages/e4s_cl/package.py index fa8e91c6372..7d528a3a2a3 100644 --- a/repos/spack_repo/builtin/packages/e4s_cl/package.py +++ b/repos/spack_repo/builtin/packages/e4s_cl/package.py @@ -13,7 +13,7 @@ class E4sCl(PythonPackage): maintainers("spoutn1k", "FrederickDeny") homepage = "https://e4s-cl.readthedocs.io" - url = "https://oaciss.uoregon.edu/e4s/e4s-cl/releases" + url = "https://github.com/E4S-Project/e4s-cl/archive/refs/tags/v1.0.8.tar.gz" git = "https://github.com/E4S-Project/e4s-cl" tags = ["e4s"] @@ -23,13 +23,15 @@ class E4sCl(PythonPackage): license("MIT") version("master", branch="master") + version("1.0.8", sha256="b2bdb042db5f3106cc0a4c79781d03299828f9839a3903d1559c2c4a3e20a67c") version("1.0.5", commit="33b659e80a5b47a6b3e730e9eb67d1431b112587") version("1.0.4", commit="9781a62af20f951e3c2c19a522f4fc16d20a256e") version("1.0.3", commit="1b34fa7964273675ce18b9cd3006b4b87dda1ef2") version("1.0.1", commit="b2c92993e0c7cb42de07f0f7cc02da3a06816192") version("1.0.0", commit="410bb2e6601d9b90243a487ad7f7d2dabd8ba04c") - depends_on("python@3.7:", type=("build", "run")) + depends_on("python@3.8:", type=("build", "run"), when="@1.0.6:") + depends_on("python@3.7:", type=("build", "run"), when="@:1.0.5") depends_on("py-setuptools", type="build") depends_on("py-termcolor@1.1.0:", type=("build", "run")) From 0debcbd47aa89bcc8d2c561c9e0227de0b3a6ab4 Mon Sep 17 00:00:00 2001 From: Manuela Kuhn <36827019+manuelakuhn@users.noreply.github.com> Date: Tue, 2 Jun 2026 00:48:16 +0200 Subject: [PATCH 082/180] r-ggplot2: add v4.0.3 and fix dependencies (#5043) --- .../builtin/packages/r_ggplot2/package.py | 43 ++++++++++--------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/repos/spack_repo/builtin/packages/r_ggplot2/package.py b/repos/spack_repo/builtin/packages/r_ggplot2/package.py index 8598955f845..06a2095c91f 100644 --- a/repos/spack_repo/builtin/packages/r_ggplot2/package.py +++ b/repos/spack_repo/builtin/packages/r_ggplot2/package.py @@ -19,6 +19,7 @@ class RGgplot2(RPackage): license("MIT") + version("4.0.3", sha256="690224bd61642b6222adb109470988e87f786e193cca77a15c0923cf9da73fa5") version("4.0.2", sha256="b915244599222a71ea56e256ba3810e444424190dbc37654de08b366ef144412") version("3.5.2", sha256="0a30024a2ff3e569412223c8f14563ed504f3e0851de03e42d1b5f73fe1f06bf") version("3.5.1", sha256="7c58b424f99b3634038e6f6d1fe4b0241b8aecb50e9c50466d5590f7e3144721") @@ -36,36 +37,38 @@ class RGgplot2(RPackage): version("2.1.0", sha256="f2c323ae855d6c089e3a52138aa7bc25b9fe1429b8df9eae89d28ce3c0dd3969") with default_args(type=("build", "run")): - depends_on("r@3.1:") - depends_on("r@3.2:", when="@3.2.0:") - depends_on("r@3.3:", when="@3.3.4:") + depends_on("r@4.1:", when="@4:") depends_on("r@3.5:", when="@3.5.0:") - depends_on("r@4.1:", when="@4.0.2:") + depends_on("r@3.3:", when="@3.3.4:") + depends_on("r@3.2:", when="@3.2.0:") + depends_on("r@3.1:") + depends_on("r-cli", when="@3.4.0:") - depends_on("r-glue", when="@3.3.3:") + depends_on("r-gtable@0.3.6:", when="@4:") depends_on("r-gtable@0.1.1:") - depends_on("r-gtable@0.3.6:", when="@4.0.2:") depends_on("r-isoband", when="@3.3.3:") depends_on("r-lifecycle@1.0.1.1:", when="@3.4.0:") - depends_on("r-mass") - depends_on("r-mgcv", when="@3.2.0:") - depends_on("r-rlang@0.3.0:", when="@3.0.0:") - depends_on("r-rlang@0.4.10:", when="@3.3.4:") - depends_on("r-rlang@1.0.0:", when="@3.4.0:") depends_on("r-rlang@1.1.0:", when="@3.4.2:") - depends_on("r-s7", when="@4.0.2:") - depends_on("r-scales@0.5.0:") - depends_on("r-scales@1.2.0:", when="@3.4.0:3.4.4") + depends_on("r-rlang@1.0.0:", when="@3.4.0:") + depends_on("r-rlang@0.4.10:", when="@3.3.4:") + depends_on("r-rlang@0.3.0:", when="@3.0.0:") + depends_on("r-s7", when="@4:") + depends_on("r-scales@1.4.0:", when="@4:") depends_on("r-scales@1.3.0:", when="@3.5.0:") - depends_on("r-scales@1.4.0:", when="@4.0.2:") - depends_on("r-tibble") - depends_on("r-vctrs@0.5.0:", when="@3.4.0:") + depends_on("r-scales@1.2.0:", when="@3.4.0:3.4.4") + depends_on("r-scales@0.5.0:") depends_on("r-vctrs@0.6.0:", when="@3.5.1:") - depends_on("r-withr@2.0.0:", when="@3.0.0:") + depends_on("r-vctrs@0.5.0:", when="@3.4.0:") depends_on("r-withr@2.5.0:", when="@3.4.0:") + depends_on("r-withr@2.0.0:", when="@3.0.0:") + # Historical dependencies + depends_on("r-digest", when="@:3.3.6") + depends_on("r-glue", when="@3.3.3:3") + depends_on("r-lazyeval", when="@:3.2.0") + depends_on("r-mass", when="@:3") + depends_on("r-mgcv", when="@3.2.0:3") depends_on("r-plyr@1.7.1:", when="@:3.1.1") depends_on("r-reshape2", when="@:3.2.0") - depends_on("r-lazyeval", when="@:3.2.0") + depends_on("r-tibble", when="@:3") depends_on("r-viridislite", when="@3.0.0:3.2.0") - depends_on("r-digest", when="@:3.3.6") From 7e3304897b41c73fb61f4b33a0d1a7c7f36da34a Mon Sep 17 00:00:00 2001 From: Manuela Kuhn <36827019+manuelakuhn@users.noreply.github.com> Date: Tue, 2 Jun 2026 00:48:33 +0200 Subject: [PATCH 083/180] py-mypy: add v2.1.0 and py-ast-serialize: add new package (#5044) --- .../packages/py_ast_serialize/package.py | 20 +++++++++++++++++++ .../builtin/packages/py_mypy/package.py | 18 +++++++++++++---- 2 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 repos/spack_repo/builtin/packages/py_ast_serialize/package.py diff --git a/repos/spack_repo/builtin/packages/py_ast_serialize/package.py b/repos/spack_repo/builtin/packages/py_ast_serialize/package.py new file mode 100644 index 00000000000..3ba4e21b908 --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_ast_serialize/package.py @@ -0,0 +1,20 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyAstSerialize(PythonPackage): + """Python bindings for mypy AST serialization.""" + + homepage = "https://github.com/mypyc/ast_serialize" + pypi = "ast_serialize/ast_serialize-0.5.0.tar.gz" + + license("MIT") + + version("0.5.0", sha256="5880091bfe6f4f986f22866375c2e884843e7a0b6343ae41aeea659613d879b6") + + depends_on("py-maturin@1.9", type="build") diff --git a/repos/spack_repo/builtin/packages/py_mypy/package.py b/repos/spack_repo/builtin/packages/py_mypy/package.py index 64e54eaba84..3be6e0f309d 100644 --- a/repos/spack_repo/builtin/packages/py_mypy/package.py +++ b/repos/spack_repo/builtin/packages/py_mypy/package.py @@ -18,6 +18,7 @@ class PyMypy(PythonPackage): license("MIT AND PSF-2.0", checked_by="tgamblin") + version("2.1.0", sha256="81e76ad12c2d804512e9b13240d1588316531bfba07558286078bfbce9613633") version("1.19.0", sha256="f6b874ca77f733222641e5c46e4711648c4037ea13646fd0cdc814c2eaec2528") version("1.16.0", sha256="84b94283f817e2aa6350a14b4a8fb2a35a53c286f97c9d30f53b63620e7af8ab") version("1.15.0", sha256="404534629d51d3efea5c800ee7c42b72a6554d6c400e6a79eafe15d11341fd43") @@ -64,6 +65,7 @@ class PyMypy(PythonPackage): version("0.740", sha256="48c8bc99380575deb39f5d3400ebb6a8a1cb5cc669bbba4d3bb30f904e0a0e7d") with default_args(type="build"): + depends_on("py-setuptools@77.0.3:", when="@1.20:") depends_on("py-setuptools@75.1.0:", when="@1.14:") depends_on("py-setuptools@40.6.2:", when="@0.790:") depends_on("py-setuptools") @@ -74,21 +76,29 @@ class PyMypy(PythonPackage): depends_on("py-wheel@0.30:", when="@0.790:1.13") with default_args(type=("build", "run")): + depends_on("python@3.10:", when="@1.20:") depends_on("python@3.9:", when="@1.15:") depends_on("python@3.8:", when="@1.5:") depends_on("python@3.7:", when="@0.981:") - depends_on("py-typing-extensions@4.6:", when="@1.11:") - depends_on("py-typing-extensions@4.1:", when="@1.5:") - depends_on("py-typing-extensions@3.10:", when="@0.930:") - depends_on("py-typing-extensions@3.7.4:", when="@0.700:") + + depends_on("py-typing-extensions@4.14:", when="@1.20.2: ^python@3.15:") + with when("^python@:3.14"): + depends_on("py-typing-extensions@4.6:", when="@1.11:") + depends_on("py-typing-extensions@4.1:", when="@1.5:") + depends_on("py-typing-extensions@3.10:", when="@0.930:") + depends_on("py-typing-extensions@3.7.4:", when="@0.700:") + depends_on("py-mypy-extensions@1:", when="@1.1:") depends_on("py-mypy-extensions@0.4.3:", when="@0.930:1.0") depends_on("py-mypy-extensions@0.4.3:0.4", when="@0.700:0.929") + depends_on("py-pathspec@1:", when="@1.20:") depends_on("py-pathspec@0.9:", when="@1.16:") depends_on("py-tomli@1.1:", when="@0.950: ^python@:3.10") depends_on("py-tomli@1.1:", when="@0.930:0.949") depends_on("py-tomli@1.1:2", when="@0.920:0.929") + depends_on("py-librt@0.11:", when="@2.1:") depends_on("py-librt@0.6.2:", when="@1.19:") + depends_on("py-ast-serialize@0.3:0", when="@2:") # Historical dependencies depends_on("py-types-typed-ast@1.5.8.5:1.5", when="@1.2:1.4") From 82bc529d37cc965c9095f9e98e7b0ffc82387480 Mon Sep 17 00:00:00 2001 From: williampiat3 <32038421+williampiat3@users.noreply.github.com> Date: Tue, 2 Jun 2026 02:55:22 +0200 Subject: [PATCH 084/180] add python-mumps recipe (#3152) * squash: python_mumps recipe * Add copyright Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> * add versions and pypi repo url * add python@310: * Add pkgconfig dependency to py_python_mumps package * fix indent in mumps recipe * fix formatting * fix indent * ruff formatting * Ensure python-mumps is registered with compilation deps when building with spack Add compiler environment setup for building. * ruff formatting * add akhmerov as maintainer (package author) * [@spackbot] updating style on behalf of williampiat3 * Add license to recipe * Update repos/spack_repo/builtin/packages/py_python_mumps/package.py Co-authored-by: Greg Becker * simplify recipe * typo * [@spackbot] updating style on behalf of williampiat3 --------- Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Co-authored-by: Greg Becker --- .../builtin/packages/mumps/package.py | 55 ++++++++++++++++++- .../packages/py_python_mumps/package.py | 52 ++++++++++++++++++ .../py_python_mumps/patch_meson_build.patch | 21 +++++++ 3 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 repos/spack_repo/builtin/packages/py_python_mumps/package.py create mode 100644 repos/spack_repo/builtin/packages/py_python_mumps/patch_meson_build.patch diff --git a/repos/spack_repo/builtin/packages/mumps/package.py b/repos/spack_repo/builtin/packages/mumps/package.py index 8f0c22c0b1a..c0997a1ea14 100644 --- a/repos/spack_repo/builtin/packages/mumps/package.py +++ b/repos/spack_repo/builtin/packages/mumps/package.py @@ -66,6 +66,7 @@ class Mumps(Package): description="Allow BLAS calls in OpenMP regions " + "(warning: might not be supported by all multithread BLAS)", ) + variant("pkgconfig", default=False, description="Create unofficial pkgconfig files") depends_on("c", type="build") # generated depends_on("fortran", type="build") # generated @@ -175,7 +176,9 @@ def write_makefile_inc(self): ) orderings.append("-Dmetis") - + if "+pkgconfig" in self.spec: + # Keeping orderings in case we have to create pkg_config files + self.orderings = orderings makefile_conf.append("ORDERINGSF = %s" % (" ".join(orderings))) # Determine which compiler suite we are using @@ -441,6 +444,56 @@ def install(self, spec, prefix): zsimpletest = Executable("./zsimpletest") zsimpletest(input="input_simpletest_cmplx") + @run_after("install", when="+pkgconfig") + def create_pkgconfig(self): + """Create unofficial pkgconfig files for mumps libraries""" + libdir = join_path(self.prefix, "lib") + pkg_path = join_path(libdir, "pkgconfig") + mkdirp(pkg_path) + precision_desc = { + "s": "single", + "d": "double", + "c": "complex single", + "z": "complex double", + } + orderings = [ordering[2:] for ordering in self.orderings] + if len(orderings) > 1: + ord_desc = "with the following orderings available: " + ord_desc += ", ".join(orderings[:-1]) + ord_desc += f" and {orderings[-1]}" + else: + ord_desc = f"with the {orderings[0]} ordering available" + + if "+mpi" in self.spec: + parallel_desc = "parallel" + else: + parallel_desc = "sequential" + for char in "zscd": + if ( + ("+float" in self.spec and char == "s") + or ("+double" in self.spec and char == "d") + or ("+complex" in self.spec and "+float" in self.spec and char == "c") + or ("+complex" in self.spec and "+double" in self.spec and char == "z") + ): + with open(join_path(pkg_path, f"{char}mumps.pc"), "w") as f: + desc = f"The {parallel_desc} {precision_desc[char]} MUMPS library {ord_desc}" + f.write( + "\n".join( + [ + f"prefix={self.prefix}", + "exec_prefix=${prefix}", + "includedir=${prefix}/include", + "libdir=${exec_prefix}/lib", + "", + f"Name: {char}mumps", + f"Description: {desc}", + f"Version: {self.version}", + "Cflags: -I${includedir}", + f"Libs: -L${{libdir}} -l{char}mumps", + ] + ) + ) + @property def libs(self): component_libs = ["*mumps", "mumps_common", "pord"] diff --git a/repos/spack_repo/builtin/packages/py_python_mumps/package.py b/repos/spack_repo/builtin/packages/py_python_mumps/package.py new file mode 100644 index 00000000000..edc5498bf80 --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_python_mumps/package.py @@ -0,0 +1,52 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyPythonMumps(PythonPackage): + """Python wrapper for the MUMPS solver (python_mumps).""" + + homepage = "https://gitlab.kwant-project.org/kwant/python-mumps" + pypi = "python-mumps/python_mumps-0.0.6.tar.gz" + + maintainers("williampiat3", "akhmerov") + + license("BSD-2-Clause") + + version("0.0.6", sha256="58c33104f77c448e127e9e6da316f71dfb1a17719ecf022634669d513306b1fa") + + variant("mpi", default=True, description="Whether to have MPI support on python-mumps or not") + + # build dependencies + with default_args(type="build"): + depends_on("c") + depends_on("cxx") + depends_on("meson@1.8:") + depends_on("ninja") + depends_on("py-meson-python@0.18:") + depends_on("py-setuptools") + depends_on("py-setuptools-scm") + depends_on("py-cython@3.1.1:") + depends_on("pkgconfig") + + # Python dependencies + with default_args(type=("build", "run")): + depends_on("python@3.10:") + depends_on("py-numpy@2:") + depends_on("py-mpi4py@4.1:4", when="+mpi") + depends_on("py-scipy@1.13:") + + # Optional/test deps + depends_on("py-pytest", type="test") + + # External solver + depends_on("mumps+float+complex+double+metis+scotch+pkgconfig") + depends_on("mumps+mpi", when="+mpi") + depends_on("mumps~mpi", when="~mpi") + + patch("patch_meson_build.patch") diff --git a/repos/spack_repo/builtin/packages/py_python_mumps/patch_meson_build.patch b/repos/spack_repo/builtin/packages/py_python_mumps/patch_meson_build.patch new file mode 100644 index 00000000000..b6608c4f1be --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_python_mumps/patch_meson_build.patch @@ -0,0 +1,21 @@ +diff --git a/meson.build b/meson.build +index 67c5ea0..1ee00fd 100644 +--- a/meson.build ++++ b/meson.build +@@ -19,13 +19,15 @@ fs = import('fs') + # Declare NumPy via meson's dependency() (no explicit method), and add + # the NPY_NO_DEPRECATED_API compile flag. + numpy_nodepr_api = ['-DNPY_NO_DEPRECATED_API=NPY_1_9_API_VERSION'] +-np_dep_base = dependency('numpy') ++np_dep_base = dependency('numpy', version : '>=2') + np_dep = declare_dependency(dependencies: [np_dep_base], compile_args: numpy_nodepr_api) + + # Declare MUMPS dependencies using meson's dependency() resolution. + # Fail early if a named dependency is not available. + mumps_names = get_option('mumps_names') + mumps_deps = [] ++omp = dependency('openmp') ++mumps_deps += omp + foreach mumps_name : mumps_names + # 1) Try the package as given + pkg = dependency(mumps_name, required: false) \ No newline at end of file From cabd7849ddade9fa52c419628425e061af1fdca4 Mon Sep 17 00:00:00 2001 From: Mark Date: Mon, 1 Jun 2026 20:02:27 -0500 Subject: [PATCH 085/180] Tfmodisco: new package (#3229) * igraph: fix libxml2 for older versions (< 0.11) * py-leidenalg: new package * py-hdf5plugin: new package * py-logomaker: new package * py-memelite: new package * py-modisco: new package * py-hdf5plugin: fix license * py-leidenalg: fixup * py-modisco: style fixup * [@spackbot] updating style on behalf of Markus92 * py-leidenalg: fix f-strings * libleidenalg: fix patch link * py-hdf5plugin: remove boilerplate * Add version suggestion Co-authored-by: Greg Becker * Update repos/spack_repo/builtin/packages/py_modisco/package.py Co-authored-by: Greg Becker * libleidenalg: clarify version requirements Co-authored-by: Greg Becker * igraph: replace openblas dependency by generic blas/lapack * igraph: remove duplicate blas requirement --------- Co-authored-by: Markus92 Co-authored-by: Greg Becker Co-authored-by: Mark Janse --- .../builtin/packages/igraph/fix_libxml2.patch | 54 +++++++++++++++++++ .../builtin/packages/igraph/package.py | 18 ++++--- .../builtin/packages/libleidenalg/package.py | 34 ++++++++++++ .../builtin/packages/py_hdf5plugin/package.py | 45 ++++++++++++++++ .../builtin/packages/py_leidenalg/package.py | 42 +++++++++++++++ .../builtin/packages/py_logomaker/package.py | 28 ++++++++++ .../builtin/packages/py_memelite/package.py | 34 ++++++++++++ .../builtin/packages/py_modisco/package.py | 39 ++++++++++++++ 8 files changed, 286 insertions(+), 8 deletions(-) create mode 100644 repos/spack_repo/builtin/packages/igraph/fix_libxml2.patch create mode 100644 repos/spack_repo/builtin/packages/libleidenalg/package.py create mode 100644 repos/spack_repo/builtin/packages/py_hdf5plugin/package.py create mode 100644 repos/spack_repo/builtin/packages/py_leidenalg/package.py create mode 100644 repos/spack_repo/builtin/packages/py_logomaker/package.py create mode 100644 repos/spack_repo/builtin/packages/py_memelite/package.py create mode 100644 repos/spack_repo/builtin/packages/py_modisco/package.py diff --git a/repos/spack_repo/builtin/packages/igraph/fix_libxml2.patch b/repos/spack_repo/builtin/packages/igraph/fix_libxml2.patch new file mode 100644 index 00000000000..ec72c6f0abf --- /dev/null +++ b/repos/spack_repo/builtin/packages/igraph/fix_libxml2.patch @@ -0,0 +1,54 @@ +From b5922352e77efd74c80a730a27f811106d5e7eaa Mon Sep 17 00:00:00 2001 +From: Biswapriyo Nath +Date: Fri, 1 Dec 2023 12:58:18 +0000 +Subject: [PATCH] Fix compiler error with libxml2 2.12 and clang + +This commit fixes the following compiler error. + +graphml.c:1613:39: error: incompatible function pointer types passing +'void (*)(void *, xmlErrorPtr)' (aka 'void (*)(void *, struct _xmlError *)') to +parameter of type 'xmlStructuredErrorFunc' (aka 'void (*)(void *, const struct _xmlError *)') + [-Wincompatible-function-pointer-types] + 1613 | xmlSetStructuredErrorFunc(&state, &igraph_i_libxml_structured_error_handler); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +libxml2/libxml/xmlerror.h:898:29: note: passing argument to parameter 'handler' here + 898 | xmlStructuredErrorFunc handler); + | ^ + +According to the libxml2 changelog, this is due to a change in version 2.12: +https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.0.news + +Note: change in CHANGELOG.md removed in Spack +--- + CHANGELOG.md | 1 + + src/io/graphml.c | 8 ++++++++ + 2 files changed, 9 insertions(+) + +diff --git a/src/io/graphml.c b/src/io/graphml.c +index 402f8e4722..13a48675ad 100644 +--- a/src/io/graphml.c ++++ b/src/io/graphml.c +@@ -344,7 +344,11 @@ static void igraph_i_graphml_parser_state_set_error_from_varargs( + } + + static void igraph_i_graphml_parser_state_set_error_from_xmlerror( ++#if LIBXML_VERSION >= 21200 ++ struct igraph_i_graphml_parser_state *state, const xmlError *error ++#else + struct igraph_i_graphml_parser_state *state, const xmlErrorPtr error ++#endif + ) { + const size_t max_error_message_length = 4096; + +@@ -1530,7 +1534,11 @@ static void igraph_i_libxml_generic_error_handler(void* ctx, const char* msg, .. + va_end(args); + } + ++#if LIBXML_VERSION >= 21200 ++static void igraph_i_libxml_structured_error_handler(void* ctx, const xmlError *error) { ++#else + static void igraph_i_libxml_structured_error_handler(void* ctx, xmlErrorPtr error) { ++#endif + struct igraph_i_graphml_parser_state* state = (struct igraph_i_graphml_parser_state*) ctx; + igraph_i_graphml_parser_state_set_error_from_xmlerror(state, error); + } diff --git a/repos/spack_repo/builtin/packages/igraph/package.py b/repos/spack_repo/builtin/packages/igraph/package.py index 5e40da42813..3a7a31ca0b1 100644 --- a/repos/spack_repo/builtin/packages/igraph/package.py +++ b/repos/spack_repo/builtin/packages/igraph/package.py @@ -31,14 +31,17 @@ class Igraph(CMakePackage, AutotoolsPackage): depends_on("cxx", type="build") # generated depends_on("fortran", type="build") # generated - with when("build_system=cmake"): - depends_on("arpack-ng") - depends_on("blas") - depends_on("glpk+gmp@4.57:") - depends_on("gmp") - depends_on("lapack") + # Not strictly a requirement. igraph does check for it in CMakeLists.txt + depends_on("python", type="build") - depends_on("libxml2") + depends_on("arpack-ng") + depends_on("glpk+gmp@4.57:") + depends_on("gmp") + depends_on("blas") + depends_on("lapack") + + depends_on("libxml2 +shared") + patch("fix_libxml2.patch", when="@0.10.0:0.10.8 ^libxml2@2.12:") def cmake_args(self): args = [ @@ -51,7 +54,6 @@ def cmake_args(self): "-DIGRAPH_USE_INTERNAL_GMP=OFF", "-DIGRAPH_USE_INTERNAL_LAPACK=OFF", "-DIGRAPH_USE_INTERNAL_PLFIT=ON", - "-DBLA_VENDOR=OpenBLAS", ] if self.spec.satisfies("+shared"): diff --git a/repos/spack_repo/builtin/packages/libleidenalg/package.py b/repos/spack_repo/builtin/packages/libleidenalg/package.py new file mode 100644 index 00000000000..4d89935938f --- /dev/null +++ b/repos/spack_repo/builtin/packages/libleidenalg/package.py @@ -0,0 +1,34 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.cmake import CMakePackage + +from spack.package import * + + +class Libleidenalg(CMakePackage): + """This package implements the Leiden algorithm in C++. It relies on igraph + for it to function. It is mainly used with the Python Leidenalg package""" + + homepage = "https://github.com/vtraag/libleidenalg/" + url = "https://github.com/vtraag/libleidenalg/archive/refs/tags/0.10.0.tar.gz" + + maintainers("Markus92") + + license("GPL-3.0-or-later", checked_by="Markus92") + + version("0.10.0", sha256="ae265fb718e2233bfd01e3bc9679d9bed53a182e4cb13dbb12b49e6e92105cc7") + + depends_on("c", type="build") + depends_on("cxx", type="build") + + depends_on("igraph") + depends_on("igraph@0.10", when="@0.10:0.11") + + # Cherry-pick Patch for wrong includes + patch( + "https://github.com/vtraag/libleidenalg/commit/cfee16027c47318a849deafbead412afd265feb0.patch?full_index=1", + sha256="f4cb80b7e56502825981768919db8c25238552372d9f414ccaa393c437954bdf", + when="@:0.10", + ) diff --git a/repos/spack_repo/builtin/packages/py_hdf5plugin/package.py b/repos/spack_repo/builtin/packages/py_hdf5plugin/package.py new file mode 100644 index 00000000000..453b834129a --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_hdf5plugin/package.py @@ -0,0 +1,45 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyHdf5plugin(PythonPackage): + """hdf5plugin provides HDF5 compression filters (namely: Blosc, Blosc2, + BitShuffle, BZip2, FciDecomp, LZ4, Sperr, SZ, SZ3, Zfp, ZStd) and makes + them usable from h5py.""" + + homepage = "https://github.com/silx-kit/hdf5plugin" + pypi = "hdf5plugin/hdf5plugin-6.0.0.tar.gz" + + maintainers("Markus92") + + license("MIT", checked_by="Markus92") + + version("6.0.0", sha256="847ed9e96b451367a110f0ba64a3b260d38d64bbf3f25751858d3b56e094cfe0") + + variant("openmp", default=True, description="Build with OpenMP support") + + depends_on("c", type="build") + depends_on("cxx", type="build") + depends_on("fortran", type="build") + + depends_on("python@3.9:", type=("build", "run")) + + depends_on("py-setuptools@77:", type="build") + depends_on("py-py-cpuinfo@9.0.0", type="build") + + depends_on("py-h5py@3:", type=("build", "run")) + + def setup_build_environment(self, env): + env.set("HDF5PLUGIN_HDF5_DIR", self.spec["hdf5"].prefix) + + # Disable all optimizations as set by script + # Spack compiler wrapper will handle it all on its own + for feat in ["SSE2", "SSSE3", "AVX2", "AVX512", "NATIVE"]: + env.set(f"HDF5PLUGIN_{feat.upper()}", "False") + + if "+openmp" in self.spec: + env.set("HDF5PLUGIN_OPENMP", "True") diff --git a/repos/spack_repo/builtin/packages/py_leidenalg/package.py b/repos/spack_repo/builtin/packages/py_leidenalg/package.py new file mode 100644 index 00000000000..3b3aa0fd556 --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_leidenalg/package.py @@ -0,0 +1,42 @@ +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyLeidenalg(PythonPackage): + """This package implements the Leiden algorithm in C++ and exposes it to python""" + + homepage = "https://leidenalg.readthedocs.io/en/latest/" + pypi = "leidenalg/leidenalg-0.10.0.tar.gz" + + version("0.10.0", sha256="a3829dceb3d9198a0489891d471f2abe8ffd5a3e8ddc8c298543d16caa8d7f19") + + depends_on("c", type=("build")) + depends_on("cxx", type=("build")) + + depends_on("python@3.8:", type=("build", "run")) + depends_on("py-setuptools@45:", type=("build")) + depends_on("py-igraph@0.10", type=("build", "run")) + depends_on("igraph@0.10", type=("build")) + depends_on("py-setuptools-scm", type=("build")) + + # Add to this if new versions is released, they must amtch + depends_on("libleidenalg@0.10.0", when="@0.10.0") + + def patch(self): + filter_file( + r"'build-deps/install/include'", + f"'{self.spec['igraph'].prefix.include}', " + f"'{self.spec['libleidenalg'].prefix.include}'", + "setup.py", + string=True, + ) + filter_file( + r"'build-deps/install/lib'", + f"'{self.spec['igraph'].prefix.lib}', " + f"'{self.spec['igraph'].prefix.lib64}', " + f"'{self.spec['libleidenalg'].prefix.lib}', " + f"'{self.spec['libleidenalg'].prefix.lib64}'", + "setup.py", + string=True, + ) diff --git a/repos/spack_repo/builtin/packages/py_logomaker/package.py b/repos/spack_repo/builtin/packages/py_logomaker/package.py new file mode 100644 index 00000000000..5094110f5cf --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_logomaker/package.py @@ -0,0 +1,28 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyLogomaker(PythonPackage): + """Software for creating highly customized sequence logos""" + + homepage = "https://github.com/jbkinney/logomaker" + pypi = "logomaker/logomaker-0.8.7.tar.gz" + + maintainers("Markus92") + + license("MIT", checked_by="Markus92") + + version("0.8.7", sha256="63783ce6e24449d6f1f01ce29c4ae1b91f6e54bc198e5da40ad18fcd0efc3302") + + depends_on("python@3.8:", type=("build", "run")) + + depends_on("py-hatchling", type="build") + + depends_on("py-numpy", type=("build", "run")) + depends_on("py-matplotlib", type=("build", "run")) + depends_on("py-pandas", type=("build", "run")) diff --git a/repos/spack_repo/builtin/packages/py_memelite/package.py b/repos/spack_repo/builtin/packages/py_memelite/package.py new file mode 100644 index 00000000000..155c17dd92a --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_memelite/package.py @@ -0,0 +1,34 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyMemelite(PythonPackage): + """The tools in the MEME suite are foundational for many sequence-based + analyses; MEME itself for discovering repeating patterns in sequences, FIMO + for scanning these patterns against long sequences, and Tomtom for scoring + these patterns against each other.""" + + homepage = "https://github.com/jmschrei/memesuite-lite" + pypi = "memelite/memelite-0.2.0.tar.gz" + + maintainers("Markus92") + + license("MIT", checked_by="Markus92") + + version("0.2.0", sha256="f028a7751369d6d1d88d736e3ac0a8ef1dfdc917618a3a6f958bdc9f380ed5d0") + + depends_on("python@3:", type=("build", "run")) + + depends_on("py-setuptools", type="build") + + depends_on("py-numpy@1.14.2:2.0.1", type=("build", "run")) + # https://github.com/jmschrei/memesuite-lite/issues/1 + depends_on("py-numba@0.60.0:", type=("build", "run")) + depends_on("py-pandas@1.3.3:", type=("build", "run")) + depends_on("py-pyfaidx@0.7.2.1:", type=("build", "run")) + depends_on("py-tqdm@4.64.1:", type=("build", "run")) diff --git a/repos/spack_repo/builtin/packages/py_modisco/package.py b/repos/spack_repo/builtin/packages/py_modisco/package.py new file mode 100644 index 00000000000..9057dea1368 --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_modisco/package.py @@ -0,0 +1,39 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyModisco(PythonPackage): + """Algorithm for discovering sequence motifs from + machine-learning-model-derived importance scores.""" + + homepage = "https://github.com/kundajelab/tfmodisco" + pypi = "modisco/modisco-2.5.2.tar.gz" + + maintainers("Markus92") + + license("MIT", checked_by="Markus92") + + version("2.5.2", sha256="820433d842803b66bcc8f29ef760edd2e62182a598bcfded6009f679dbbb53d5") + + depends_on("python@3.7:", type=("build", "run")) + + depends_on("py-setuptools", type="build") + + with default_args(type=("build", "run")): + depends_on("py-numpy@1.21.5:") + depends_on("py-scipy@1.6.2:") + depends_on("py-numba@0.53.1:") + depends_on("py-scikit-learn@1.0.2:") + depends_on("py-leidenalg@0.8.10:") + depends_on("py-igraph@0.9.11:") + depends_on("py-tqdm@4.38.0:") + depends_on("py-pandas@1.4.3:") + depends_on("py-logomaker@0.8:") + depends_on("py-h5py@3.7.0:") + depends_on("py-hdf5plugin") + depends_on("py-memelite") + depends_on("py-jinja2") From ed6903feb9e176ccf751bb68d631b396f65d6a4a Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Tue, 2 Jun 2026 06:36:04 +0200 Subject: [PATCH 086/180] py-apprise: add new package (#4967) * py-apprise: add new package * py-apprise: add license --- .../builtin/packages/py_apprise/package.py | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/py_apprise/package.py diff --git a/repos/spack_repo/builtin/packages/py_apprise/package.py b/repos/spack_repo/builtin/packages/py_apprise/package.py new file mode 100644 index 00000000000..1d61bcde23d --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_apprise/package.py @@ -0,0 +1,30 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyApprise(PythonPackage): + """Apprise - Push Notifications that work with just about every platform!""" + + homepage = "https://github.com/caronc/apprise" + pypi = "apprise/apprise-1.9.6.tar.gz" + + version("1.9.6", sha256="4206be9cb5694a3d08dd8e0393bbb9b36212ac3a7769c2633620055e75c6caef") + + license("BSD-2-Clause") + + depends_on("python@3.9:", type=("build", "run")) + depends_on("py-setuptools@69:", type="build") + + depends_on("py-requests", type=("build", "run")) + depends_on("py-requests-oauthlib", type=("build", "run")) + depends_on("py-click@5:", type=("build", "run")) + depends_on("py-markdown", type=("build", "run")) + depends_on("py-pyyaml", type=("build", "run")) + depends_on("py-certifi", type=("build", "run")) + depends_on("py-tzdata", when="platform=windows", type=("build", "run")) From ed21363ce9783a84c1f9bdf57a87fb9c2802a3bb Mon Sep 17 00:00:00 2001 From: Jakob Bludau <104908666+JBludau@users.noreply.github.com> Date: Tue, 2 Jun 2026 11:47:01 -0400 Subject: [PATCH 087/180] kokkos: remove test code (#5048) --- .../builtin/packages/kokkos/package.py | 26 ------------------- 1 file changed, 26 deletions(-) diff --git a/repos/spack_repo/builtin/packages/kokkos/package.py b/repos/spack_repo/builtin/packages/kokkos/package.py index c4c4cdcbf07..7bee0b8fd1d 100644 --- a/repos/spack_repo/builtin/packages/kokkos/package.py +++ b/repos/spack_repo/builtin/packages/kokkos/package.py @@ -599,29 +599,3 @@ def setup_build_tests(self): ] cmake(*cmake_args) cache_extra_test_sources(self, cmake_out_path) - - def test_run(self): - """Test if kokkos builds and runs""" - cmake_path = join_path( - self.test_suite.current_test_cache_dir, self.test_script_relative_path, "out" - ) - - if not os.path.exists(cmake_path): - raise SkipTest(f"{cmake_path} is missing") - - cmake = self.spec["cmake"].command - cmake_args = [] - if self.spec.satisfies("+rocm"): - prefix_paths = ";".join(get_cmake_prefix_path(self)) - cmake_args.append(self.define("CMAKE_PREFIX_PATH", prefix_paths)) - - if self.spec.satisfies("+wrapper"): - cmake_args.append( - self.define("CMAKE_CXX_COMPILER", self["kokkos-nvcc-wrapper"].kokkos_cxx) - ) - else: - cmake_args.append(self.define("CMAKE_CXX_COMPILER", self["cxx"].cxx)) - - cmake(cmake_path, *cmake_args) - cmake("--build", ".") - cmake("--build", ".", "--target", "test") From 76f17fd5fcccb0f819ff0f269d5547f23b4b7299 Mon Sep 17 00:00:00 2001 From: Tom Payerle Date: Tue, 2 Jun 2026 12:10:01 -0400 Subject: [PATCH 088/180] cminpack: Add cxx dependency (#5013) * cminpack: Add cxx dependency This should fix #5012 * [@spackbot] updating style on behalf of payerle * Update repos/spack_repo/builtin/packages/cminpack/package.py Co-authored-by: Alec Scott --------- Co-authored-by: payerle Co-authored-by: Alec Scott --- repos/spack_repo/builtin/packages/cminpack/package.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/repos/spack_repo/builtin/packages/cminpack/package.py b/repos/spack_repo/builtin/packages/cminpack/package.py index 96f781360e4..684233f5585 100644 --- a/repos/spack_repo/builtin/packages/cminpack/package.py +++ b/repos/spack_repo/builtin/packages/cminpack/package.py @@ -23,8 +23,9 @@ class Cminpack(CMakePackage): variant("shared", default=False, description="Build shared libraries") variant("blas", default=True, description="Compile with BLAS") - depends_on("c", type="build") # generated - depends_on("fortran", type="build") # generated + depends_on("c", type="build") + depends_on("cxx", type="build") + depends_on("fortran", type="build") depends_on("blas", when="+blas") From 29213a46e05950706f48175fa3103ed8553defb1 Mon Sep 17 00:00:00 2001 From: Dave Keeshan <96727608+davekeeshan@users.noreply.github.com> Date: Tue, 2 Jun 2026 19:38:37 +0100 Subject: [PATCH 089/180] yosys: add v0.65 ad v0.66 (#5051) --- repos/spack_repo/builtin/packages/yosys/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/repos/spack_repo/builtin/packages/yosys/package.py b/repos/spack_repo/builtin/packages/yosys/package.py index a5ddb539d06..53b34fdedc3 100644 --- a/repos/spack_repo/builtin/packages/yosys/package.py +++ b/repos/spack_repo/builtin/packages/yosys/package.py @@ -30,6 +30,8 @@ class Yosys(MakefilePackage): version("master", branch="master") + version("0.66", commit="86f2ddebce7e98ce7cacc27e8a5c14cb53b51b51", submodules=True) + version("0.65", commit="b85cad634782fafac275e5f540c056bfacb2b5d2", submodules=True) version("0.64", commit="6d2c445aebd37261d0e33ed4d90d09fd1a7bf618", submodules=True) version("0.63", commit="70a11c6bf0e8dd669f56c7da3587f78b405138e2", submodules=True) version("0.62", commit="7326bb7d6641500ecb285c291a54a662cb1e76cf", submodules=True) From 2ecbb0f68f380dcecb0d0a0240c6a255db892a54 Mon Sep 17 00:00:00 2001 From: Kristi Date: Tue, 2 Jun 2026 12:03:54 -0700 Subject: [PATCH 090/180] removing conflicts statement so that we can get a rocm build with tools on (#5052) --- repos/spack_repo/builtin/packages/umpire/package.py | 1 - 1 file changed, 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/umpire/package.py b/repos/spack_repo/builtin/packages/umpire/package.py index 8b3b880862d..db30c15eb8e 100644 --- a/repos/spack_repo/builtin/packages/umpire/package.py +++ b/repos/spack_repo/builtin/packages/umpire/package.py @@ -325,7 +325,6 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage): conflicts("+deviceconst", when="~rocm~cuda") conflicts("~openmp", when="+omptarget", msg="OpenMP target requires OpenMP") conflicts("+cuda", when="+rocm") - conflicts("+tools", when="+rocm") conflicts( "+rocm", when="+omptarget", msg="Cant support both rocm and openmp device backends at once" ) From 6c95e64ac826c4657cda721f24306c1c0a7e8394 Mon Sep 17 00:00:00 2001 From: Satish Balay Date: Tue, 2 Jun 2026 15:33:06 -0500 Subject: [PATCH 091/180] petsc, py-petsc4py: add v3.25.2 (#5053) --- repos/spack_repo/builtin/packages/petsc/package.py | 1 + repos/spack_repo/builtin/packages/py_petsc4py/package.py | 1 + 2 files changed, 2 insertions(+) diff --git a/repos/spack_repo/builtin/packages/petsc/package.py b/repos/spack_repo/builtin/packages/petsc/package.py index 5786a522d92..314c04349fb 100644 --- a/repos/spack_repo/builtin/packages/petsc/package.py +++ b/repos/spack_repo/builtin/packages/petsc/package.py @@ -24,6 +24,7 @@ class Petsc(Package, CudaPackage, ROCmPackage): tags = ["e4s"] version("main", branch="main") + version("3.25.2", sha256="03fbcfb72e28dbd92eac042faf7a4ba7e75e602fd1c9af0676f78e0a762412ec") version("3.25.1", sha256="d9d9518110aea1f8f5444985cc1a95273ab140cdbcd2c2038c6309a3b611abb4") version("3.25.0", sha256="dc1c018c16bd9dcf40596959875725edb4ba8b854a0b67bbce62a0d4be1bd3be") version("3.24.6", sha256="d6ad14652996b0e0d3da51068eec902118057f275de867e8cf258ffd64d90a7d") diff --git a/repos/spack_repo/builtin/packages/py_petsc4py/package.py b/repos/spack_repo/builtin/packages/py_petsc4py/package.py index 61adaa44405..b41abe46507 100644 --- a/repos/spack_repo/builtin/packages/py_petsc4py/package.py +++ b/repos/spack_repo/builtin/packages/py_petsc4py/package.py @@ -21,6 +21,7 @@ class PyPetsc4py(PythonPackage): license("BSD-2-Clause") version("main", branch="main") + version("3.25.2", sha256="dc1bcd7ccb367e9f76dcf6dd83a9c74426049003d3debc5a748618816b3d27bb") version("3.25.1", sha256="2cddfe810dd975988e350f821a15e657e88b7fc796c091b54040921ba2f6dce3") version("3.25.0", sha256="8eafd133adbb22a6b7cd963f5eb03f86d959b832c7e5843704caba29b79c5659") version("3.24.6", sha256="1b9594c9aabcd76eaf6092086d8b3f0f2e6c71e3c6088b41dde40fdaf776812a") From be7d9351f901af0d7bc179a79cb14229a1785e67 Mon Sep 17 00:00:00 2001 From: Weiqun Zhang Date: Tue, 2 Jun 2026 13:59:52 -0700 Subject: [PATCH 092/180] amrex: add v26.06 (#5050) --- repos/spack_repo/builtin/packages/amrex/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/amrex/package.py b/repos/spack_repo/builtin/packages/amrex/package.py index ce167e0d0a7..301260372d4 100644 --- a/repos/spack_repo/builtin/packages/amrex/package.py +++ b/repos/spack_repo/builtin/packages/amrex/package.py @@ -29,6 +29,7 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage): license("BSD-3-Clause") version("develop", branch="development") + version("26.06", sha256="38c6f9ec6b1d302d91140fd3c0f629954bf0243611c96605beb25221b3367f9b") version("26.05", sha256="70ec8f0e6917388b3d91a7c470648f6ce11a99096810420f1054ed98a041e315") version("26.04", sha256="b09c99d37989b980bba622695b5a9aec267f2430d79683683064c27de7a1776a") version("26.03", sha256="7139b8bb423a4311e8990bee6cb06b86a81de439363f35a3f29c808a93a003ca") From dafe1cf1bb176ac7b934c08f479090e4376f490e Mon Sep 17 00:00:00 2001 From: Nathaniel Grady Date: Wed, 3 Jun 2026 03:06:28 -0600 Subject: [PATCH 093/180] fmt: libs property needs to check for libfmtd for debug builds (#5026) * fmt: libs property needs to check for libfmtd for debug builds Signed-off-by: Nathaniel Grady * [@spackbot] updating style on behalf of nkgrady --------- Signed-off-by: Nathaniel Grady Co-authored-by: nkgrady --- repos/spack_repo/builtin/packages/fmt/package.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/repos/spack_repo/builtin/packages/fmt/package.py b/repos/spack_repo/builtin/packages/fmt/package.py index ca571408e5b..6d6a86f8d4d 100644 --- a/repos/spack_repo/builtin/packages/fmt/package.py +++ b/repos/spack_repo/builtin/packages/fmt/package.py @@ -153,3 +153,13 @@ def cmake_args(self): args.append(self.define("FMT_TEST", self.run_tests)) return args + + @property + def libs(self): + # Debug builds provide libfmtd instead of libfmt + return find_libraries( + ["libfmt", "libfmtd"], + root=self.home, + recursive=True, + shared=self.spec.satisfies("+shared"), + ) From 5c76fc2b4ababdf0aa36d7a5f82724d4892d06aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Lacroix?= Date: Wed, 3 Jun 2026 17:49:57 +0200 Subject: [PATCH 094/180] Readline: Add new official patches for version 8.3 (#4958) --- repos/spack_repo/builtin/packages/readline/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/repos/spack_repo/builtin/packages/readline/package.py b/repos/spack_repo/builtin/packages/readline/package.py index e7c8309b586..dcb1f511941 100644 --- a/repos/spack_repo/builtin/packages/readline/package.py +++ b/repos/spack_repo/builtin/packages/readline/package.py @@ -36,6 +36,8 @@ class Readline(AutotoolsPackage, GNUMirrorPackage): # TODO: patches below are not managed by the GNUMirrorPackage base class for verstr, num, checksum in [ ("8.3", "001", "21f0a03106dbe697337cd25c70eb0edbaa2bdb6d595b45f83285cdd35bac84de"), + ("8.3", "002", "e27364396ba9f6debf7cbaaf1a669e2b2854241ae07f7eca74ca8a8ba0c97472"), + ("8.3", "003", "72dee13601ce38f6746eb15239999a7c56f8e1ff5eb1ec8153a1f213e4acdb29"), ("8.2", "001", "bbf97f1ec40a929edab5aa81998c1e2ef435436c597754916e6a5868f273aff7"), ("8.2", "002", "e06503822c62f7bc0d9f387d4c78c09e0ce56e53872011363c74786c7cd4c053"), ("8.2", "003", "24f587ba46b46ed2b1868ccaf9947504feba154bb8faabd4adaea63ef7e6acb0"), From a3af92dfb65a4bba6f0445989419d7c8a5ae396b Mon Sep 17 00:00:00 2001 From: AMD Toolchain Support <73240730+amd-toolchain-support@users.noreply.github.com> Date: Thu, 4 Jun 2026 07:51:58 +0530 Subject: [PATCH 095/180] amdlibflame: add dual-build support for for shared and static libraries (#5057) * amdlibflame: add dual-build support for CMake builds * [@spackbot] updating style on behalf of amd-toolchain-support * style fix --- .../builtin/packages/amdlibflame/package.py | 72 +++++++++++++++++-- 1 file changed, 66 insertions(+), 6 deletions(-) diff --git a/repos/spack_repo/builtin/packages/amdlibflame/package.py b/repos/spack_repo/builtin/packages/amdlibflame/package.py index 4e073edf096..f0f326f6042 100644 --- a/repos/spack_repo/builtin/packages/amdlibflame/package.py +++ b/repos/spack_repo/builtin/packages/amdlibflame/package.py @@ -3,6 +3,8 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) # ----------------------------------------------------------------------------\ +import os + from spack_repo.builtin.build_systems import autotools, cmake from spack_repo.builtin.build_systems.cmake import CMakePackage, generator from spack_repo.builtin.packages.libflame.package import LibflameBase @@ -73,6 +75,11 @@ class Amdlibflame(CMakePackage, LibflameBase): variant("logging", default="False", description="Enable AOCL DTL Logging") variant("tracing", default="False", description="Enable AOCL DTL Tracing") + # Override the 'static' variant defined in LibflameBase: for CMake builds of amdlibflame, + # default this variant to False so that only shared libraries are built unless explicitly + # requested. + variant("static", default=False, when="@4.2:", description="Build static library") + # Build system build_system( conditional("cmake", when="@4.2:"), conditional("autotools", when="@:4.1"), default="cmake" @@ -87,6 +94,7 @@ class Amdlibflame(CMakePackage, LibflameBase): conflicts("threads=pthreads", msg="pthread is not supported") conflicts("threads=openmp", when="@:3", msg="openmp is not supported by amdlibflame < 4.0") requires("target=x86_64:", msg="AMD libflame available only on x86_64") + conflicts("~shared~static", msg="At least one library type (shared or static) must be built") patch("aocc-2.2.0.patch", when="@:2", level=1) patch("cray-compiler-wrapper.patch", when="@:3.0.0", level=1) @@ -112,16 +120,18 @@ class Amdlibflame(CMakePackage, LibflameBase): @property def lapack_libs(self): """find lapack_libs function""" - return find_libraries( - "libflame", root=self.prefix, shared="+shared" in self.spec, recursive=True - ) + # When both shared and static are built, prefer shared libraries. + # When only one type is built, return that type. + shared = self.spec.satisfies("+shared") + return find_libraries("libflame", root=self.prefix, shared=shared, recursive=True) @property def libs(self): """find libflame libs function""" - return find_libraries( - "libflame", root=self.prefix, shared="+shared" in self.spec, recursive=True - ) + # When both shared and static are built, prefer shared libraries. + # When only one type is built, return that type. + shared = self.spec.satisfies("+shared") + return find_libraries("libflame", root=self.prefix, shared=shared, recursive=True) def flag_handler(self, name, flags): if name == "cflags": @@ -175,10 +185,60 @@ def cmake_args(self): else: args.append(self.define("LF_ISA_CONFIG", spec.variants["vectorization"].value)) + # Note: When both +shared +static are requested, we use a two-pass build strategy. + # The first build is for shared libraries (handled here), and the second build + # (for static libraries) is handled in a separate build directory in the install() method. args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared")) return args + def install(self, pkg, spec, prefix): + """Install method with support for building both shared and static libraries. + + When both +shared and +static variants are enabled, this performs a two-pass build: + 1. First pass: Build and install shared libraries (using the standard build directory) + 2. Second pass: Build and install static libraries in a separate build directory + + Both builds install to the same prefix. The static build happens after the shared + build to ensure no conflicts, as static libraries (.a) and shared libraries (.so) + have different file extensions and can coexist in the same directory. + """ + # First build/install: shared libraries (if +shared) or static (if only +static) + super().install(pkg, spec, prefix) + + # Second build/install: static libraries (only if both +shared and +static) + if spec.satisfies("+shared +static"): + # Build static libraries in a separate build directory + build_dir_parent = os.path.dirname(self.build_directory) + build_dir_name = os.path.basename(self.build_directory) + static_build_dir = os.path.join(build_dir_parent, build_dir_name + "-static") + + with working_dir(static_build_dir, create=True): + # Configure for static libraries + static_args = self.cmake_args() + # Replace BUILD_SHARED_LIBS setting to build static libraries + static_args = [arg for arg in static_args if "BUILD_SHARED_LIBS" not in arg] + static_args.append(self.define("BUILD_SHARED_LIBS", False)) + + # Combine standard cmake args with static-specific args + options = self.std_cmake_args + static_args + options.append(os.path.abspath(self.root_cmakelists_dir)) + + # Run cmake configuration + pkg.module.cmake(*options) + + # Build static libraries + if self.generator == "Unix Makefiles": + pkg.module.make(*self.build_targets) + elif self.generator == "Ninja": + pkg.module.ninja(*self.build_targets) + + # Install static libraries to the same prefix + if self.generator == "Unix Makefiles": + pkg.module.make(*self.install_targets) + elif self.generator == "Ninja": + pkg.module.ninja(*self.install_targets) + class AutotoolsBuilder(autotools.AutotoolsBuilder): def configure_args(self): From 2e5496dcfc4093b36dfccfe4e64f36dfab085c4e Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Thu, 4 Jun 2026 18:27:54 +0200 Subject: [PATCH 096/180] py-scikit-learn: add v1.9.0, deprecate versions with CVEs (#5060) --- .../packages/py_scikit_learn/package.py | 49 ++++++++++++------- 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/repos/spack_repo/builtin/packages/py_scikit_learn/package.py b/repos/spack_repo/builtin/packages/py_scikit_learn/package.py index 3e8db6b1ad6..f7cf690ec89 100644 --- a/repos/spack_repo/builtin/packages/py_scikit_learn/package.py +++ b/repos/spack_repo/builtin/packages/py_scikit_learn/package.py @@ -21,6 +21,7 @@ class PyScikitLearn(PythonPackage): tags = ["e4s"] version("main", branch="main") + version("1.9.0", sha256="8833266989d3a5110178a9fae30783675460724d0e1efb13b14901d2c660c557") version("1.8.0", sha256="9bccbb3b40e3de10351f8f5068e105d0f4083b1a65fa07b6634fbc401a6287fd") version("1.7.2", sha256="20e9e49ecd130598f1ca38a1d85090e1a600147b9c02fa6f15d69cb53d968fda") version("1.7.1", sha256="24b3f1e976a4665aa74ee0fcaac2b8fccc6ae77c8e07ab25da3ba6d3292b9802") @@ -30,24 +31,33 @@ class PyScikitLearn(PythonPackage): version("1.5.2", sha256="b4237ed7b3fdd0a4882792e68ef2545d5baa50aca3bb45aa7df468138ad8f94d") version("1.5.1", sha256="0ea5d40c0e3951df445721927448755d3fe1d80833b0b7308ebff5d2a45e6414") version("1.5.0", sha256="789e3db01c750ed6d496fa2db7d50637857b451e57bcae863bff707c1247bef7") - version("1.4.2", sha256="daa1c471d95bad080c6e44b4946c9390a4842adc3082572c20e4f8884e39e959") - version("1.4.0", sha256="d4373c984eba20e393216edd51a3e3eede56cbe93d4247516d205643c3b93121") - version("1.3.2", sha256="a2f54c76accc15a34bfb9066e6c7a56c1e7235dda5762b990792330b52ccfb05") - version("1.3.1", sha256="1a231cced3ee3fa04756b4a7ab532dc9417acd581a330adff5f2c01ac2831fcf") - version("1.3.0", sha256="8be549886f5eda46436b6e555b0e4873b4f10aa21c07df45c4bc1735afbccd7a") - version("1.2.2", sha256="8429aea30ec24e7a8c7ed8a3fa6213adf3814a6efbea09e16e0a0c71e1a1a3d7") - version("1.2.1", sha256="fbf8a5c893c9b4b99bcc7ed8fb3e8500957a113f4101860386d06635520f7cfb") - version("1.2.0", sha256="680b65b3caee469541385d2ca5b03ff70408f6c618c583948312f0d2125df680") - version("1.1.3", sha256="bef51978a51ec19977700fe7b86aecea49c825884f3811756b74a3b152bb4e35") - version("1.1.2", sha256="7c22d1305b16f08d57751a4ea36071e2215efb4c09cb79183faa4e8e82a3dbf8") - version("1.1.1", sha256="3e77b71e8e644f86c8b5be7f1c285ef597de4c384961389ee3e9ca36c445b256") - version("1.1.0", sha256="80f9904f5b1356adfc32406725dd94c8cc9c8d265047d98390033a6c238cbb29") - version("1.0.2", sha256="b5870959a5484b614f26d31ca4c17524b1b0317522199dc985c3b4256e030767") - version("1.0.1", sha256="ac2ca9dbb754d61cfe1c83ba8483498ef951d29b93ec09d6f002847f210a99da") - version("1.0", sha256="776800194e757cd212b47cd05907e0eb67a554ad333fe76776060dbb729e3427") - version("0.24.2", sha256="d14701a12417930392cd3898e9646cf5670c190b933625ebe7511b1f7d7b8736") - version("0.24.1", sha256="a0334a1802e64d656022c3bfab56a73fbd6bf4b1298343f3688af2151810bbdf") - version("0.24.0", sha256="076369634ee72b5a5941440661e2f306ff4ac30903802dc52031c7e9199ac640") + with default_args(deprecated=True): + # https://www.cvedetails.com/cve/CVE-2024-5206/ + version("1.4.2", sha256="daa1c471d95bad080c6e44b4946c9390a4842adc3082572c20e4f8884e39e959") + version("1.4.0", sha256="d4373c984eba20e393216edd51a3e3eede56cbe93d4247516d205643c3b93121") + version("1.3.2", sha256="a2f54c76accc15a34bfb9066e6c7a56c1e7235dda5762b990792330b52ccfb05") + version("1.3.1", sha256="1a231cced3ee3fa04756b4a7ab532dc9417acd581a330adff5f2c01ac2831fcf") + version("1.3.0", sha256="8be549886f5eda46436b6e555b0e4873b4f10aa21c07df45c4bc1735afbccd7a") + version("1.2.2", sha256="8429aea30ec24e7a8c7ed8a3fa6213adf3814a6efbea09e16e0a0c71e1a1a3d7") + version("1.2.1", sha256="fbf8a5c893c9b4b99bcc7ed8fb3e8500957a113f4101860386d06635520f7cfb") + version("1.2.0", sha256="680b65b3caee469541385d2ca5b03ff70408f6c618c583948312f0d2125df680") + version("1.1.3", sha256="bef51978a51ec19977700fe7b86aecea49c825884f3811756b74a3b152bb4e35") + version("1.1.2", sha256="7c22d1305b16f08d57751a4ea36071e2215efb4c09cb79183faa4e8e82a3dbf8") + version("1.1.1", sha256="3e77b71e8e644f86c8b5be7f1c285ef597de4c384961389ee3e9ca36c445b256") + version("1.1.0", sha256="80f9904f5b1356adfc32406725dd94c8cc9c8d265047d98390033a6c238cbb29") + version("1.0.2", sha256="b5870959a5484b614f26d31ca4c17524b1b0317522199dc985c3b4256e030767") + version("1.0.1", sha256="ac2ca9dbb754d61cfe1c83ba8483498ef951d29b93ec09d6f002847f210a99da") + # https://www.cvedetails.com/cve/CVE-2020-28975/ + version("1.0", sha256="776800194e757cd212b47cd05907e0eb67a554ad333fe76776060dbb729e3427") + version( + "0.24.2", sha256="d14701a12417930392cd3898e9646cf5670c190b933625ebe7511b1f7d7b8736" + ) + version( + "0.24.1", sha256="a0334a1802e64d656022c3bfab56a73fbd6bf4b1298343f3688af2151810bbdf" + ) + version( + "0.24.0", sha256="076369634ee72b5a5941440661e2f306ff4ac30903802dc52031c7e9199ac640" + ) with default_args(type=("build", "link", "run")): # Based on PyPI wheel availability @@ -78,11 +88,14 @@ class PyScikitLearn(PythonPackage): depends_on("py-scipy@1.3.2:", when="@1.1:") depends_on("py-scipy@1.1.0:", when="@1.0:") depends_on("py-scipy@0.19.1:", when="@0.23:") + depends_on("py-joblib@1.4:", when="@1.9:") depends_on("py-joblib@1.3:", when="@1.8:") depends_on("py-joblib@1.2:", when="@1.4:") depends_on("py-joblib@1.1.1:", when="@1.2:") depends_on("py-joblib@1:", when="@1.1:") depends_on("py-joblib@0.11:") + depends_on("py-narwhals@2.0.1:", when="@1.9:") + depends_on("py-threadpoolctl@3.5:", when="@1.9:") depends_on("py-threadpoolctl@3.2:", when="@1.8:") depends_on("py-threadpoolctl@3.1:", when="@1.5:") depends_on("py-threadpoolctl@2.0:", when="@0.23:") From 97f8fd87230f60304cc00eb3a7be39c705a88120 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Thu, 4 Jun 2026 13:05:53 -0600 Subject: [PATCH 097/180] strumpack: add patch for newer CUDA 13.2+ (#5090) --- repos/spack_repo/builtin/packages/strumpack/package.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/repos/spack_repo/builtin/packages/strumpack/package.py b/repos/spack_repo/builtin/packages/strumpack/package.py index dbc9f9458e2..b5a5f96441d 100644 --- a/repos/spack_repo/builtin/packages/strumpack/package.py +++ b/repos/spack_repo/builtin/packages/strumpack/package.py @@ -127,6 +127,13 @@ class Strumpack(CMakePackage, CudaPackage, ROCmPackage): # https://github.com/pghysels/STRUMPACK/commit/e4b110b2d823c51a90575b77ec1531c699097a9f patch("strumpack-7.0.1-mpich-hipcc.patch", when="@7.0.1 +rocm ^mpich") + # https://github.com/pghysels/STRUMPACK/pull/142 + patch( + "https://github.com/pghysels/STRUMPACK/commit/e08ec96e8514d3b8e374fd436eae5e1590a2c254.patch?full_index=1", + sha256="db741166d26768f77a97651e628a75cc9d7894ad5613f20450a494bb3cb08bb0", + when="@8.0.0 +cuda ^cuda@13.2:", + ) + def cmake_args(self): spec = self.spec From 9d169e095ef9b42a5919b2b4f97ec6eff00359f8 Mon Sep 17 00:00:00 2001 From: Manuela Kuhn <36827019+manuelakuhn@users.noreply.github.com> Date: Thu, 4 Jun 2026 22:16:35 +0200 Subject: [PATCH 098/180] py-jupyterlab: add v4.5.8 (#5092) --- repos/spack_repo/builtin/packages/py_jupyterlab/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/repos/spack_repo/builtin/packages/py_jupyterlab/package.py b/repos/spack_repo/builtin/packages/py_jupyterlab/package.py index d78b7b47959..e028498e2b9 100644 --- a/repos/spack_repo/builtin/packages/py_jupyterlab/package.py +++ b/repos/spack_repo/builtin/packages/py_jupyterlab/package.py @@ -18,6 +18,7 @@ class PyJupyterlab(PythonPackage): license("BSD-3-Clause", checked_by="lgarrison") + version("4.5.8", sha256="af54d7242cc689a1e6c3ad213cc9b6d9781787d9ec67c52ec9a8f4707088cadd") version("4.5.7", sha256="55a9822c4754da305f41e113452c68383e214dcf96de760146af89ce5d5117b0") version("4.5.6", sha256="642fe2cfe7f0f5922a8a558ba7a0d246c7bc133b708dfe43f7b3a826d163cf42") version("4.4.10", sha256="521c017508af4e1d6d9d8a9d90f47a11c61197ad63b2178342489de42540a615") @@ -63,6 +64,7 @@ class PyJupyterlab(PythonPackage): depends_on("py-jupyterlab-server@2.27.1:2", when="@4.1.7:4.4") depends_on("py-jupyterlab-server@2.19:2", when="@4:4.1.6") depends_on("py-notebook-shim@0.2:", when="@4:") + depends_on("py-packaging@23.2:", when="@4.5.8:") depends_on("py-packaging", when="@3:") depends_on("py-setuptools@41.1:", when="@4.3.7:") depends_on("py-setuptools@40.8.0:", when="@4.3.5:") From 47834947a0569ae5d6085e13b04e118a00835d6c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 14:22:03 -0600 Subject: [PATCH 099/180] build(deps): bump aws-actions/configure-aws-credentials (#5076) Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 6.1.3 to 6.2.0. - [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases) - [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md) - [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/99214aa6889fcddfa57764031d71add364327e59...e7f100cf4c008499ea8adda475de1042d6975c7b) --- updated-dependencies: - dependency-name: aws-actions/configure-aws-credentials dependency-version: 6.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/update-src-mirror.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update-src-mirror.yml b/.github/workflows/update-src-mirror.yml index c268aa938d1..4e83acc9d71 100644 --- a/.github/workflows/update-src-mirror.yml +++ b/.github/workflows/update-src-mirror.yml @@ -52,7 +52,7 @@ jobs: - name: Configure AWS credentials if: steps.create-mirror.outputs.new-specs == 'true' - uses: aws-actions/configure-aws-credentials@99214aa6889fcddfa57764031d71add364327e59 # v6.1.3 + uses: aws-actions/configure-aws-credentials@e7f100cf4c008499ea8adda475de1042d6975c7b # v6.2.0 with: role-to-assume: ${{ secrets.AWS_ROLE_ARN }} aws-region: ${{ secrets.AWS_REGION }} From 660d9b375cdc5982459a8bdadc0dbdbadf8f5a69 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 14:22:06 -0600 Subject: [PATCH 100/180] build(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#5077) Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 6.0.3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/de0fac2e4500dabe0009e67214ff5f5447ce83dd...df4cb1c069e1874edd31b4311f1884172cec0e10) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.3 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> --- .github/workflows/audit.yaml | 2 +- .github/workflows/bootstrap.yml | 10 +++++----- .github/workflows/ci.yaml | 2 +- .github/workflows/prechecks.yml | 8 ++++---- .github/workflows/triage.yml | 2 +- .github/workflows/unit_tests.yaml | 6 +++--- .github/workflows/update-src-mirror.yml | 2 +- 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/audit.yaml b/.github/workflows/audit.yaml index 455358cf7c8..3c6601a9cda 100644 --- a/.github/workflows/audit.yaml +++ b/.github/workflows/audit.yaml @@ -25,7 +25,7 @@ jobs: run: shell: ${{ matrix.system.shell }} steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: ${{inputs.python_version}} diff --git a/.github/workflows/bootstrap.yml b/.github/workflows/bootstrap.yml index 7ea427cb102..d23972aa657 100644 --- a/.github/workflows/bootstrap.yml +++ b/.github/workflows/bootstrap.yml @@ -66,7 +66,7 @@ jobs: make patch unzip which xz python3 python3-devel tree \ cmake bison - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: fetch-depth: 0 - uses: ./.github/actions/checkout-spack @@ -93,7 +93,7 @@ jobs: run: | brew install bison tree - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: fetch-depth: 0 - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 @@ -126,7 +126,7 @@ jobs: sudo rm $(command -v gpg gpg2 patchelf) done - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: fetch-depth: 0 - uses: ./.github/actions/checkout-spack @@ -145,7 +145,7 @@ jobs: runs-on: "windows-latest" steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: fetch-depth: 0 - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 @@ -184,7 +184,7 @@ jobs: bzip2 curl file gcc-c++ gcc gcc-gfortran git gnupg2 gzip \ make patch tcl unzip which xz - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: fetch-depth: 0 - uses: ./.github/actions/checkout-spack diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index e2f5d661b8b..0a9112febaa 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -24,7 +24,7 @@ jobs: core: ${{ steps.filter.outputs.core }} packages: ${{ steps.filter.outputs.packages }} steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 if: ${{ github.event_name == 'push' || github.event_name == 'merge_group' }} with: fetch-depth: 0 diff --git a/.github/workflows/prechecks.yml b/.github/workflows/prechecks.yml index ba94e02a79b..667de1f23d2 100644 --- a/.github/workflows/prechecks.yml +++ b/.github/workflows/prechecks.yml @@ -17,7 +17,7 @@ jobs: validate: runs-on: ubuntu-latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: '3.13' @@ -32,7 +32,7 @@ jobs: style: runs-on: ubuntu-latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: fetch-depth: 2 - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 @@ -58,7 +58,7 @@ jobs: ${{ inputs.with_packages == 'true' }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: # Depth 2 is required for this check fetch-depth: 2 @@ -77,7 +77,7 @@ jobs: image: ghcr.io/spack/all-pythons:2025-10-10 steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: fetch-depth: 0 - uses: ./.github/actions/checkout-spack diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index 36724c28000..b5154d1e060 100644 --- a/.github/workflows/triage.yml +++ b/.github/workflows/triage.yml @@ -19,7 +19,7 @@ jobs: pull-requests: write issues: write steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: ref: develop # DO NOT CHANGE diff --git a/.github/workflows/unit_tests.yaml b/.github/workflows/unit_tests.yaml index 88dc6d10cfa..00a83b098d3 100644 --- a/.github/workflows/unit_tests.yaml +++ b/.github/workflows/unit_tests.yaml @@ -37,7 +37,7 @@ jobs: on_develop: false steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: ${{ matrix.python-version }} @@ -62,7 +62,7 @@ jobs: os: ["macos-15", "macos-15-intel"] python-version: ["3.11"] steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: ${{ matrix.python-version }} @@ -82,7 +82,7 @@ jobs: powershell Invoke-Expression -Command "./.ci/windows_test_setup.ps1"; {0} runs-on: windows-latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: 3.9 diff --git a/.github/workflows/update-src-mirror.yml b/.github/workflows/update-src-mirror.yml index 4e83acc9d71..bbda819ac1c 100644 --- a/.github/workflows/update-src-mirror.yml +++ b/.github/workflows/update-src-mirror.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: # Depth 2 is required for this check fetch-depth: 2 From 7e2d6c71717e6bfe82018bb59e6374cb049950e6 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Thu, 4 Jun 2026 13:25:28 -0700 Subject: [PATCH 101/180] pelican, go-sh: update to use GoPackage ldflags (#5069) Signed-off-by: Alec Scott --- .../builtin/packages/go_sh/package.py | 21 ++++++++++++------- .../builtin/packages/pelican/package.py | 20 +++++++----------- 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/repos/spack_repo/builtin/packages/go_sh/package.py b/repos/spack_repo/builtin/packages/go_sh/package.py index e9b772b3225..46f7e8cf131 100644 --- a/repos/spack_repo/builtin/packages/go_sh/package.py +++ b/repos/spack_repo/builtin/packages/go_sh/package.py @@ -48,20 +48,25 @@ def sanity_check_is_file(self): files.append(join_path("bin", "gosh")) return files + @property + def ldflags(self): + # v3.12 uses ldflags to set version; v3.13+ uses Go's VCS stamping + if self.spec.satisfies("@:3.12"): + return [f"-X main.version={self.spec.version}"] + return [] + def build(self, spec: Spec, prefix: Prefix) -> None: """Runs ``go build`` in the source directory for the specified variants.""" - # v3.12 uses ldflags to set version; v3.13+ uses Go's VCS stamping - if spec.satisfies("@:3.12"): - ldflags = f"-s -w -X main.version={spec.version}" - else: - ldflags = "-s -w" - common_flags = ("-p", str(make_jobs), "-modcacherw", "-ldflags", ldflags) with working_dir(self.build_directory): if spec.satisfies("+shfmt"): - go("build", "-o", "shfmt", *common_flags, "./cmd/shfmt") + args = list(self.std_build_args) + args[args.index("-o") + 1] = "shfmt" + go("build", *args, "./cmd/shfmt") if spec.satisfies("+gosh"): - go("build", "-o", "gosh", *common_flags, "./cmd/gosh") + args = list(self.std_build_args) + args[args.index("-o") + 1] = "gosh" + go("build", *args, "./cmd/gosh") def install(self, spec: Spec, prefix: Prefix) -> None: """Install built binaries into prefix bin.""" diff --git a/repos/spack_repo/builtin/packages/pelican/package.py b/repos/spack_repo/builtin/packages/pelican/package.py index de8f67a87d3..fdaa4e1d8fe 100644 --- a/repos/spack_repo/builtin/packages/pelican/package.py +++ b/repos/spack_repo/builtin/packages/pelican/package.py @@ -26,6 +26,8 @@ class Pelican(GoPackage): depends_on("go@1.25:", type="build") + build_directory = "cmd" + @run_before("build", when="@:7.24") def create_frontend_placeholder(self): # web_ui/ui.go uses //go:embed frontend/out/*, which requires at least one @@ -36,26 +38,18 @@ def create_frontend_placeholder(self): mkdirp(out_dir) touch(join_path(out_dir, "placeholder")) - build_directory = "cmd" + @property + def ldflags(self): + return [f"-X github.com/pelicanplatform/pelican/version.version={self.spec.version}"] @property def build_args(self): # Build only the CLI client binary (no web frontend embedded) - args = super().build_args - version_ldflag = ( - f"-X github.com/pelicanplatform/pelican/version.version={self.spec.version}" - ) - if "-ldflags" in args: - args[args.index("-ldflags") + 1] += f" {version_ldflag}" - else: - args.extend(["-ldflags", version_ldflag]) - args.extend(["-tags", "forceposix,client"]) - return args + return ["-tags", "forceposix,client"] @run_after("build", when="+server") def build_server(self): - args = list(self.build_args) - args[args.index("-tags") + 1] = "forceposix,server" + args = [*self.std_build_args, "-tags", "forceposix,server"] args[args.index("-o") + 1] = "pelican-server" with working_dir(self.build_directory): go("build", *args) From 43a29ba1e8fef90bb1ed450e815c8fb9b6ed0302 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Thu, 4 Jun 2026 13:48:30 -0700 Subject: [PATCH 102/180] etcd: add v3.6.12 (#5073) --- repos/spack_repo/builtin/packages/etcd/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/repos/spack_repo/builtin/packages/etcd/package.py b/repos/spack_repo/builtin/packages/etcd/package.py index c5cd1b7026e..6068605c86e 100644 --- a/repos/spack_repo/builtin/packages/etcd/package.py +++ b/repos/spack_repo/builtin/packages/etcd/package.py @@ -18,10 +18,12 @@ class Etcd(GoPackage): license("Apache-2.0") + version("3.6.12", sha256="43b78c492dd5dd5f012d14af85adf1ea15b25384cd2f8de04d7d68e418e4907a") version("3.6.5", sha256="96b2eabaf6da7dd21797152e7d1c1ce27da75926ae10e08a90b7ed0458287a4b") version("3.5.9", sha256="ab24d74b66ba1ed7d2bc391839d961e7215f0f3d674c3a9592dad6dc67a7b223") version("3.4.23", sha256="055c608c4898d25f23aefbc845ff074bf5e8a07e61ed41dbd5cc4d4f59c93093") + depends_on("go@1.25:", type="build", when="@3.6.9:") depends_on("go@1.24:", type="build", when="@3.6.5:") depends_on("go@1.19:", type="build") depends_on("gmake", type="build") From a4cc7d293f88cfe80c6ecac570a7a7100a684001 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Thu, 4 Jun 2026 13:54:03 -0700 Subject: [PATCH 103/180] fzf: add v0.73.1 (#5074) --- repos/spack_repo/builtin/packages/fzf/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/fzf/package.py b/repos/spack_repo/builtin/packages/fzf/package.py index dfc7be7d200..89425b51ac7 100644 --- a/repos/spack_repo/builtin/packages/fzf/package.py +++ b/repos/spack_repo/builtin/packages/fzf/package.py @@ -26,6 +26,7 @@ class Fzf(GoPackage): # Versions from newest to oldest version("master", branch="master") + version("0.73.1", sha256="ae4f49f8606a7d28498208fa1b93c5d3b890719eea97e02559e66160138b750c") version("0.67.0", sha256="da72936dd23045346769dbf233a7a1fa6b4cfe4f0e856b279821598ce8f692af") version("0.66.0", sha256="576659beee244b4ecccf45f1c576340143d8ce6d97fa053e6cbdd3f75c66b351") version("0.65.2", sha256="53b7e0077833f96ae04fd1e312ed65b2d5c427422b652dd3ce6c2d1702f8ce56") From 137ad9824dfd9a7a6d73674ed333227457bc5051 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Thu, 4 Jun 2026 13:54:07 -0700 Subject: [PATCH 104/180] gnutls: add v3.8.13 (#5075) --- repos/spack_repo/builtin/packages/gnutls/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/gnutls/package.py b/repos/spack_repo/builtin/packages/gnutls/package.py index 62118c45a33..a45f823528f 100644 --- a/repos/spack_repo/builtin/packages/gnutls/package.py +++ b/repos/spack_repo/builtin/packages/gnutls/package.py @@ -30,6 +30,7 @@ class Gnutls(AutotoolsPackage): # Version definitions version("master", branch="master") + version("3.8.13", sha256="ffed8ec1bf09c2426d4f14aae377de4753b53e537d685e604e99a8b16ca9c97e") version("3.8.12", sha256="a7b341421bfd459acf7a374ca4af3b9e06608dcd7bd792b2bf470bea012b8e51") version("3.8.10", sha256="db7fab7cce791e7727ebbef2334301c821d79a550ec55c9ef096b610b03eb6b7") version("3.8.9", sha256="69e113d802d1670c4d5ac1b99040b1f2d5c7c05daec5003813c049b5184820ed") From 2e98c547a082179c25f982eefa8dec458b746f01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Lacroix?= Date: Thu, 4 Jun 2026 22:59:05 +0200 Subject: [PATCH 105/180] go: add v1.26.4 (#5081) --- repos/spack_repo/builtin/packages/go/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/go/package.py b/repos/spack_repo/builtin/packages/go/package.py index 87b5b193d51..6a6c7b28b64 100644 --- a/repos/spack_repo/builtin/packages/go/package.py +++ b/repos/spack_repo/builtin/packages/go/package.py @@ -41,6 +41,7 @@ class Go(Package): license("BSD-3-Clause") + version("1.26.4", sha256="4f668a32fbfc1132e6a881fb968c2f1dada631492a339211735fbb255a42602d") version("1.26.2", sha256="2e91ebb6947a96e9436fb2b3926a8802efe63a6d375dffec4f82aa9dbd6fd43b") version("1.26.1", sha256="3172293d04b209dc1144698e7ba13f0477f6ba8c5ffd0be66c20fdbc9785dfbb") version("1.25.9", sha256="0ec9ef8ebcea097aac37decae9f09a7218b451cd96be7d6ed513d8e4bcf909cf") From 1b77aefd2a379c3b56d741fa5feccc7658eae333 Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Thu, 4 Jun 2026 23:02:34 +0200 Subject: [PATCH 106/180] py-key-value-aio: new package (#5037) * py-key-value-aio: add new package * py-key-value-aio: wrong bound on py-uv-build --- .../packages/py_key_value_aio/package.py | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/py_key_value_aio/package.py diff --git a/repos/spack_repo/builtin/packages/py_key_value_aio/package.py b/repos/spack_repo/builtin/packages/py_key_value_aio/package.py new file mode 100644 index 00000000000..633f9ab42d2 --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_key_value_aio/package.py @@ -0,0 +1,29 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyKeyValueAio(PythonPackage): + """A pluggable interface for KV Stores.""" + + homepage = "https://github.com/strawgate/py-key-value" + pypi = "py_key_value_aio/py_key_value_aio-0.4.4.tar.gz" + + version("0.4.4", sha256="e3012e6243ed7cc09bb05457bd4d03b1ba5c2b1ca8700096b3927db79ffbbe55") + + variant("memory", default=False, description="Enable memory backend") + variant("redis", default=False, description="Enable redis backend") + + depends_on("python@3.10:", type=("build", "run")) + depends_on("py-uv-build@0.8.2:0.8", type="build") + + depends_on("py-beartype@0.20:", type=("build", "run")) + depends_on("py-typing-extensions@4.15:", type=("build", "run")) + + depends_on("py-cachetools@5:", type=("build", "run"), when="+memory") + depends_on("py-redis@4.3:", type=("build", "run"), when="+redis") From 9655d065751a5a924b342ab5dbb61d19269d10a5 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Thu, 4 Jun 2026 14:50:07 -0700 Subject: [PATCH 107/180] difftastic: add v0.69.0 (#5071) --- repos/spack_repo/builtin/packages/difftastic/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/repos/spack_repo/builtin/packages/difftastic/package.py b/repos/spack_repo/builtin/packages/difftastic/package.py index a4b1a01aedf..8ce820da4ba 100644 --- a/repos/spack_repo/builtin/packages/difftastic/package.py +++ b/repos/spack_repo/builtin/packages/difftastic/package.py @@ -17,11 +17,14 @@ class Difftastic(CargoPackage): license("MIT") + version("0.69.0", sha256="49d722fb80a0324ea99fe11907f796cde635443084d15cc6f1afd9e0de54bde0") version("0.68.0", sha256="86cfd4232f99c5dac56bd1e6fab7b8d96cfaac7a4271738b50c8189031c97a66") version("0.67.0", sha256="a6a15d6ca9f9ab7c034d1770417d1829deb3fbe9dcf4731b9cba867e50e78437") + version("0.65.0", sha256="59462f69e2cedfdc1bee4fd0da48fe9a7ae635cdb6818c1a300b31c0b146d4b8") version("0.64.0", sha256="54c7c93309ff9a2cbe87153ac1d16e80bacac4042c80f6b7206e9b71a6f10d0b") version("0.63.0", sha256="f96bcf4fc961921d52cd9fe5aa94017924abde3d5a3b5a4727b103e9c2d4b416") + depends_on("rust@1.85:", type="build", when="@0.69:") depends_on("rust@1.77:", type="build", when="@0.68:") depends_on("rust@1.76:", type="build", when="@0.67:") depends_on("rust@1.75:", type="build", when="@0.65:") From 57c2a6bd12e0c3042f0a1ba61c4e216587af8bc6 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Thu, 4 Jun 2026 14:51:43 -0700 Subject: [PATCH 108/180] bfs: add v4.1.2 (#5070) --- repos/spack_repo/builtin/packages/bfs/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/bfs/package.py b/repos/spack_repo/builtin/packages/bfs/package.py index 36a176061f8..d7a6cf2668b 100644 --- a/repos/spack_repo/builtin/packages/bfs/package.py +++ b/repos/spack_repo/builtin/packages/bfs/package.py @@ -20,6 +20,7 @@ class Bfs(MakefilePackage): license("0BSD") version("main", branch="main") + version("4.1.2", sha256="4dc9846bbd23acdad4bafb279416b4a60aee98829ab6c5a1380006ab28894f3d") version("4.1", sha256="7a2ccafc87803b6c42009019e0786cb1307f492c2d61d2fcb0be5dcfdd0049da") version("4.0.6", sha256="446a0a1a5bcbf8d026aab2b0f70f3d99c08e5fe18d3c564a8b7d9acde0792112") version("4.0.5", sha256="f7d9ebff00d9a010a5d6cc9b7bf1933095d7e5c0b11a8ec48c96c7ed8f993e5f") From e7be9b4a14f2996866138b3bf8f6d8c35c4ee713 Mon Sep 17 00:00:00 2001 From: "V. Karch" Date: Thu, 4 Jun 2026 17:55:05 -0400 Subject: [PATCH 109/180] py-pipcl: added package (#4802) --- .../builtin/packages/py_pipcl/package.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/py_pipcl/package.py diff --git a/repos/spack_repo/builtin/packages/py_pipcl/package.py b/repos/spack_repo/builtin/packages/py_pipcl/package.py new file mode 100644 index 00000000000..67de3139963 --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_pipcl/package.py @@ -0,0 +1,20 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyPipcl(PythonPackage): + """Python packaging operations, including PEP-517 support, + for use by a setup.py script.""" + + homepage = "https://github.com/ArtifexSoftware/pipcl" + pypi = "pipcl/pipcl-4.tar.gz" + + license("AGPL-3.0", checked_by="V-Karch") + + version("4", sha256="872af57ed3be4cfce9ffe16861514f8774675f8ddbc5df91b2d9ff283bb33f8c") From b5f76ae91673a97d689a1d4eb92034e873eb7be3 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Thu, 4 Jun 2026 17:10:25 -0600 Subject: [PATCH 110/180] tau: add conflict for CUDA 13.2+ (#5089) --- repos/spack_repo/builtin/packages/tau/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/repos/spack_repo/builtin/packages/tau/package.py b/repos/spack_repo/builtin/packages/tau/package.py index 695c421a2e2..b39684716d1 100644 --- a/repos/spack_repo/builtin/packages/tau/package.py +++ b/repos/spack_repo/builtin/packages/tau/package.py @@ -222,6 +222,9 @@ class Tau(Package): conflicts("+comm", when="@:2.34 +python", msg="Bug in +comm with +python up to @2.34") + # header changes require upstream to add explicit includes + conflicts("^cuda@13.2:", when="@:2.35.1 +cuda") + # Elf only required from 2.28.1 on conflicts("+elf", when="@:2.28.0") conflicts("+libdwarf", when="@:2.28.0") From e470cb257b844d1d13a5f53a87d7914821f4268a Mon Sep 17 00:00:00 2001 From: Alex Tyler Chapman <100869159+chapman39@users.noreply.github.com> Date: Fri, 5 Jun 2026 00:08:02 -0700 Subject: [PATCH 111/180] create hiop patch to fix definition error (#3841) * create hiop patch to fix definition error * apply to patch thru url * fix syntax --- repos/spack_repo/builtin/packages/hiop/package.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/repos/spack_repo/builtin/packages/hiop/package.py b/repos/spack_repo/builtin/packages/hiop/package.py index 465ff151eb3..51654b014f9 100644 --- a/repos/spack_repo/builtin/packages/hiop/package.py +++ b/repos/spack_repo/builtin/packages/hiop/package.py @@ -106,6 +106,12 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage): description="Enable/disable cuSovler LU refactorization", ) + patch( + "https://github.com/llnl/hiop/commit/1d50896dd8df0a7c853e998e6814566d8.patch?full_index=1", + sha256="e73daa7f15863cb3c9dfad9509d46984ad1943506a7a5e04183817eba6d14aed", + when="@1.2.0", + ) + depends_on("c", type="build") depends_on("cxx", type="build") depends_on("fortran", type="build") From 2f670254635009a31640d87d1a926748e14cccfe Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Fri, 5 Jun 2026 02:18:21 -0700 Subject: [PATCH 112/180] fd: add v10.4.2 (#5072) --- repos/spack_repo/builtin/packages/fd/package.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/repos/spack_repo/builtin/packages/fd/package.py b/repos/spack_repo/builtin/packages/fd/package.py index 87f2a942354..fb999a70d97 100644 --- a/repos/spack_repo/builtin/packages/fd/package.py +++ b/repos/spack_repo/builtin/packages/fd/package.py @@ -23,6 +23,7 @@ class Fd(CargoPackage): license("Apache-2.0 OR MIT") version("master", branch="master") + version("10.4.2", sha256="3a7e027af8c8e91c196ac259c703d78cd55c364706ddafbc66d02c326e57a456") version("10.3.0", sha256="2edbc917a533053855d5b635dff368d65756ce6f82ddefd57b6c202622d791e9") version("10.2.0", sha256="73329fe24c53f0ca47cd0939256ca5c4644742cb7c14cf4114c8c9871336d342") version("10.1.0", sha256="ee4b2403388344ff60125c79ff25b7895a170e7960f243ba2b5d51d2c3712d97") @@ -33,9 +34,10 @@ class Fd(CargoPackage): depends_on("c", type="build") - depends_on("rust@1.77.2:", type="build", when="@10:") - depends_on("rust@1.70:", type="build", when="@8.7.1:") - depends_on("rust@1.64:", type="build", when="@8.7:") + depends_on("rust@1.90.0:", type="build", when="@10.4.0:") + depends_on("rust@1.77.2:", type="build", when="@10.0.0:") + depends_on("rust@1.70.0:", type="build", when="@8.7.1:") + depends_on("rust@1.64.0:", type="build", when="@8.7.0:") depends_on("gmake", type="build") From 1216e8b35c91591f1080e317f9a6cd2c56645b9c Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Fri, 5 Jun 2026 14:26:40 +0200 Subject: [PATCH 113/180] minisign: add v0.12 (#5096) * minisign: add v0.12 Also add libsodium v1.0.22 Deprecated old versions of both packages. Signed-off-by: Massimiliano Culpo * [@spackbot] updating style on behalf of alalazo --------- Signed-off-by: Massimiliano Culpo Co-authored-by: alalazo --- .../builtin/packages/libsodium/package.py | 38 +++++++++++++------ .../builtin/packages/minisign/package.py | 16 +++++--- 2 files changed, 38 insertions(+), 16 deletions(-) diff --git a/repos/spack_repo/builtin/packages/libsodium/package.py b/repos/spack_repo/builtin/packages/libsodium/package.py index f8c18babd4e..ad8cf0f0fca 100644 --- a/repos/spack_repo/builtin/packages/libsodium/package.py +++ b/repos/spack_repo/builtin/packages/libsodium/package.py @@ -19,21 +19,37 @@ class Libsodium(AutotoolsPackage): license("ISC") + maintainers("alalazo") + version("master", branch="master") version("stable", branch="stable") + version("1.0.22", sha256="adbdd8f16149e81ac6078a03aca6fc03b592b89ef7b5ed83841c086191be3349") version("1.0.20", sha256="ebb65ef6ca439333c2bb41a0c1990587288da07f6c7fd07cb3a18cc18d30ce19") - version("1.0.19", sha256="018d79fe0a045cca07331d37bd0cb57b2e838c51bc48fd837a1472e50068bbea") - version("1.0.18", sha256="6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1") - version("1.0.17", sha256="0cc3dae33e642cc187b5ceb467e0ad0e1b51dcba577de1190e9ffa17766ac2b1") - version("1.0.16", sha256="eeadc7e1e1bcef09680fb4837d448fbdf57224978f865ac1c16745868fbd0533") - version("1.0.15", sha256="fb6a9e879a2f674592e4328c5d9f79f082405ee4bb05cb6e679b90afe9e178f4") - version("1.0.13", sha256="9c13accb1a9e59ab3affde0e60ef9a2149ed4d6e8f99c93c7a5b97499ee323fd") - version("1.0.3", sha256="cbcfc63cc90c05d18a20f229a62c7e7054a73731d0aa858c0517152c549b1288") - version("1.0.2", sha256="961d8f10047f545ae658bcc73b8ab0bf2c312ac945968dd579d87c768e5baa19") - version("1.0.1", sha256="c3090887a4ef9e2d63af1c1e77f5d5a0656fadb5105ebb9fb66a302210cb3af5") - version("1.0.0", sha256="ced1fe3d2066953fea94f307a92f8ae41bf0643739a44309cbe43aa881dbc9a5") - version("0.7.1", sha256="ef46bbb5bac263ef6d3fc00ccc11d4690aea83643412919fe15369b9870280a7") + with default_args(deprecated=True): + version( + "1.0.19", sha256="018d79fe0a045cca07331d37bd0cb57b2e838c51bc48fd837a1472e50068bbea" + ) + version( + "1.0.18", sha256="6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1" + ) + version( + "1.0.17", sha256="0cc3dae33e642cc187b5ceb467e0ad0e1b51dcba577de1190e9ffa17766ac2b1" + ) + version( + "1.0.16", sha256="eeadc7e1e1bcef09680fb4837d448fbdf57224978f865ac1c16745868fbd0533" + ) + version( + "1.0.15", sha256="fb6a9e879a2f674592e4328c5d9f79f082405ee4bb05cb6e679b90afe9e178f4" + ) + version( + "1.0.13", sha256="9c13accb1a9e59ab3affde0e60ef9a2149ed4d6e8f99c93c7a5b97499ee323fd" + ) + version("1.0.3", sha256="cbcfc63cc90c05d18a20f229a62c7e7054a73731d0aa858c0517152c549b1288") + version("1.0.2", sha256="961d8f10047f545ae658bcc73b8ab0bf2c312ac945968dd579d87c768e5baa19") + version("1.0.1", sha256="c3090887a4ef9e2d63af1c1e77f5d5a0656fadb5105ebb9fb66a302210cb3af5") + version("1.0.0", sha256="ced1fe3d2066953fea94f307a92f8ae41bf0643739a44309cbe43aa881dbc9a5") + version("0.7.1", sha256="ef46bbb5bac263ef6d3fc00ccc11d4690aea83643412919fe15369b9870280a7") depends_on("c", type="build") diff --git a/repos/spack_repo/builtin/packages/minisign/package.py b/repos/spack_repo/builtin/packages/minisign/package.py index b3da056ebb3..ceafd26a27e 100644 --- a/repos/spack_repo/builtin/packages/minisign/package.py +++ b/repos/spack_repo/builtin/packages/minisign/package.py @@ -16,14 +16,20 @@ class Minisign(CMakePackage): license("ISC") - version("0.11", sha256="74c2c78a1cd51a43a6c98f46a4eabefbc8668074ca9aa14115544276b663fc55") - version("0.9", sha256="caa4b3dd314e065c6f387b2713f7603673e39a8a0b1a76f96ef6c9a5b845da0f") - version("0.8", sha256="130eb5246076bc7ec42f13495a601382e566bb6733430d40a68de5e43a7f1082") - version("0.7", sha256="0c9f25ae647b6ba38cf7e6aea1da4e8fb20e1bc64ef0c679da737a38c8ad43ef") + version( + "0.12", + sha256="677e3dd52f559992c72be932d958587b5f731a1a295bcee37be878ed3f585926", + url="https://github.com/jedisct1/minisign/releases/download/0.12/minisign-0.12.tar.gz", + ) + with default_args(deprecated=True): + version("0.11", sha256="74c2c78a1cd51a43a6c98f46a4eabefbc8668074ca9aa14115544276b663fc55") + version("0.9", sha256="caa4b3dd314e065c6f387b2713f7603673e39a8a0b1a76f96ef6c9a5b845da0f") + version("0.8", sha256="130eb5246076bc7ec42f13495a601382e566bb6733430d40a68de5e43a7f1082") + version("0.7", sha256="0c9f25ae647b6ba38cf7e6aea1da4e8fb20e1bc64ef0c679da737a38c8ad43ef") variant("static", default=True, description="builds a static version of the executable") - depends_on("c", type="build") # generated + depends_on("c", type="build") depends_on("libsodium") From 1aec6042b715a39d2d4ff7e1443fc7b28d5da525 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Fri, 5 Jun 2026 14:26:50 +0200 Subject: [PATCH 114/180] archspec: add v0.2.6 (#5095) Signed-off-by: Massimiliano Culpo --- repos/spack_repo/builtin/packages/py_archspec/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/py_archspec/package.py b/repos/spack_repo/builtin/packages/py_archspec/package.py index c6cb139ff72..ce3a4740193 100644 --- a/repos/spack_repo/builtin/packages/py_archspec/package.py +++ b/repos/spack_repo/builtin/packages/py_archspec/package.py @@ -18,6 +18,7 @@ class PyArchspec(PythonPackage): license("Apache-2.0 AND MIT", checked_by="wdconinc") + version("0.2.6", sha256="2ea980955530499865225eff917b649b39fd014b53f8c6461b6348c1d8b866f1") version("0.2.5", sha256="5bec8dfc5366ff299071200466dc9572d56db4e43abca3c66bdd62bc2b731a2a") version("0.2.4", sha256="eabbae22f315d24cc2ce786a092478ec8e245208c9877fb213c2172a6ecb9302") version("0.2.3", sha256="d07deb5b6e2ab3b74861e217523d02e69be8522f6e6565f4cc5d2062eb1a5d2c") From f6bd1b71c65209095b935ce9d6dc1b9bdb249fc5 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Fri, 5 Jun 2026 14:27:11 +0200 Subject: [PATCH 115/180] zig: add v0.16.0, deprecate older versions (#5094) Signed-off-by: Massimiliano Culpo --- repos/spack_repo/builtin/packages/zig/package.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/repos/spack_repo/builtin/packages/zig/package.py b/repos/spack_repo/builtin/packages/zig/package.py index bba4abb9574..5250de89da5 100644 --- a/repos/spack_repo/builtin/packages/zig/package.py +++ b/repos/spack_repo/builtin/packages/zig/package.py @@ -18,13 +18,14 @@ class Zig(CMakePackage): license("MIT") + version("0.16.0", tag="0.16.0", commit="24fdd5b7a4c1c8b5deb5b56756b9dbc8e08c86a8") version("0.15.2", tag="0.15.2", commit="e4cbd752c8c05f131051f8c873cff7823177d7d3") - version("0.15.1", tag="0.15.1", commit="3db960767d12b6214bcf43f1966a037c7a586a12") - version("0.14.1", tag="0.14.1", commit="d03a147ea0a590ca711b3db07106effc559b0fc6") - version("0.14.0", tag="0.14.0", commit="5ad91a646a753cc3eecd8751e61cf458dadd9ac4") - version("0.13.0", tag="0.13.0", commit="cf90dfd3098bef5b3c22d5ab026173b3c357f2dd") with default_args(deprecated=True): + version("0.15.1", tag="0.15.1", commit="3db960767d12b6214bcf43f1966a037c7a586a12") + version("0.14.1", tag="0.14.1", commit="d03a147ea0a590ca711b3db07106effc559b0fc6") + version("0.14.0", tag="0.14.0", commit="5ad91a646a753cc3eecd8751e61cf458dadd9ac4") + version("0.13.0", tag="0.13.0", commit="cf90dfd3098bef5b3c22d5ab026173b3c357f2dd") version("0.12.0", tag="0.12.0", commit="a685ab1499d6560c523f0dbce2890dc140671e43") version("0.11.0", tag="0.11.0", commit="67709b638224ac03820226c6744d8b6ead59184c") version("0.10.1", tag="0.10.1", commit="b57081f039bd3f8f82210e8896e336e3c3a6869b") @@ -43,6 +44,7 @@ class Zig(CMakePackage): depends_on("c", type="build") depends_on("cxx", type="build") + depends_on("llvm@21", when="@0.16") depends_on("llvm@20", when="@0.15") depends_on("llvm@19", when="@0.14") depends_on("llvm@18", when="@0.13") @@ -61,4 +63,5 @@ def cmake_args(self): self.define("ZIG_USE_CCACHE", True), self.define("ZIG_STATIC_LLVM", True), self.define("ZIG_STATIC_ZLIB", True), + self.define("ZIG_STATIC_ZSTD", True), ] From bdc70a52c5c37be77824a96ffc8aeaff863366ae Mon Sep 17 00:00:00 2001 From: AMD Toolchain Support <73240730+amd-toolchain-support@users.noreply.github.com> Date: Fri, 5 Jun 2026 21:35:17 +0530 Subject: [PATCH 116/180] charmpp: remove @8: conflict with aocc (#5056) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * charmpp: remove @8: conflict with aocc * charmpp: restrict @8:+fortran to AOCC 5.0+; keep versioned conflict for ≤4.2 --- repos/spack_repo/builtin/packages/charmpp/package.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/charmpp/package.py b/repos/spack_repo/builtin/packages/charmpp/package.py index 599e888010b..b2870ebe227 100644 --- a/repos/spack_repo/builtin/packages/charmpp/package.py +++ b/repos/spack_repo/builtin/packages/charmpp/package.py @@ -127,7 +127,12 @@ class Charmpp(Package): # Fix was suggested in https://github.com/charmplusplus/charm/pull/3646 and the same has # been implemented in v8.0.0 conflicts("%fortran=intel-oneapi-compilers", when="@8: +fortran") - conflicts("%fortran=aocc", when="@8: +fortran") + conflicts( + "%fortran=aocc@:4.2", + when="@8: +fortran", + msg="Charm++ 8.x +fortran fails to build with AOCC 4.2.0 and earlier; " + "use AOCC 5.0+ or charmpp@8: ~fortran", + ) # Versions 7.0.0+ use CMake by default when it's available. It's more # robust. From 0bc778847ba2ea9367b7175d30e4d51688bb6982 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Fri, 5 Jun 2026 18:07:43 +0200 Subject: [PATCH 117/180] Bump Spack commit (#5097) * Bump Spack commit Notable additions: Solver: speed-up, clingo v6 support, cache concretization results, matrix excludes, intel-oneapi-compilers bugfixes Windows: remove pywin32, fix logging deadlock, safer stage/cleanup, native tar, lock and shell fixes GPG/signing: full module refactor, new key-trust and mirror-trust approach, remove obsolete commands New installer: splicing support, forkserver on macOS, global state marshaler performance opt Config/environment: variable expansion in concrete includes, env vars in package_attributes, improve defaults, remove view/hash indirection Bootstrap/parallel: POSIX paths in bootstrap env, forkserver/spawn support, retry with backoff and jitter SBOM: generate SBOMs during package installation (#51760) * Update the glibc_compatibility fixture to match the one from upstream Signed-off-by: Massimiliano Culpo --------- Signed-off-by: Massimiliano Culpo --- .ci/env | 2 +- tests/conftest.py | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.ci/env b/.ci/env index e9328370248..a5aeddddde8 100644 --- a/.ci/env +++ b/.ci/env @@ -1,2 +1,2 @@ -SPACK_CHECKOUT_VERSION=84cb7ff86b42e7fa45476750b6729144c58f70dc +SPACK_CHECKOUT_VERSION=2db324c7d79bc3cd3fe1d38beeb6db39252a3d27 SPACK_CHECKOUT_REPO=spack/spack diff --git a/tests/conftest.py b/tests/conftest.py index 79438d44919..fb0bd82026f 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -567,6 +567,4 @@ def glibc_compatibility(): if spack.platforms.real_host().name != "linux": return - spack.solver.core.using_libc_compatibility = lambda: True - spack.solver.runtimes.using_libc_compatibility = spack.solver.core.using_libc_compatibility - spack.solver.asp.using_libc_compatibility = spack.solver.core.using_libc_compatibility + spack.platforms.using_libc_compatibility = lambda: True From a9b9eb7467042b8eb7a590f9287f487cccd20153 Mon Sep 17 00:00:00 2001 From: Ryan Krattiger <80296582+kwryankrattiger@users.noreply.github.com> Date: Fri, 5 Jun 2026 12:05:17 -0500 Subject: [PATCH 118/180] CI: Add -y to gpg trust (#5083) Spack now requires acknowledgment of keys as they are trusted. CI is headless and so needs to pass -y to trust keys. Signed-off-by: Ryan Krattiger --- .ci/gitlab/configs/ci.yaml | 10 +++++----- .ci/gitlab/configs/win64/ci.yaml | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.ci/gitlab/configs/ci.yaml b/.ci/gitlab/configs/ci.yaml index c548972abde..e9db3e4bb14 100644 --- a/.ci/gitlab/configs/ci.yaml +++ b/.ci/gitlab/configs/ci.yaml @@ -16,10 +16,10 @@ ci: - spack compiler list - - mkdir -p ${SPACK_ARTIFACTS_ROOT}/user_data # AWS runners mount E4S public key (verification), UO runners mount public/private (signing/verification) - - - k=$CI_GPG_KEY_ROOT/e4s.gpg; [[ -r $k ]] && spack gpg trust $k + - - k=$CI_GPG_KEY_ROOT/e4s.gpg; [[ -r $k ]] && spack gpg trust -y $k # UO runners mount intermediate ci public key (verification), AWS runners mount public/private (signing/verification) - - k=$CI_GPG_KEY_ROOT/intermediate_ci_signing_key.gpg; [[ -r $k ]] && spack gpg trust $k - - k=$CI_GPG_KEY_ROOT/spack_public_key.gpg; [[ -r $k ]] && spack gpg trust $k + - k=$CI_GPG_KEY_ROOT/intermediate_ci_signing_key.gpg; [[ -r $k ]] && spack gpg trust -y $k + - k=$CI_GPG_KEY_ROOT/spack_public_key.gpg; [[ -r $k ]] && spack gpg trust -y $k script:: - - if [ -n "$SPACK_EXTRA_MIRROR" ]; then spack mirror add local "${SPACK_EXTRA_MIRROR}/${SPACK_CI_STACK_NAME}"; fi - spack config blame mirrors @@ -72,7 +72,7 @@ ci: - |+ for keyfile in $( find /tmp/public_keys -type f ); do - spack gpg trust $keyfile + spack gpg trust -y $keyfile done - spack gpg publish --update-index --mirror-url ${SPACK_BUILDCACHE_DESTINATION} id_tokens: @@ -94,7 +94,7 @@ ci: - echo Copying environment specs from ${SPACK_COPY_ONLY_SOURCE} to ${SPACK_COPY_ONLY_DESTINATION} - spack buildcache sync "${SPACK_COPY_ONLY_SOURCE}" "${SPACK_COPY_ONLY_DESTINATION}" - curl -fLsS https://spack.github.io/keys/spack-public-binary-key.pub -o /tmp/spack-public-binary-key.pub - - spack gpg trust /tmp/spack-public-binary-key.pub + - spack gpg trust -y /tmp/spack-public-binary-key.pub - spack gpg publish --mirror-url "${SPACK_COPY_ONLY_DESTINATION}" - spack buildcache update-index --keys "${SPACK_COPY_ONLY_DESTINATION}" when: "always" diff --git a/.ci/gitlab/configs/win64/ci.yaml b/.ci/gitlab/configs/win64/ci.yaml index 8caf70dc142..d71f7892024 100644 --- a/.ci/gitlab/configs/win64/ci.yaml +++ b/.ci/gitlab/configs/win64/ci.yaml @@ -14,8 +14,8 @@ ci: - cd ${CI_PROJECT_DIR} - fsutil 8dot3name set C:\ 0 - . ${SPACK_CI_SPACK_ROOT}\share\spack\setup-env.ps1 - - If (Test-Path -path C:\\key\intermediate_ci_signing_key.gpg) { spack.ps1 gpg trust C:\\key\intermediate_ci_signing_key.gpg } - - If (Test-Path -path C:\\key\spack_public_key.gpg) { spack.ps1 gpg trust C:\\key\spack_public_key.gpg } + - If (Test-Path -path C:\\key\intermediate_ci_signing_key.gpg) { spack.ps1 gpg trust -y C:\\key\intermediate_ci_signing_key.gpg } + - If (Test-Path -path C:\\key\spack_public_key.gpg) { spack.ps1 gpg trust -y C:\\key\spack_public_key.gpg } script:: - spack.ps1 env activate --without-view ${SPACK_CONCRETE_ENV_DIR} From 603875d235efda767fa5db60fb01c137fd1f84a1 Mon Sep 17 00:00:00 2001 From: wspear Date: Fri, 5 Jun 2026 20:02:51 -0700 Subject: [PATCH 119/180] e4s_cl: Add version 1.0.9 (#5091) --- repos/spack_repo/builtin/packages/e4s_cl/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/e4s_cl/package.py b/repos/spack_repo/builtin/packages/e4s_cl/package.py index 7d528a3a2a3..b2b93ce8eab 100644 --- a/repos/spack_repo/builtin/packages/e4s_cl/package.py +++ b/repos/spack_repo/builtin/packages/e4s_cl/package.py @@ -23,6 +23,7 @@ class E4sCl(PythonPackage): license("MIT") version("master", branch="master") + version("1.0.9", sha256="60a06417a98b7760e3d2ad911a6259eb516b28cd334a03cc84bb8c6d41ba1240") version("1.0.8", sha256="b2bdb042db5f3106cc0a4c79781d03299828f9839a3903d1559c2c4a3e20a67c") version("1.0.5", commit="33b659e80a5b47a6b3e730e9eb67d1431b112587") version("1.0.4", commit="9781a62af20f951e3c2c19a522f4fc16d20a256e") From 8dce4780d050a4c91e77672b197ca49871df5419 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Lacroix?= Date: Sat, 6 Jun 2026 06:58:40 +0200 Subject: [PATCH 120/180] trivy: add v0.71.0 (#5080) --- repos/spack_repo/builtin/packages/trivy/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/repos/spack_repo/builtin/packages/trivy/package.py b/repos/spack_repo/builtin/packages/trivy/package.py index 2ed6edf9899..f4764a43a25 100644 --- a/repos/spack_repo/builtin/packages/trivy/package.py +++ b/repos/spack_repo/builtin/packages/trivy/package.py @@ -17,6 +17,7 @@ class Trivy(GoPackage): license("Apache-2.0", checked_by="RobertMaaskant") + version("0.71.0", sha256="922f2e818849201df66fecdc9cf8b5f5d315130e476c1460621ab447db7d744f") version("0.70.0", sha256="ff9ac06468aab89802388f16d1d179f4680db714afbf6a8132a417d288aa008e") version("0.69.3", sha256="3ca5fa62932273dd7eef3b6ec762625da42304ebb8f13e4be9fdd61545ca1773") version("0.64.1", sha256="9e23c90bd1afd9c369f1582712907e8e0652c8f5825e599850183af174c65666") @@ -27,6 +28,7 @@ class Trivy(GoPackage): version("0.61.1", sha256="f6ad43e008c008d67842c9e2b4af80c2e96854db8009fba48fc37b4f9b15f59b") version("0.61.0", sha256="1e97b1b67a4c3aee9c567534e60355033a58ce43a3705bdf198d7449d53b6979") + depends_on("go@1.26.3:", type="build", when="@0.71.0:") depends_on("go@1.25.8:", type="build", when="@0.70.0:") depends_on("go@1.25.6:", type="build", when="@0.69.1:") depends_on("go@1.24.4:", type="build", when="@0.64:") From c084f33140c15d3c56b00531fbcd0b25b8be0913 Mon Sep 17 00:00:00 2001 From: Matt Thompson Date: Sat, 6 Jun 2026 01:37:27 -0400 Subject: [PATCH 121/180] nco: Add v5.3.5 to v5.3.9, add zstd (#5100) --- repos/spack_repo/builtin/packages/nco/package.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/repos/spack_repo/builtin/packages/nco/package.py b/repos/spack_repo/builtin/packages/nco/package.py index 9cbc4196ce0..b6c2b0ec175 100644 --- a/repos/spack_repo/builtin/packages/nco/package.py +++ b/repos/spack_repo/builtin/packages/nco/package.py @@ -20,6 +20,11 @@ class Nco(AutotoolsPackage): license("BSD-3-Clause") + version("5.3.9", sha256="705ffa98a78d468cdfaa5858f09213142265120fc26a78249a442ae2fa92ae96") + version("5.3.8", sha256="f23b0b95525473d305ab15b96266d1458e3dfa193b9ee701af826913602d473d") + version("5.3.7", sha256="f1103219bfddd838b80a326793c165a17f21ec612c9520342e34d556a6d012e5") + version("5.3.6", sha256="70d64f461a0d5262274495ee1a9d85735aa3115281fdf01df4f946a919f9f6ae") + version("5.3.5", sha256="f2373b68279ff48b5cacf431f6a9f459bae75dc58d76f74cbff0834938aa6224") version("5.3.4", sha256="265059157ab4e64e73b6aad96da1e09427ba8a03ed3e2348d0a5deb57cf76006") version("5.3.3", sha256="f9185e115e246fe884dcae0804146b56df7257f53de7ba190fea66977ccd5a64") version("5.3.2", sha256="645179433e0f54e7e6fefa9fcc74c1866ad55dd69f0fccbc262c550fcc186385") @@ -83,6 +88,7 @@ class Nco(AutotoolsPackage): depends_on("antlr@2.7.7+cxx") # required for ncap2 depends_on("gsl") # desirable for ncap2 depends_on("udunits") # allows dimensional unit transformations + depends_on("zstd") depends_on("flex", type="build") depends_on("bison", type="build") From ae4400c6e72c12e61a176125ce4f77f1e88e73fd Mon Sep 17 00:00:00 2001 From: "Seth R. Johnson" Date: Sun, 7 Jun 2026 17:57:14 -0400 Subject: [PATCH 122/180] OpenBLAS: fix crash in downstream numpy startup on macOS (#4961) * Fix reversal of openblas arch map * delete redundant policy * Qualify locking with version * openblas: fix macos by avoiding miroarch target pathway * Revert unrelated changes * Add maintainer --- .../builtin/packages/openblas/package.py | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/repos/spack_repo/builtin/packages/openblas/package.py b/repos/spack_repo/builtin/packages/openblas/package.py index 1559d2c1040..cde6252ce91 100644 --- a/repos/spack_repo/builtin/packages/openblas/package.py +++ b/repos/spack_repo/builtin/packages/openblas/package.py @@ -21,7 +21,7 @@ class Openblas(CMakePackage, MakefilePackage): ) git = "https://github.com/OpenMathLib/OpenBLAS.git" - maintainers("mathomp4") + maintainers("mathomp4", "sethrj") libraries = ["libopenblas", "openblas"] @@ -555,8 +555,23 @@ def make_defs(self): else: make_defs.append("MAKE_NB_JOBS=0") # flag provided by OpenBLAS - # Add target and architecture flags - make_defs += self._microarch_target_args() + if self.spec.satisfies("target=m1:"): + # Use custom simplified target for macOS ARM procesors: + # GENERIC target results in SIGILL + make_defs += [ + "TARGET=VORTEX", + "NO_SVE=1", + ] + else: + # Try to intelligently add target and architecture flags + make_defs += self._microarch_target_args() + + # Prevent errors in `as` assembler from newer instructions + if self.spec.satisfies("%gcc@:4.8.4"): + make_defs.append("NO_AVX2=1") + + if not self.spec.satisfies("target=x86_64_v4:"): + make_defs.append("NO_AVX512=1") if self.spec.satisfies("+dynamic_dispatch"): make_defs += ["DYNAMIC_ARCH=1"] @@ -608,10 +623,6 @@ def make_defs(self): if self.spec.satisfies("+fortran%clang"): make_defs.append("TIMER=INT_CPU_TIME") - # Prevent errors in `as` assembler from newer instructions - if self.spec.satisfies("%gcc@:4.8.4"): - make_defs.append("NO_AVX2=1") - # Fujitsu Compiler dose not add Fortran runtime in rpath. if self.spec.satisfies("%fj"): make_defs.append("LDFLAGS=-lfj90i -lfj90f -lfjsrcinfo -lelf") @@ -624,19 +635,11 @@ def make_defs(self): if self.spec.satisfies("+bignuma"): make_defs.append("BIGNUMA=1") - if not self.spec.satisfies("target=x86_64_v4:"): - make_defs.append("NO_AVX512=1") - # Avoid that NUM_THREADS gets initialized with the host's number of CPUs. if self.spec.satisfies("threads=openmp") or self.spec.satisfies("threads=pthreads"): max_num_threads = self.spec.variants["max_num_threads"].value make_defs.append("NUM_THREADS={0}".format(max_num_threads)) - # Fix https://github.com/OpenMathLib/OpenBLAS/issues/4212 - # Following https://github.com/OpenMathLib/OpenBLAS/pull/4214 - if self.spec.satisfies("platform=darwin target=aarch64: %gcc"): - make_defs.append("NO_SVE=1") - return make_defs def build(self, pkg: MakefilePackage, spec: Spec, prefix: Prefix) -> None: From a4cdad789177f64d3f5eb1a460644ebec1d3fb4a Mon Sep 17 00:00:00 2001 From: Manuela Kuhn <36827019+manuelakuhn@users.noreply.github.com> Date: Mon, 8 Jun 2026 05:53:02 +0200 Subject: [PATCH 123/180] py-datalad: add v1.5.0 (#5098) --- .../builtin/packages/py_datalad/package.py | 2 ++ .../packages/py_pytest_reportlog/package.py | 27 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/py_pytest_reportlog/package.py diff --git a/repos/spack_repo/builtin/packages/py_datalad/package.py b/repos/spack_repo/builtin/packages/py_datalad/package.py index 563e324552e..45bad78beda 100644 --- a/repos/spack_repo/builtin/packages/py_datalad/package.py +++ b/repos/spack_repo/builtin/packages/py_datalad/package.py @@ -22,6 +22,7 @@ class PyDatalad(PythonPackage): pypi = "datalad/datalad-0.14.6.tar.gz" git = "https://github.com/datalad/datalad.git" + version("1.5.0", sha256="30dcbb393170bff55348496d8a17cb641874f7fef2cc347ce94b30aa4d3c3588") version("1.4.0", sha256="4f663b76eb5ffc560d747c9c4bcfe23e59afc62a0029557dac4f53ceec638833") version("1.2.3", sha256="48f19d3e4fc7b2725240e6c47d6710f3bc46ad6b42455ff76dd3f6e34226f39f") version("1.2.1", sha256="4d9f7ffe7a8a7b7eced97ba3d2d2257d527d4218c73ddf7e74eb343cf970d925") @@ -107,6 +108,7 @@ class PyDatalad(PythonPackage): depends_on("py-pytest@7", when="@0.17.0:0.17.8") depends_on("py-pytest-cov", when="@0.17.9:") depends_on("py-pytest-cov@3", when="@0.17.0:0.17.8") + depends_on("py-pytest-reportlog", when="@1.5:") depends_on("py-pytest-retry", when="@1.2.2:") depends_on("py-pytest-fail-slow@0.2:0", when="@0.17:") depends_on("py-types-python-dateutil", when="@0.17.4:") diff --git a/repos/spack_repo/builtin/packages/py_pytest_reportlog/package.py b/repos/spack_repo/builtin/packages/py_pytest_reportlog/package.py new file mode 100644 index 00000000000..80e818b4886 --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_pytest_reportlog/package.py @@ -0,0 +1,27 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyPytestReportlog(PythonPackage): + """Replacement for the --resultlog option, focused in simplicity and extensibility.""" + + homepage = "https://github.com/pytest-dev/pytest-reportlog" + pypi = "pytest_reportlog/pytest_reportlog-1.0.0.tar.gz" + + license("MIT") + + version("1.0.0", sha256="75aec3a92bb53456c3e028605a636579d26f31c6f1e035ad9f706c203cfcb74e") + + with default_args(type="build"): + depends_on("py-hatchling") + depends_on("py-hatch-vcs") + + with default_args(type=("build", "run")): + depends_on("python@3.10:") + + depends_on("py-pytest") From efce2569e74d40aaa71e7d7655af1f1e38dca41e Mon Sep 17 00:00:00 2001 From: Doug Torrance Date: Sun, 7 Jun 2026 23:53:59 -0400 Subject: [PATCH 124/180] mathicgb: add v1.4 (#5119) --- repos/spack_repo/builtin/packages/mathicgb/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/mathicgb/package.py b/repos/spack_repo/builtin/packages/mathicgb/package.py index e2ffda453db..8464c65cedd 100644 --- a/repos/spack_repo/builtin/packages/mathicgb/package.py +++ b/repos/spack_repo/builtin/packages/mathicgb/package.py @@ -21,6 +21,7 @@ class Mathicgb(AutotoolsPackage): license("GPL-2.0-or-later", checked_by="d-torrance") + version("1.4", sha256="3c13033762fc8e26c6c47e8e2e8557fcbae030f7514372dc47b0c71272b7304e") version("1.3", sha256="d700c6d6d65f6d8c5c40d79e1012f1e60e6e2114100ce73a719be93770bd23d9") version("1.2", sha256="5052ea8b175658a018d51cecef6c8d31f103ca3a7254b3690b4dbf80cbf0322e") version("1.1", sha256="c756c2265df23fb7417f073cf09d63f05e093eb8136bf33904cec04eac24d5b3") From 73fde59703ca0e51339c67b47bceb4c9a9632f46 Mon Sep 17 00:00:00 2001 From: Doug Torrance Date: Sun, 7 Jun 2026 23:54:58 -0400 Subject: [PATCH 125/180] mathic: add v1.4 (#5118) --- repos/spack_repo/builtin/packages/mathic/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/mathic/package.py b/repos/spack_repo/builtin/packages/mathic/package.py index 21c4a3749c0..82e03533ec9 100644 --- a/repos/spack_repo/builtin/packages/mathic/package.py +++ b/repos/spack_repo/builtin/packages/mathic/package.py @@ -23,6 +23,7 @@ class Mathic(AutotoolsPackage): license("LGPL-2.0-or-later", checked_by="d-torrance") + version("1.4", sha256="722ab0cc970a251040597975d7700576060f031b2dc4f4465ff59d5bc604ede0") version("1.3", sha256="cb0503e2ade2090bd04cc247d11f127c51703082cba0b6e14116faf2c93e4050") version("1.2", sha256="1a7d459290e9183e0934a6dd2278db372b831b37fdb4a6f1db7e02e0f380fe1a") version("1.1", sha256="2499fb3df3c2f8a201ae5627cad95538aaabee0eee235002b8737bdb842b694a") From 1b13db6fed149d005baa1e7892cc47e354464a0a Mon Sep 17 00:00:00 2001 From: Doug Torrance Date: Sun, 7 Jun 2026 23:55:19 -0400 Subject: [PATCH 126/180] memtailor: add v1.4 (#5117) --- repos/spack_repo/builtin/packages/memtailor/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/memtailor/package.py b/repos/spack_repo/builtin/packages/memtailor/package.py index fea64946626..925abf54519 100644 --- a/repos/spack_repo/builtin/packages/memtailor/package.py +++ b/repos/spack_repo/builtin/packages/memtailor/package.py @@ -24,6 +24,7 @@ class Memtailor(AutotoolsPackage): license("BSD-3-Clause", checked_by="d-torrance") + version("1.4", sha256="4d5baebf701b04b44201b75831f451305b572a5bc39235a94567ad4e59ad6cdc") version("1.3", sha256="10f0c016e67912be1711a54b18c54d7024c8bfcaf0f279e11187402994150a20") version("1.2", sha256="86cd8f888d23f53256937b47cebe8430daeb8146ca9816c4d3aef0fc5ebc702b") version("1.1", sha256="ce0dc2e5befd1e1f65c99510bc68ddc5b60f13066eac12ec5ce4e1da822e44eb") From 599874d0ccdf24d68951137e5b0e31ec0424f07e Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Mon, 8 Jun 2026 04:02:19 +0000 Subject: [PATCH 127/180] py-fakeredis: new package (#5036) * py-fakeredis: add new package * py-fakeredis: add license --- .../builtin/packages/py_fakeredis/package.py | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/py_fakeredis/package.py diff --git a/repos/spack_repo/builtin/packages/py_fakeredis/package.py b/repos/spack_repo/builtin/packages/py_fakeredis/package.py new file mode 100644 index 00000000000..0489f806d74 --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_fakeredis/package.py @@ -0,0 +1,32 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyFakeredis(PythonPackage): + """Python implementation of redis API, can be used for testing purposes.""" + + homepage = "https://github.com/cunla/fakeredis-py" + pypi = "fakeredis/fakeredis-2.35.0.tar.gz" + + license("BSD-3-Clause") + + version("2.35.1", sha256="5bae5eba7b9d93cb968944ac40936373cf2397ff71667d4b595df65c3d2e413f") + + variant("lua", default=False, description="Enable Lua scripting support") + + depends_on("python@3.9:", type=("build", "run")) + depends_on("py-hatchling", type="build") + + depends_on("py-redis@:7.1", type=("build", "run"), when="^python@:3.9") + depends_on("py-redis@4.3:", type=("build", "run"), when="^python@3.9:") + depends_on("py-redis@4:", type=("build", "run"), when="^python@:3.7") + depends_on("py-sortedcontainers@2:", type=("build", "run")) + depends_on("py-typing-extensions@4.7:", type=("build", "run"), when="^python@:3.10") + + depends_on("py-lupa@2.1:", type=("build", "run"), when="+lua") From 20b5152363504edb96ca44fd7a442ba618dd32a9 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Mon, 8 Jun 2026 14:11:06 +0200 Subject: [PATCH 128/180] ecflow, yaml_cpp: deprecate old versions (#5107) Signed-off-by: Massimiliano Culpo --- repos/spack_repo/builtin/packages/ecflow/package.py | 13 ++++++++++--- .../spack_repo/builtin/packages/yaml_cpp/package.py | 8 ++++++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/repos/spack_repo/builtin/packages/ecflow/package.py b/repos/spack_repo/builtin/packages/ecflow/package.py index 43fd6b444e5..dd66c056598 100644 --- a/repos/spack_repo/builtin/packages/ecflow/package.py +++ b/repos/spack_repo/builtin/packages/ecflow/package.py @@ -27,9 +27,16 @@ class Ecflow(CMakePackage): version("5.11.4", sha256="4836a876277c9a65a47a3dc87cae116c3009699f8a25bab4e3afabf160bcf212") version("5.8.4", sha256="bc628556f8458c269a309e4c3b8d5a807fae7dfd415e27416fe9a3f544f88951") version("5.8.3", sha256="1d890008414017da578dbd5a95cb1b4d599f01d5a3bb3e0297fe94a87fbd81a6") - version("4.13.0", sha256="c743896e0ec1d705edd2abf2ee5a47f4b6f7b1818d8c159b521bdff50a403e39") - version("4.12.0", sha256="566b797e8d78e3eb93946b923ef540ac61f50d4a17c9203d263c4fd5c39ab1d1") - version("4.11.1", sha256="b3bcc1255939f87b9ba18d802940e08c0cf6379ca6aeec1fef7bd169b0085d6c") + with default_args(deprecated=True): + version( + "4.13.0", sha256="c743896e0ec1d705edd2abf2ee5a47f4b6f7b1818d8c159b521bdff50a403e39" + ) + version( + "4.12.0", sha256="566b797e8d78e3eb93946b923ef540ac61f50d4a17c9203d263c4fd5c39ab1d1" + ) + version( + "4.11.1", sha256="b3bcc1255939f87b9ba18d802940e08c0cf6379ca6aeec1fef7bd169b0085d6c" + ) variant("ssl", default=True, description="Enable SSL") variant( diff --git a/repos/spack_repo/builtin/packages/yaml_cpp/package.py b/repos/spack_repo/builtin/packages/yaml_cpp/package.py index 05ca9b59b0a..599524d89f8 100644 --- a/repos/spack_repo/builtin/packages/yaml_cpp/package.py +++ b/repos/spack_repo/builtin/packages/yaml_cpp/package.py @@ -25,8 +25,12 @@ class YamlCpp(CMakePackage): version("0.7.0", sha256="43e6a9fcb146ad871515f0d0873947e5d497a1c9c60c58cb102a97b47208b7c3") version("0.6.3", sha256="77ea1b90b3718aa0c324207cb29418f5bced2354c2e483a9523d98c3460af1ed") version("0.6.2", sha256="e4d8560e163c3d875fd5d9e5542b5fd5bec810febdcba61481fe5fc4e6b1fd05") - version("0.5.3", sha256="decc5beabb86e8ed9ebeb04358d5363a5c4f72d458b2c788cb2f3ac9c19467b2") - version("0.3.0", sha256="ab8d0e07aa14f10224ed6682065569761f363ec44bc36fcdb2946f6d38fe5a89") + with default_args(deprecated=True): + version( + "0.5.3", + sha256="decc5beabb86e8ed9ebeb04358d5363a5c4f72d458b2c788cb2f3ac9c19467b2", + ) + version("0.3.0", sha256="ab8d0e07aa14f10224ed6682065569761f363ec44bc36fcdb2946f6d38fe5a89") variant("shared", default=True, description="Build shared instead of static libraries") variant("pic", default=True, description="Build with position independent code") From aeaee3b2e5241d7c793ada6f36f973aea5dbc267 Mon Sep 17 00:00:00 2001 From: Matthew Mehrtens <12023414+mcmehrtens@users.noreply.github.com> Date: Mon, 8 Jun 2026 09:20:59 -0600 Subject: [PATCH 129/180] tree-sitter: add 0.26.4:0.26.9 and clean up the dependencies and install logic (#5115) --- .../builtin/packages/tree_sitter/package.py | 37 ++++++++++++------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/repos/spack_repo/builtin/packages/tree_sitter/package.py b/repos/spack_repo/builtin/packages/tree_sitter/package.py index ee23e31c27d..523afcea63d 100644 --- a/repos/spack_repo/builtin/packages/tree_sitter/package.py +++ b/repos/spack_repo/builtin/packages/tree_sitter/package.py @@ -15,11 +15,18 @@ class TreeSitter(MakefilePackage): homepage = "https://tree-sitter.github.io/tree-sitter/" url = "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.20.1.tar.gz" + supplier = "Organization: tree-sitter" maintainers("albestro") - license("MIT") + license("MIT", checked_by="mcmehrtens", when="@0.14:") + version("0.26.9", sha256="8e14780500933f43d86662fcaa1b0ce99ebe9c220f4680bc929dce09a0e0cfc6") + version("0.26.8", sha256="e6826b7533ec3a885aba598377a6d20b5a6321ff3db76968e960c2352d3a5077") + version("0.26.7", sha256="4343107ad1097a35e106092b79e5dd87027142c6fba5e4486b1d1d44d5499f84") + version("0.26.6", sha256="b4218185a48a791d4022ab3969709e271a70a0253e94792abbcf18d7fcf4291c") + version("0.26.5", sha256="8e012493b2103e0471d3aba8048b73bc1a3138132974e2fd8bfb89a63e62f478") + version("0.26.4", sha256="08932434d4cf8472a63579253937c302dd97765c65febd59631860905fd3cbf7") version("0.26.3", sha256="7f4a7cf0a2cd217444063fe2a4d800bc9d21ed609badc2ac20c0841d67166550") version("0.26.2", sha256="3cda4166a049fc736326941d6f20783b698518b0f80d8735c7754a6b2d173d9a") version("0.25.3", sha256="862fac52653bc7bc9d2cd0630483e6bdf3d02bcd23da956ca32663c4798a93e3") @@ -54,7 +61,14 @@ class TreeSitter(MakefilePackage): depends_on("c", type="build") with when("+cli"): - depends_on("rust", type="build", when="+cli") + depends_on("rust", type="build") + + # minimum rust versions from `rust-version` in the upstream Cargo.toml + depends_on("rust@1.84:", type="build", when="@0.26:") + depends_on("rust@1.82:", type="build", when="@0.25") + depends_on("rust@1.74.1:", type="build", when="@0.22:0.24") + depends_on("rust@1.70:", type="build", when="@0.21") + depends_on("rust@1.65:", type="build", when="@0.20.8:0.20") # tree-sitter-cli needs a c compiler and a javascript runtime # https://tree-sitter.github.io/tree-sitter/creating-parsers/1-getting-started.html#dependencies @@ -71,22 +85,17 @@ class TreeSitter(MakefilePackage): when="@0.26:0.26.3", ) - def setup_build_environment(self, env): - env.set("PREFIX", self.prefix) - + def flag_handler(self, name, flags): # Starting from 0.25 endianness is taken into account using system headers # https://github.com/tree-sitter/tree-sitter/pull/3740 # but GLIBC provides them according to some defines that changed over time. # https://www.sourceware.org/glibc/wiki/Release/2.20#Deprecation_of__BSD_SOURCE_and__SVID_SOURCE_feature_macros - if self.spec.satisfies("@0.25 ^glibc@:2.19"): - env.append_flags("CFLAGS", "-D_BSD_SOURCE") - - def build(self, spec, prefix): - super().build(spec, prefix) + if name == "cflags" and self.spec.satisfies("@0.25 ^glibc@:2.19"): + flags.append("-D_BSD_SOURCE") + return (flags, None, None) - if spec.satisfies("+cli"): - cargo = Executable("cargo") - cargo("build") + def setup_build_environment(self, env): + env.set("PREFIX", self.prefix) def install(self, spec, prefix): super().install(spec, prefix) @@ -98,4 +107,4 @@ def install(self, spec, prefix): else: crate_cli_path = "cli" - cargo("install", "--root", prefix, "--path", crate_cli_path) + cargo("install", "--locked", "--root", prefix, "--path", crate_cli_path) From 67a67854dae784ed35062f9506145962387240bb Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 8 Jun 2026 10:30:44 -0600 Subject: [PATCH 130/180] nvpl-lapack: add v0.3.1.1, v0.3.2 (#4998) --- repos/spack_repo/builtin/packages/nvpl_lapack/package.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/nvpl_lapack/package.py b/repos/spack_repo/builtin/packages/nvpl_lapack/package.py index 39160dde50a..ee9753bb464 100644 --- a/repos/spack_repo/builtin/packages/nvpl_lapack/package.py +++ b/repos/spack_repo/builtin/packages/nvpl_lapack/package.py @@ -21,8 +21,12 @@ class NvplLapack(Package): maintainers("albestro", "rasolca") - license("UNKNOWN") + redistribute(source=False, binary=False) + license("NVIDIA Software License Agreement") + + version("0.3.2", sha256="3e4d9969223a52ab011d1bf38156cbe31fba0e4f12c3b87729393972a16daecf") + version("0.3.1.1", sha256="f5b916aa36a8549946fc2262acebb082fe8c463bd1523a3c0cc2c93527231653") version("0.3.0", sha256="41cc18fc52f6869747b4185a96e34de93a53eb9d6aa95aab07082958055161b0") version("0.2.3.1", sha256="25927df133c5486fd71d5976c93917c96e62275a78dffc354bcaf1b022f56f8e") version("0.2.2.1", sha256="cdfbf69517a044e99e3e6231c8b2f4e845fd0de57775ccad6b4b0b4fe7e91e84") @@ -41,6 +45,8 @@ class NvplLapack(Package): multi=False, ) + depends_on("c", type="build") # for enforcing compiler restrictions + requires("target=armv8.2a:", msg="Any CPU with Arm-v8.2a+ microarch") # propagate variants for depends_on("nvpl-blas") From 23083cd7974c505ce0b66183ebaaa05b0ab02a9e Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Mon, 8 Jun 2026 10:30:50 -0600 Subject: [PATCH 131/180] nvpl-blas: add newer versions 0.4.1.1 and 0.5.0.1 (#4995) --- repos/spack_repo/builtin/packages/nvpl_blas/package.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/nvpl_blas/package.py b/repos/spack_repo/builtin/packages/nvpl_blas/package.py index f16ea292f41..cc041a5d7c7 100644 --- a/repos/spack_repo/builtin/packages/nvpl_blas/package.py +++ b/repos/spack_repo/builtin/packages/nvpl_blas/package.py @@ -21,8 +21,12 @@ class NvplBlas(Package): maintainers("albestro", "rasolca") - license("UNKNOWN") + redistribute(source=False, binary=False) + license("NVIDIA Software License Agreement") + + version("0.5.0.1", sha256="c51fc9cc908cca7c6aa39e72c492c2bfcc9472b542b109b6bcfa5d143f9d780e") + version("0.4.1.1", sha256="57704e2e211999c899bca26346b946b881b609554914245131b390410f7b93e8") version("0.4.0.1", sha256="6655898327ed36afd0242719075447058c3c89640b5b9bbfeb5af4dd5c101174") version("0.3.0", sha256="b51cb199a440c1e8673d3d845d395950c9a9020d4e83af2655eb96c23c6ec90d") version("0.2.0.1", sha256="ba29f6a9d3831b6ae5c9265b4d124c13b9b9e0faea025359b02b41ad230975c2") From 76e8b6f94fb2d3ad33de0dbdc77e4bb518170c56 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Mon, 8 Jun 2026 09:43:38 -0700 Subject: [PATCH 132/180] py-anyio: add python@3.8: constraint (#5065) Signed-off-by: Alec Scott --- repos/spack_repo/builtin/packages/py_anyio/package.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/repos/spack_repo/builtin/packages/py_anyio/package.py b/repos/spack_repo/builtin/packages/py_anyio/package.py index 52521ce659c..292224659f2 100644 --- a/repos/spack_repo/builtin/packages/py_anyio/package.py +++ b/repos/spack_repo/builtin/packages/py_anyio/package.py @@ -25,6 +25,10 @@ class PyAnyio(PythonPackage): version("3.3.4", sha256="67da67b5b21f96b9d3d65daa6ea99f5d5282cb09f50eb4456f8fb51dffefc3ff") version("3.2.1", sha256="07968db9fa7c1ca5435a133dc62f988d84ef78e1d9b22814a59d1c62618afbc5") + depends_on("python@3.8:", when="@4:") + depends_on("python@3.9:", when="@4.6:") + depends_on("python@3.10:", when="@4.13:") + with default_args(type="build"): depends_on("py-setuptools@77:", when="@4.12:") depends_on("py-setuptools@64:", when="@3.7:") From 1b13532cdcb78de32ef23a83a05d2ab144bd0702 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 8 Jun 2026 19:09:23 +0200 Subject: [PATCH 133/180] py-aiohttp: add v3.14.0 (#5084) * py-aiohttp: add v3.14.0 Signed-off-by: Adam J. Stewart * Ruff Signed-off-by: Adam J. Stewart --------- Signed-off-by: Adam J. Stewart --- repos/spack_repo/builtin/packages/py_aiohttp/package.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/py_aiohttp/package.py b/repos/spack_repo/builtin/packages/py_aiohttp/package.py index 0670f75ceec..2fec2269649 100644 --- a/repos/spack_repo/builtin/packages/py_aiohttp/package.py +++ b/repos/spack_repo/builtin/packages/py_aiohttp/package.py @@ -20,8 +20,13 @@ class PyAiohttp(PythonPackage): license("Apache-2.0 AND MIT", when="@3.13:") license("Apache-2.0", when="@:3.12") - version("3.13.5", sha256="9d98cc980ecc96be6eb4c1994ce35d28d8b1f5e5208a23b421187d1209dbb7d1") + version("3.14.0", sha256="2882de819734c715fd1b9c11c97e09fa020d14438203d1d354d8ed1702791c9b") with default_args(deprecated=True): + # https://www.cve.org/CVERecord?id=CVE-2026-47265 + # https://www.cve.org/CVERecord?id=CVE-2026-34993 + version( + "3.13.5", sha256="9d98cc980ecc96be6eb4c1994ce35d28d8b1f5e5208a23b421187d1209dbb7d1" + ) # https://www.cvedetails.com/cve/CVE-2025-69230/ # https://www.cvedetails.com/cve/CVE-2025-69229/ # https://www.cvedetails.com/cve/CVE-2025-69228/ From 6a4d9a081e2a356da79a94fc8c84e71c0c94ecc8 Mon Sep 17 00:00:00 2001 From: Gerhard Theurich Date: Mon, 8 Jun 2026 12:08:23 -0700 Subject: [PATCH 134/180] Cover ESMX and ESMPy in the ESMF package description. (#4963) --- .../spack_repo/builtin/packages/esmf/package.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/esmf/package.py b/repos/spack_repo/builtin/packages/esmf/package.py index 914a8217597..84e4140d503 100644 --- a/repos/spack_repo/builtin/packages/esmf/package.py +++ b/repos/spack_repo/builtin/packages/esmf/package.py @@ -18,9 +18,24 @@ class Esmf(MakefilePackage, PythonExtension): related Earth science applications. The ESMF defines an architecture for composing complex, coupled modeling systems and includes data structures and utilities for developing individual models. + The National Unified Operational Prediction Capability (NUOPC) Layer defines a common model architecture to support interoperable ESMF components. - The NUOPC Layer is included with the ESMF package.""" + The NUOPC Layer is included with the ESMF package. + + ESMX (Earth System Modeling eXecutable) extends this infrastructure by + providing a unified, runtime executable layer. It simplifies the deployment + of NUOPC-compliant components by allowing users to configure, drive, and + execute coupled earth system models dynamically via YAML configuration files, + reducing the need to write custom top-level application and driver code. + ESMX is included with the ESMF package. + + ESMPy is a Python interface to the ESMF gridding engine. It allows for + high-performance, parallel regridding of fields between structured grids, + unstructured meshes, and observational data streams directly within Python + workflows. This bridges native ESMF capabilities with the broader Python + data science ecosystem. + ESMPy is included with the ESMF package.""" homepage = "https://earthsystemmodeling.org/" url = "https://github.com/esmf-org/esmf/archive/v8.4.1.tar.gz" From 00d5403a4c4e234c96d6e6884222f32c5adb15ba Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Tue, 9 Jun 2026 05:29:09 +0200 Subject: [PATCH 135/180] Deprecate all the `cbtf` packages and dependents (#5121) After an analysis of packages depending on old boost versions it seems these packages are unmaintained, and upstream development stopped around 2018. `openspeedshop` in particular seems to be tied to very old versions of `binutils` and Python 2. Signed-off-by: Massimiliano Culpo --- repos/spack_repo/builtin/packages/cbtf/package.py | 9 +++++---- .../builtin/packages/cbtf_argonavis/package.py | 9 +++++---- .../builtin/packages/cbtf_argonavis_gui/package.py | 5 +++-- repos/spack_repo/builtin/packages/cbtf_krell/package.py | 9 +++++---- repos/spack_repo/builtin/packages/cbtf_lanl/package.py | 9 +++++---- 5 files changed, 23 insertions(+), 18 deletions(-) diff --git a/repos/spack_repo/builtin/packages/cbtf/package.py b/repos/spack_repo/builtin/packages/cbtf/package.py index 99b9ee73069..e28021be272 100644 --- a/repos/spack_repo/builtin/packages/cbtf/package.py +++ b/repos/spack_repo/builtin/packages/cbtf/package.py @@ -22,10 +22,11 @@ class Cbtf(CMakePackage): license("GPL-2.0-only") - version("develop", branch="master") - version("1.9.4.1", branch="1.9.4.1") - version("1.9.4", branch="1.9.4") - version("1.9.3", branch="1.9.3") + with default_args(deprecated=True): + version("develop", branch="master") + version("1.9.4.1", branch="1.9.4.1") + version("1.9.4", branch="1.9.4") + version("1.9.3", branch="1.9.3") variant( "runtime", default=False, description="build only the runtime libraries and collectors." diff --git a/repos/spack_repo/builtin/packages/cbtf_argonavis/package.py b/repos/spack_repo/builtin/packages/cbtf_argonavis/package.py index d84c04f0d3d..14b282009a1 100644 --- a/repos/spack_repo/builtin/packages/cbtf_argonavis/package.py +++ b/repos/spack_repo/builtin/packages/cbtf_argonavis/package.py @@ -18,10 +18,11 @@ class CbtfArgonavis(CMakePackage): maintainers("jgalarowicz") - version("develop", branch="master") - version("1.9.4.1", branch="1.9.4.1") - version("1.9.4", branch="1.9.4") - version("1.9.3", branch="1.9.3") + with default_args(deprecated=True): + version("develop", branch="master") + version("1.9.4.1", branch="1.9.4.1") + version("1.9.4", branch="1.9.4") + version("1.9.3", branch="1.9.3") variant( "crayfe", diff --git a/repos/spack_repo/builtin/packages/cbtf_argonavis_gui/package.py b/repos/spack_repo/builtin/packages/cbtf_argonavis_gui/package.py index e1162f4a56e..73170ef8544 100644 --- a/repos/spack_repo/builtin/packages/cbtf_argonavis_gui/package.py +++ b/repos/spack_repo/builtin/packages/cbtf_argonavis_gui/package.py @@ -20,8 +20,9 @@ class CbtfArgonavisGui(QMakePackage): maintainers("jgalarowicz") - version("develop", branch="master") - version("1.3.0.0", branch="1.3.0.0") + with default_args(deprecated=True): + version("develop", branch="master") + version("1.3.0.0", branch="1.3.0.0") depends_on("cxx", type="build") # generated diff --git a/repos/spack_repo/builtin/packages/cbtf_krell/package.py b/repos/spack_repo/builtin/packages/cbtf_krell/package.py index aa391a40651..98661b115b6 100644 --- a/repos/spack_repo/builtin/packages/cbtf_krell/package.py +++ b/repos/spack_repo/builtin/packages/cbtf_krell/package.py @@ -19,10 +19,11 @@ class CbtfKrell(CMakePackage): maintainers("jgalarowicz") - version("develop", branch="master") - version("1.9.4.1", branch="1.9.4.1") - version("1.9.4", branch="1.9.4") - version("1.9.3", branch="1.9.3") + with default_args(deprecated=True): + version("develop", branch="master") + version("1.9.4.1", branch="1.9.4.1") + version("1.9.4", branch="1.9.4") + version("1.9.3", branch="1.9.3") # MPI variants variant( diff --git a/repos/spack_repo/builtin/packages/cbtf_lanl/package.py b/repos/spack_repo/builtin/packages/cbtf_lanl/package.py index 10d9df264e7..6d165244ad4 100644 --- a/repos/spack_repo/builtin/packages/cbtf_lanl/package.py +++ b/repos/spack_repo/builtin/packages/cbtf_lanl/package.py @@ -16,10 +16,11 @@ class CbtfLanl(CMakePackage): maintainers("jgalarowicz") - version("develop", branch="master") - version("1.9.4.1", branch="1.9.4.1") - version("1.9.4", branch="1.9.4") - version("1.9.3", branch="1.9.3") + with default_args(deprecated=True): + version("develop", branch="master") + version("1.9.4.1", branch="1.9.4.1") + version("1.9.4", branch="1.9.4") + version("1.9.3", branch="1.9.3") variant( "build_type", From f4547157a04d936f58d48196ad963bea960dd932 Mon Sep 17 00:00:00 2001 From: Matthew Mehrtens <12023414+mcmehrtens@users.noreply.github.com> Date: Mon, 8 Jun 2026 22:25:03 -0600 Subject: [PATCH 136/180] starship: add v1.25.1 and drop cmake requirement (#5111) --- repos/spack_repo/builtin/packages/starship/package.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/repos/spack_repo/builtin/packages/starship/package.py b/repos/spack_repo/builtin/packages/starship/package.py index ec1b6feadb1..bf2f4eab21d 100644 --- a/repos/spack_repo/builtin/packages/starship/package.py +++ b/repos/spack_repo/builtin/packages/starship/package.py @@ -15,14 +15,14 @@ class Starship(CargoPackage): maintainers("ebagrenrut") - license("ISC") + license("ISC", checked_by="mcmehrtens", when="@0.2.0:") + version("1.25.1", sha256="521306b14066ee7e332d998ef5b5b6455fdc6085c52e86b6316a7cdc37bae1d8") version("1.25.0", sha256="e77f3c23683eb544f6dae7171e3c80676aefc66329225bdcd58e40846bb6445f") version("1.24.2", sha256="b7ab0ef364f527395b46d2fb7f59f9592766b999844325e35f62c8fa4d528795") version("1.24.1", sha256="4f2ac4181c3dea66f84bf8c97a3cb39dd218c27c8e4ade4de149d3834a87c428") depends_on("c", type="build") - depends_on("cmake", type="build") depends_on("rust@1.90:", type="build", when="@1.24.2:") depends_on("rust@1.89:", type="build") From 8b8632e78b807db82117fed8bc1c925114c5f7e2 Mon Sep 17 00:00:00 2001 From: Robert Maaskant Date: Tue, 9 Jun 2026 17:53:06 +0200 Subject: [PATCH 137/180] just: add v1.52.0 (#5127) --- repos/spack_repo/builtin/packages/just/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/just/package.py b/repos/spack_repo/builtin/packages/just/package.py index 6f48fe210dd..9aa72c86004 100644 --- a/repos/spack_repo/builtin/packages/just/package.py +++ b/repos/spack_repo/builtin/packages/just/package.py @@ -19,6 +19,7 @@ class Just(CargoPackage): license("CC0-1.0", checked_by="Dando18") version("master", branch="master") + version("1.52.0", sha256="cd869b45801f1434d26c05df7ca999b7b56c7d1d57fb1211cdfd2526ec28f130") version("1.50.0", sha256="cca015e07739a1c26c6fc459f7d46e1e36ce0f7613114eddedd8cd3af55a10b7") version("1.49.0", sha256="442406ee14eb9a59414525cf262354fe2e752b22c224ce2a5e42b2c493226e09") version("1.46.0", sha256="f60a578502d0b29eaa2a72c5b0d91390b2064dfd8d1a1291c3b2525d587fd395") From 8042418251b55f0bdf5d9c855f1533586ffce064 Mon Sep 17 00:00:00 2001 From: Robert Maaskant Date: Tue, 9 Jun 2026 19:32:36 +0200 Subject: [PATCH 138/180] helm: add v4.2.0 (#5129) --- repos/spack_repo/builtin/packages/helm/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/repos/spack_repo/builtin/packages/helm/package.py b/repos/spack_repo/builtin/packages/helm/package.py index 82cf847884c..3df8a8b92eb 100644 --- a/repos/spack_repo/builtin/packages/helm/package.py +++ b/repos/spack_repo/builtin/packages/helm/package.py @@ -17,9 +17,11 @@ class Helm(GoPackage): license("Apache-2.0") + version("4.2.0", sha256="98d6b09a7dce667d0638bd293b6ef768cfc6ba51afda42b0fe0be1c7a021ceb7") version("4.1.4", sha256="cc365ae17de9bd856972198f9c372f9fd2146852434ade3b3c96303b564cdb15") version("4.1.3", sha256="a336010d2a5bebc0588995cfda20919c47b20c9f8ed3e4ada9241684854bbf9f") + depends_on("go@1.26:", type="build", when="@4.2:") depends_on("go@1.25:", type="build", when="@4.1:") build_directory = "cmd/helm" From 1f254bc969000badb9c594513d2bbe2ee81d64bd Mon Sep 17 00:00:00 2001 From: Robert Maaskant Date: Tue, 9 Jun 2026 19:33:31 +0200 Subject: [PATCH 139/180] rclone: add v1.74.3 (#5130) --- repos/spack_repo/builtin/packages/rclone/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/rclone/package.py b/repos/spack_repo/builtin/packages/rclone/package.py index 9ef4082852f..1bcc645c52d 100644 --- a/repos/spack_repo/builtin/packages/rclone/package.py +++ b/repos/spack_repo/builtin/packages/rclone/package.py @@ -18,6 +18,7 @@ class Rclone(GoPackage): license("MIT") + version("1.74.3", sha256="c51062f24bb8e6d05c252c9c9fb527adc831715e0dd936ca0c9fb8d07e49d66a") version("1.73.5", sha256="19c929ce2f54bd22af2db4dd9d2a289499b02274f9f7d3c6639090761adfab1f") version("1.73.3", sha256="608dde134e02a429b95ae566d638e514a9a658d0d69c35812069cf1c1b8f24af") version("1.70.2", sha256="982b1f09239855e7e55fb6a3b6a8146fe2ef93c8ba6e015a9c5d6ada5297ea30") From b823b04e1c9b30da2c8c4ba132e5c11e207c23e7 Mon Sep 17 00:00:00 2001 From: Matthew Mehrtens <12023414+mcmehrtens@users.noreply.github.com> Date: Tue, 9 Jun 2026 11:43:24 -0600 Subject: [PATCH 140/180] go: add 1.24.<5,8,9>, 1.25.<0,10,11>, and 1.26.<0,3> (#5110) --- repos/spack_repo/builtin/packages/go/package.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/repos/spack_repo/builtin/packages/go/package.py b/repos/spack_repo/builtin/packages/go/package.py index 6a6c7b28b64..41fe892adb3 100644 --- a/repos/spack_repo/builtin/packages/go/package.py +++ b/repos/spack_repo/builtin/packages/go/package.py @@ -42,8 +42,12 @@ class Go(Package): license("BSD-3-Clause") version("1.26.4", sha256="4f668a32fbfc1132e6a881fb968c2f1dada631492a339211735fbb255a42602d") + version("1.26.3", sha256="1c646875d0aa8799133184ed57cf79ff24bdefe8c8820470602a9d3d6d9192b8") version("1.26.2", sha256="2e91ebb6947a96e9436fb2b3926a8802efe63a6d375dffec4f82aa9dbd6fd43b") version("1.26.1", sha256="3172293d04b209dc1144698e7ba13f0477f6ba8c5ffd0be66c20fdbc9785dfbb") + version("1.26.0", sha256="c9132a8a1f6bd2aa4aad1d74b8231d95274950483a4950657ee6c56e6e817790") + version("1.25.11", sha256="7b4e5b079b3c9bc420373ca68621a296b4d13c10735d4acac4171928d70f5480") + version("1.25.10", sha256="20cf04a92e5af99748e341bc8996fa28090c9ac98765fa115ec5ddf41d7af41d") version("1.25.9", sha256="0ec9ef8ebcea097aac37decae9f09a7218b451cd96be7d6ed513d8e4bcf909cf") version("1.25.8", sha256="e988d4a2446ac7fe3f6daa089a58e9936a52a381355adec1c8983230a8d6c59e") version("1.25.7", sha256="178f2832820274b43e177d32f06a3ebb0129e427dd20a5e4c88df2c1763cf10a") @@ -53,12 +57,16 @@ class Go(Package): version("1.25.3", sha256="a81a4ba593d0015e10c51e267de3ff07c7ac914dfca037d9517d029517097795") version("1.25.2", sha256="3711140cfb87fce8f7a13f7cd860df041e6c12f7610f40cac6ec6fa2b65e96e4") version("1.25.1", sha256="d010c109cee94d80efe681eab46bdea491ac906bf46583c32e9f0dbb0bd1a594") + version("1.25.0", sha256="4bd01e91297207bfa450ea40d4d5a93b1b531a5e438473b2a06e18e077227225") version("1.24.13", sha256="639a6204c2486b137df1eb6e78ee3ed038f9877d0e4b5a465e796a2153f858d7") version("1.24.12", sha256="fba2dd661b7be7b34d6bd17ed92f41c44a5e05953ad81ab34b4ec780e5e7dc41") version("1.24.11", sha256="ffdf97766a4c4b135cd53809713978e9ee1a943b2c8e28ad221a5429de30e210") version("1.24.10", sha256="34000dcc47a517b78fcf2657ee7d033328a57079fe60c4ed8b7b84260d1d19d3") + version("1.24.9", sha256="c72f81ba54fe00efe7f3e7499d400979246881b13b775e9a9bb85541c11be695") + version("1.24.8", sha256="b1ff32c5c4a50ddfa1a1cb78b60dd5a362aeb2184bb78f008b425b62095755fb") version("1.24.7", sha256="2a8f50db0f88803607c50d7ea8834dcb7bd483c6b428a91e360fdf8624b46464") version("1.24.6", sha256="e1cb5582aab588668bc04c07de18688070f6b8c9b2aaf361f821e19bd47cfdbd") + version("1.24.5", sha256="74fdb09f2352e2b25b7943e56836c9b47363d28dec1c8b56c4a9570f30b8f59f") version("1.24.4", sha256="5a86a83a31f9fa81490b8c5420ac384fd3d95a3e71fba665c7b3f95d1dfef2b4") version("1.24.3", sha256="229c08b600b1446798109fae1f569228102c8473caba8104b6418cb5bc032878") version("1.24.2", sha256="9dc77ffadc16d837a1bf32d99c624cb4df0647cee7b119edd9e7b1bcc05f2e00") From af444e711babd276978818b18ec16a96a47c1696 Mon Sep 17 00:00:00 2001 From: Matthew Mehrtens <12023414+mcmehrtens@users.noreply.github.com> Date: Tue, 9 Jun 2026 11:44:59 -0600 Subject: [PATCH 141/180] neovim: add v0.11.7, v0.12.0:0.12.2 (#5112) --- .../spack_repo/builtin/packages/neovim/package.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/repos/spack_repo/builtin/packages/neovim/package.py b/repos/spack_repo/builtin/packages/neovim/package.py index 57e62a71df9..ec21b97aaa6 100644 --- a/repos/spack_repo/builtin/packages/neovim/package.py +++ b/repos/spack_repo/builtin/packages/neovim/package.py @@ -16,10 +16,14 @@ class Neovim(CMakePackage): maintainers("albestro", "trws") - license("Apache-2.0 AND Vim") + license("Apache-2.0 AND Vim", checked_by="mcmehrtens", when="@0.1.0:") version("master", branch="master") version("stable", tag="stable") + version("0.12.2", sha256="ef9f58da7d687ed4d1dad9715542bf0dabdeedbfe8089e2ce17fff21b920a268") + version("0.12.1", sha256="41898a5073631bc8fd9ac43476b811c05fb3b88ffb043d4fbb9e75e478457336") + version("0.12.0", sha256="76b4875fc1a4805a807a9fa53ff0c8fb081620137a40fb879b32436e375aeb65") + version("0.11.7", sha256="b550b0e4cd2a0f9558bc6b278d27e47b528f7684efa2a46def438fcd64ee9822") version("0.11.6", sha256="d1c8e3f484ed1e231fd5f48f53b7345b628e52263d5eef489bb8b73ca8d90fca") version("0.11.5", sha256="c63450dfb42bb0115cd5e959f81c77989e1c8fd020d5e3f1e6d897154ce8b771") version("0.11.4", sha256="83cf9543bedab8bec8c11cd50ccd9a4bf1570420a914b9a28f83ad100ca6d524") @@ -67,7 +71,7 @@ class Neovim(CMakePackage): depends_on("cmake@3.0:", type="build") depends_on("pkgconfig", type="build") depends_on("gettext") - depends_on("gperf", type="link") + depends_on("gperf", type="link", when="@:0.7") depends_on("jemalloc", type="link", when="platform=linux") depends_on("lua-lpeg") depends_on("lua-mpack", when="@:0.10") @@ -83,7 +87,7 @@ class Neovim(CMakePackage): # versions with when("@0.6:"): depends_on("cmake@3.10:", type="build") - depends_on("gperf@3.1:", type="link") + depends_on("gperf@3.1:", type="link", when="@:0.7") conflicts("^libiconv@:1.14") depends_on("libtermkey@0.22:", type="link", when="@:0.9") depends_on("libvterm@0.1.4:", type="link", when="@:0.10") @@ -103,7 +107,8 @@ class Neovim(CMakePackage): depends_on("tree-sitter@0.20.9", when="@0.10") with when("@0.11:"): depends_on("cmake@3.16:", type="build") - depends_on("utf8proc@2.10.0", type="link") + depends_on("utf8proc@2.10.0:", type="link") + depends_on("tree-sitter@0.25:", type="link") # Support for `libvterm@0.2:` has been added in neovim@0.8.0 # term: Add support for libvterm >= 0.2 (https://github.com/neovim/neovim/releases/tag/v0.8.0) @@ -113,7 +118,7 @@ class Neovim(CMakePackage): # ts_parser_timeout_micros and ts_parser_set_timeout_micros not anymore in API # https://github.com/neovim/neovim/pull/33141 # https://github.com/tree-sitter/tree-sitter/pull/4814 - conflicts("tree-sitter@0.26:", when="@:0.11.6") + conflicts("tree-sitter@0.26:", when="@:0.11") @when("^lua") def cmake_args(self): From 678072b26598522a202df91ea01ddbd5cdfda4a0 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Tue, 9 Jun 2026 19:47:25 +0200 Subject: [PATCH 142/180] simgrid: deprecate v3.20 and v3.21 (#5108) extracted from #2508 Signed-off-by: Massimiliano Culpo --- .../builtin/packages/simgrid/package.py | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/repos/spack_repo/builtin/packages/simgrid/package.py b/repos/spack_repo/builtin/packages/simgrid/package.py index 19e73a3e2e2..89c6562d4d0 100644 --- a/repos/spack_repo/builtin/packages/simgrid/package.py +++ b/repos/spack_repo/builtin/packages/simgrid/package.py @@ -54,16 +54,17 @@ class Simgrid(CMakePackage): sha256="4fdff0a8e4c81f8edf6f7eedfa32e19748abe688d156ea9240178c558c8bad33", url="https://github.com/simgrid/simgrid/releases/download/v3_22/SimGrid-3.22.tar.gz", ) - version( - "3.21", - sha256="d2a6e9021016dd39a2b6f8d5d18c8223f6885746c5269550d19ba29c47c0c6a0", - url="https://github.com/simgrid/simgrid/releases/download/v3_21/SimGrid-3.21.tar.gz", - ) - version( - "3.20", - sha256="4d4757eb45d87cf18d990d589c31d223b0ea8cf6fcd8c94fca4d38162193cef6", - url="https://github.com/simgrid/simgrid/releases/download/v3.20/SimGrid-3.20.tar.gz", - ) + with default_args(deprecated=True): + version( + "3.21", + sha256="d2a6e9021016dd39a2b6f8d5d18c8223f6885746c5269550d19ba29c47c0c6a0", + url="https://github.com/simgrid/simgrid/releases/download/v3_21/SimGrid-3.21.tar.gz", + ) + version( + "3.20", + sha256="4d4757eb45d87cf18d990d589c31d223b0ea8cf6fcd8c94fca4d38162193cef6", + url="https://github.com/simgrid/simgrid/releases/download/v3.20/SimGrid-3.20.tar.gz", + ) version("develop", branch="master") From 4305ed4fab94288d0a3a28432c9083021bd628f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Bederi=C3=A1n?= <4043375+zzzoom@users.noreply.github.com> Date: Tue, 9 Jun 2026 15:22:17 -0300 Subject: [PATCH 143/180] ucc: add v1.8.0 (#5104) --- repos/spack_repo/builtin/packages/ucc/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/ucc/package.py b/repos/spack_repo/builtin/packages/ucc/package.py index 95defa1ccb9..805c4034298 100644 --- a/repos/spack_repo/builtin/packages/ucc/package.py +++ b/repos/spack_repo/builtin/packages/ucc/package.py @@ -18,6 +18,7 @@ class Ucc(AutotoolsPackage, CudaPackage, ROCmPackage): maintainers("zzzoom") + version("1.8.0", sha256="1fc0b7c5d6e5592ae1efff13705ff5cee2e67eba67914c2c70039e6854310b67") version("1.7.0", sha256="b40df0db75b8505844547574a3a7dad16c9033d7e1ca099ea8508bc57a62b454") version("1.6.0", sha256="c77897cdaec2114234504fd9259d5143a6933a8ee51aad52fbc4ad1c9752114d") version("1.5.1", sha256="7921424e4b6b756133497ab6fdfb8d038eea33f337d4c2dbce13f59e04d16e5b") From 3bb2234e103b70fc48ad65b938ab9e4d5f19d29c Mon Sep 17 00:00:00 2001 From: Robert Maaskant Date: Tue, 9 Jun 2026 22:18:56 +0200 Subject: [PATCH 144/180] py-platformdirs: add v4.10.0 (#5135) --- repos/spack_repo/builtin/packages/py_platformdirs/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/py_platformdirs/package.py b/repos/spack_repo/builtin/packages/py_platformdirs/package.py index 319276f784a..73167d5e7be 100644 --- a/repos/spack_repo/builtin/packages/py_platformdirs/package.py +++ b/repos/spack_repo/builtin/packages/py_platformdirs/package.py @@ -17,6 +17,7 @@ class PyPlatformdirs(PythonPackage): license("MIT") + version("4.10.0", sha256="31e761a6a0ca04faf7353ea759bdba55652be214725111e5aac52dfa29d4bef7") version("4.9.6", sha256="3bfa75b0ad0db84096ae777218481852c0ebc6c727b3168c1b9e0118e458cf0a") version("4.4.0", sha256="ca753cf4d81dc309bc67b0ea38fd15dc97bc30ce419a7f58d13eb3bf14c4febf") version("3.10.0", sha256="b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d") From 9fe53ad2c45173f7cf3ff8db030f912d2a0e81a1 Mon Sep 17 00:00:00 2001 From: Robert Maaskant Date: Tue, 9 Jun 2026 22:23:14 +0200 Subject: [PATCH 145/180] py-trove-classifiers: add v2026.6.1.19 (#5137) --- .../builtin/packages/py_trove_classifiers/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/repos/spack_repo/builtin/packages/py_trove_classifiers/package.py b/repos/spack_repo/builtin/packages/py_trove_classifiers/package.py index 6be563b0bf5..201e41bfe37 100644 --- a/repos/spack_repo/builtin/packages/py_trove_classifiers/package.py +++ b/repos/spack_repo/builtin/packages/py_trove_classifiers/package.py @@ -16,6 +16,9 @@ class PyTroveClassifiers(PythonPackage): license("Apache-2.0") + version( + "2026.6.1.19", sha256="c5132b4b61a829d11cfbd2d72e97f20a45ed6edb95e45c5efdeb5e00836b2745" + ) version( "2026.4.28.13", sha256="c85bb8a53c3de7330d1699b844ed9fb809a602a09ac15dc79ad6d1a509be0676" ) From a19983d0ab683267ad4e41364264389e8131dc4a Mon Sep 17 00:00:00 2001 From: Tara Drwenski Date: Tue, 9 Jun 2026 13:38:12 -0700 Subject: [PATCH 146/180] raja: patch Tile.hpp iterator comparison operators for @2024.02.0:2024.02.2 (#4181) --- .../builtin/packages/raja/package.py | 2 ++ ...tile-iterator-comparison-fix-2024.02.patch | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/raja/tile-iterator-comparison-fix-2024.02.patch diff --git a/repos/spack_repo/builtin/packages/raja/package.py b/repos/spack_repo/builtin/packages/raja/package.py index c03cb9d0a92..f666d0ed74d 100644 --- a/repos/spack_repo/builtin/packages/raja/package.py +++ b/repos/spack_repo/builtin/packages/raja/package.py @@ -216,6 +216,8 @@ class Raja(CachedCMakePackage, CudaPackage, ROCmPackage): when="@2024.02.1:2024.02.99 %oneapi@2025:", ) + patch("tile-iterator-comparison-fix-2024.02.patch", when="@2024.02.0:2024.02.2") + variant("openmp", default=False, description="Build OpenMP backend") variant("shared", default=False, description="Build shared libs") variant("desul", default=False, description="Build desul atomics backend") diff --git a/repos/spack_repo/builtin/packages/raja/tile-iterator-comparison-fix-2024.02.patch b/repos/spack_repo/builtin/packages/raja/tile-iterator-comparison-fix-2024.02.patch new file mode 100644 index 00000000000..8b849e6f82b --- /dev/null +++ b/repos/spack_repo/builtin/packages/raja/tile-iterator-comparison-fix-2024.02.patch @@ -0,0 +1,20 @@ +diff --git a/include/RAJA/pattern/kernel/Tile.hpp b/include/RAJA/pattern/kernel/Tile.hpp +index 351c263..9b1d65d 100644 +--- a/include/RAJA/pattern/kernel/Tile.hpp ++++ b/include/RAJA/pattern/kernel/Tile.hpp +@@ -169,13 +169,13 @@ struct IterableTiler { + } + + RAJA_HOST_DEVICE +- RAJA_INLINE bool operator!=(const IterableTiler &rhs) const ++ RAJA_INLINE bool operator!=(const iterator &rhs) const + { + return block_id != rhs.block_id; + } + + RAJA_HOST_DEVICE +- RAJA_INLINE bool operator<(const IterableTiler &rhs) const ++ RAJA_INLINE bool operator<(const iterator &rhs) const + { + return block_id < rhs.block_id; + } From 619ecb64d078392dccb8cdde8c65dde03a8518db Mon Sep 17 00:00:00 2001 From: Robert Maaskant Date: Tue, 9 Jun 2026 23:03:07 +0200 Subject: [PATCH 147/180] py-filelock: add v3.29.1 (#5138) --- repos/spack_repo/builtin/packages/py_filelock/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/py_filelock/package.py b/repos/spack_repo/builtin/packages/py_filelock/package.py index 90c7764ec92..2bee0981cb0 100644 --- a/repos/spack_repo/builtin/packages/py_filelock/package.py +++ b/repos/spack_repo/builtin/packages/py_filelock/package.py @@ -20,6 +20,7 @@ class PyFilelock(PythonPackage): license("Unlicense", when="@:3.22") license("MIT", when="@3.23:") + version("3.29.1", sha256="d97e6b1b9757569626c58caa07dc4beb1613f4a2938b1e8cc81afca398906c9e") version("3.29.0", sha256="69974355e960702e789734cb4871f884ea6fe50bd8404051a3530bc07809cf90") version("3.25.2", sha256="b64ece2b38f4ca29dd3e810287aa8c48182bbecd1ae6e9ae126c9b35f1382694") version("3.19.1", sha256="66eda1888b0171c998b35be2bcc0f6d75c388a7ce20c3f3f37aa8e96c2dddf58") From 3ba997349949eaca09bef7a762691a15efb94b97 Mon Sep 17 00:00:00 2001 From: Robert Maaskant Date: Tue, 9 Jun 2026 23:05:46 +0200 Subject: [PATCH 148/180] talosctl: add v1.13.3 (#5133) --- repos/spack_repo/builtin/packages/talosctl/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/repos/spack_repo/builtin/packages/talosctl/package.py b/repos/spack_repo/builtin/packages/talosctl/package.py index 5453cf09c7f..8fd27a7208d 100644 --- a/repos/spack_repo/builtin/packages/talosctl/package.py +++ b/repos/spack_repo/builtin/packages/talosctl/package.py @@ -19,8 +19,10 @@ class Talosctl(GoPackage): license("MPL-2.0", checked_by="RobertMaaskant") + version("1.13.3", sha256="f0f42d68db52cec6f5e6f4da3994f7f4c9dca700e05b690184ea588251f92aca") version("1.12.6", sha256="bfae01fe1db88cadde1502c552f5bae673524f4dc3512fd99e001c85a86b4515") + depends_on("go@1.26.3:", type="build", when="@1.13.1:") depends_on("go@1.25.5:", type="build", when="@1.12.6:") build_directory = "cmd/talosctl" From 3dfd3b4518bf465e811810458cb7719cfeed674d Mon Sep 17 00:00:00 2001 From: Robert Maaskant Date: Tue, 9 Jun 2026 23:06:49 +0200 Subject: [PATCH 149/180] yq: add v4.53.3 (#5134) --- repos/spack_repo/builtin/packages/yq/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/yq/package.py b/repos/spack_repo/builtin/packages/yq/package.py index aaf186d2d57..1957a54a6a8 100644 --- a/repos/spack_repo/builtin/packages/yq/package.py +++ b/repos/spack_repo/builtin/packages/yq/package.py @@ -18,6 +18,7 @@ class Yq(GoPackage): license("MIT", checked_by="teaguesterling") + version("4.53.3", sha256="fadf86d0ae3988bb40fa8aad424d0c71658493f6377285e711c7e7e313b3b238") version("4.53.2", sha256="1bc19bb8b1029148afa3465a9383f6dcccb1ecce28a0af1d81f07c93396ce37d") version("4.52.5", sha256="4b1d8f8d903793af62adf74f4810542cbd03515a728d1add0868072ea9aa00b8") version("4.49.2", sha256="648d96cc490a4e08edb6bf8ff9498360b405263e202663cd9c92322b3aa557ef") From 8168ab3625e843a8570f1d5019bd7f3db647fe07 Mon Sep 17 00:00:00 2001 From: williampiat3 <32038421+williampiat3@users.noreply.github.com> Date: Tue, 9 Jun 2026 23:54:27 +0200 Subject: [PATCH 150/180] py-plaid: add package (#4925) * add plaid recipe * [@spackbot] updating style on behalf of williampiat3 * formatting * typo * Update repos/spack_repo/builtin/packages/py_plaid/package.py Co-authored-by: Richarda Butler <39577672+RikkiButler20@users.noreply.github.com> * Update repos/spack_repo/builtin/packages/py_plaid/package.py Co-authored-by: Richarda Butler <39577672+RikkiButler20@users.noreply.github.com> * Update repos/spack_repo/builtin/packages/py_plaid/package.py Co-authored-by: Richarda Butler <39577672+RikkiButler20@users.noreply.github.com> * Update repos/spack_repo/builtin/packages/py_plaid/package.py Co-authored-by: Richarda Butler <39577672+RikkiButler20@users.noreply.github.com> * Update repos/spack_repo/builtin/packages/py_plaid/package.py Co-authored-by: Richarda Butler <39577672+RikkiButler20@users.noreply.github.com> --------- Co-authored-by: Richarda Butler <39577672+RikkiButler20@users.noreply.github.com> --- .../builtin/packages/py_plaid/package.py | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/py_plaid/package.py diff --git a/repos/spack_repo/builtin/packages/py_plaid/package.py b/repos/spack_repo/builtin/packages/py_plaid/package.py new file mode 100644 index 00000000000..edb5441fc77 --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_plaid/package.py @@ -0,0 +1,43 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyPlaid(PythonPackage): + """A package that implements a data model tailored for AI and ML + in the context of physics problems + """ + + homepage = "https://github.com/PLAID-lib/plaid" + pypi = "pyplaid/pyplaid-0.1.15.tar.gz" + + maintainers("williampiat3", "casenave", "bstaber") + + license("BSD-3-Clause", checked_by="casenave") + + version("0.1.15", sha256="e596ee155804da31793af0ee8f0e93c5fe629e246cbdca87dcae741a1e1f1205") + + # Build deps + with default_args(type="build"): + depends_on("py-setuptools@60:76.1.0") + depends_on("py-setuptools-scm@8:") + + # Build and run deps + with default_args(type=("build", "run")): + depends_on("python@3.11:3.13") + + # Run deps + with default_args(type=("run")): + depends_on("py-tqdm@4.60:4") + depends_on("py-pyyaml@6") + depends_on("py-pycgns@6.3:6") + depends_on("py-zarr@3.1:3") + depends_on("py-scikit-learn@1.4:1") + depends_on("py-datasets@2.18:4") + depends_on("py-numpy@1.26:2") + depends_on("py-matplotlib@3.8:3") + depends_on("py-pydantic@2.6:2") From 091c786509320bb1780acffc4240371791f49ee5 Mon Sep 17 00:00:00 2001 From: Thomas Bouvier Date: Tue, 9 Jun 2026 21:56:08 +0000 Subject: [PATCH 151/180] py-docket: add package (#5122) * py-docket: add package * py-docket: typos --- .../builtin/packages/py_docket/package.py | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/py_docket/package.py diff --git a/repos/spack_repo/builtin/packages/py_docket/package.py b/repos/spack_repo/builtin/packages/py_docket/package.py new file mode 100644 index 00000000000..3852066debb --- /dev/null +++ b/repos/spack_repo/builtin/packages/py_docket/package.py @@ -0,0 +1,35 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.python import PythonPackage + +from spack.package import * + + +class PyDocket(PythonPackage): + """A distributed background task system for Python functions.""" + + homepage = "https://github.com/chrisguidry/docket" + pypi = "pydocket/pydocket-0.16.6.tar.gz" + + license("MIT") + + version("0.16.6", sha256="b96c96ad7692827214ed4ff25fcf941ec38371314db5dcc1ae792b3e9d3a0294") + + depends_on("python@3.10:", type=("build", "run")) + depends_on("py-hatchling", type="build") + + depends_on("py-cloudpickle@3.1.1:", type=("build", "run")) + depends_on("py-exceptiongroup@1.2:", when="^python@:3.10", type=("build", "run")) + depends_on("py-fakeredis@2.32.1: +lua", type=("build", "run")) + depends_on("py-opentelemetry-api@1.33.0:", type=("build", "run")) + depends_on("py-opentelemetry-exporter-prometheus@0.60b0:", type=("build", "run")) + depends_on("py-opentelemetry-instrumentation@0.60b0:", type=("build", "run")) + depends_on("py-prometheus-client@0.21.1:", type=("build", "run")) + depends_on("py-key-value-aio@0.3: +memory +redis", type=("build", "run")) + depends_on("py-python-json-logger@2.0.7:", type=("build", "run")) + depends_on("py-redis@5:", type=("build", "run")) + depends_on("py-rich@13.9.4:", type=("build", "run")) + depends_on("py-typer@0.15.1:", type=("build", "run")) + depends_on("py-typing-extensions@4.12:", type=("build", "run")) From e1240dad59bb8e63c52997d18ba31afdb4010577 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Wed, 10 Jun 2026 00:42:01 +0200 Subject: [PATCH 152/180] GDAL: add v3.13.1 (#5099) Signed-off-by: Adam J. Stewart --- repos/spack_repo/builtin/packages/gdal/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/repos/spack_repo/builtin/packages/gdal/package.py b/repos/spack_repo/builtin/packages/gdal/package.py index 71befb4f412..6f77cc1f6e8 100644 --- a/repos/spack_repo/builtin/packages/gdal/package.py +++ b/repos/spack_repo/builtin/packages/gdal/package.py @@ -31,6 +31,7 @@ class Gdal(CMakePackage, AutotoolsPackage, PythonExtension): license("MIT") maintainers("adamjstewart") + version("3.13.1", sha256="7398fb132753140740fac4f099f0dbe49d1ad074c4162290c308e067c46b7f92") version("3.13.0", sha256="1c537dd2f4d66f05534ae419bc2af495c2204ce13bb266c8cbd867dd6705f0c7") version("3.12.4", sha256="813094498c17522ac42821a5ea1ea783d8326c0adf286cce86a949038bd09198") version("3.12.3", sha256="398a5a32ee6e75040598a7f8e895126a8225118317f272d715867c844f932848") @@ -316,6 +317,7 @@ class Gdal(CMakePackage, AutotoolsPackage, PythonExtension): depends_on("geos@3.1:", when="+geos") depends_on("giflib", when="+gif") depends_on("grass@5.7:", when="+grass") + # depends_on("grok@20.3.2:", when="@3.13.1:+grok") # depends_on("grok@20.2:", when="+grok") depends_on("libgta", when="+gta") depends_on("libheif@1.1:", when="+heif") @@ -376,6 +378,7 @@ class Gdal(CMakePackage, AutotoolsPackage, PythonExtension): with when("+poppler"): depends_on("poppler@0.86:", when="@3.9:") depends_on("poppler@0.24:") + depends_on("poppler@:26.05", when="@:3.13.0") depends_on("poppler@:26.04", when="@:3.12.4") depends_on("poppler@:26.03", when="@:3.12.3") depends_on("poppler@:26.01", when="@:3.12.2") From a815de84bf74722cff11c69189992b0af9d0dc27 Mon Sep 17 00:00:00 2001 From: Robert Maaskant Date: Wed, 10 Jun 2026 09:12:23 +0200 Subject: [PATCH 153/180] omnictl: add v1.8.2 (#5132) * omnictl: add v1.8.2 * Update repos/spack_repo/builtin/packages/omnictl/package.py Co-authored-by: Richarda Butler <39577672+RikkiButler20@users.noreply.github.com> --------- Co-authored-by: Richarda Butler <39577672+RikkiButler20@users.noreply.github.com> --- repos/spack_repo/builtin/packages/omnictl/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/repos/spack_repo/builtin/packages/omnictl/package.py b/repos/spack_repo/builtin/packages/omnictl/package.py index 3ceb5ca652f..032d683a83a 100644 --- a/repos/spack_repo/builtin/packages/omnictl/package.py +++ b/repos/spack_repo/builtin/packages/omnictl/package.py @@ -19,8 +19,10 @@ class Omnictl(GoPackage): license("BUSL-1.1", checked_by="RobertMaaskant") + version("1.8.2", sha256="40addbfac6c38e923df03d622b6d150d51fc254c4a622b4edd34658213cad36d") version("1.7.0", sha256="07dd01d8d724f59697e2754027dcbd12ee6e5bf2da1348e5b32d844e7eef4288") + depends_on("go@1.26.3:", type="build", when="@1.8.1:") depends_on("go@1.26.2:", type="build", when="@1.7.0:") build_directory = "cmd/omnictl" From 7056cc0c7a6fa57850e94e98b2a352be090dd1f3 Mon Sep 17 00:00:00 2001 From: Ryan Krattiger <80296582+kwryankrattiger@users.noreply.github.com> Date: Wed, 10 Jun 2026 02:16:05 -0500 Subject: [PATCH 154/180] Bump Spack core commit (#5143) Notable updates: * Fix GPG trust for keyfiles with only secret parts of key * Windows TUI for new installer * Spack concretize [b] support * Transactional environment concretization * OCI cache versioning correctly reflects intent Signed-off-by: Ryan Krattiger --- .ci/env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/env b/.ci/env index a5aeddddde8..ec9b255ffc8 100644 --- a/.ci/env +++ b/.ci/env @@ -1,2 +1,2 @@ -SPACK_CHECKOUT_VERSION=2db324c7d79bc3cd3fe1d38beeb6db39252a3d27 +SPACK_CHECKOUT_VERSION=cf9556230f1f236837b1a90c17eaebdeac02b31f SPACK_CHECKOUT_REPO=spack/spack From 2fbe46a3435f04d232d4a2a6477953cbc3976702 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Wed, 10 Jun 2026 10:56:16 +0200 Subject: [PATCH 155/180] dakota: add v6.24.0, deprecate v6.12 and older (#5125) * Add v6.24.0 using the release tarball to work around a broken surfpack submodule (snl-dakota/dakota#192) * Deprecate v6.12, v6.9, v6.3 * Use regular lapack / blas dependencies * Correct components for boost * Remove unverified upper bound on hdf5 Signed-off-by: Massimiliano Culpo --- .../builtin/packages/dakota/package.py | 67 +++++++++++-------- 1 file changed, 39 insertions(+), 28 deletions(-) diff --git a/repos/spack_repo/builtin/packages/dakota/package.py b/repos/spack_repo/builtin/packages/dakota/package.py index 439459ad566..75ff6195278 100644 --- a/repos/spack_repo/builtin/packages/dakota/package.py +++ b/repos/spack_repo/builtin/packages/dakota/package.py @@ -43,6 +43,14 @@ class Dakota(CMakePackage): license("LGPL-2.1-or-later") + # 6.24.0 uses the release tarball instead of git because the tag references a + # surfpack submodule commit not publicly available in the upstream repo. + # See https://github.com/snl-dakota/dakota/issues/192 + version( + "6.24.0", + sha256="da461ffe9df2c56c0b0125503f3b69753c30fa44ac9fabb46a43b44fa68a15fa", + url="https://github.com/snl-dakota/dakota/releases/download/v6.24.0/dakota-6.24.0-public-src-cli.tar.gz", + ) version( "6.23.0", tag="v6.23.0", @@ -79,9 +87,10 @@ class Dakota(CMakePackage): commit="f6cb33b517bb304795e1e14d3673fe289df2ec9b", submodules=submodules, ) - version("6.12", sha256="4d69f9cbb0c7319384ab9df27643ff6767eb410823930b8fbd56cc9de0885bc9") - version("6.9", sha256="989b689278964b96496e3058b8ef5c2724d74bcd232f898fe450c51eba7fe0c2") - version("6.3", sha256="0fbc310105860d77bb5c96de0e8813d75441fca1a5e6dfaf732aa095c4488d52") + with default_args(deprecated=True): + version("6.12", sha256="4d69f9cbb0c7319384ab9df27643ff6767eb410823930b8fbd56cc9de0885bc9") + version("6.9", sha256="989b689278964b96496e3058b8ef5c2724d74bcd232f898fe450c51eba7fe0c2") + version("6.3", sha256="0fbc310105860d77bb5c96de0e8813d75441fca1a5e6dfaf732aa095c4488d52") variant("shared", default=True, description="Enables the build of shared libraries") variant("mpi", default=True, description="Activates MPI support") @@ -111,28 +120,34 @@ class Dakota(CMakePackage): depends_on("cxx", type="build") depends_on("fortran", type="build") - # Generic 'lapack' provider won't work, dakota searches for - # 'LAPACKConfig.cmake' or 'lapack-config.cmake' on the path - depends_on("netlib-lapack +shared") + depends_on("blas") + depends_on("lapack") depends_on("mpi", when="+mpi") - depends_on("hdf5@1.10.4:1.10 +hl+cxx", when="+hdf5") + depends_on("hdf5@1.10.4: +hl+cxx", when="+hdf5") depends_on("python", when="+python") depends_on("py-numpy", when="+python-direct-interface") - depends_on("py-numpy@:1.26.4", when="@:6.20") depends_on("perl-data-dumper", type="build", when="@6.12:") - # TODO: replace this with an explicit list of components of Boost, - # for instance depends_on('boost +filesystem') - # See https://github.com/spack/spack/pull/22303 for reference - depends_on(Boost.with_default_variants, when="@:6.12") - depends_on("boost@:1.68.0", when="@:6.12") - depends_on("boost@1.69.0:1.84.0", when="@6.18:6.20") - depends_on("boost +filesystem +program_options +regex +serialization +system") + depends_on("boost +program_options +regex +serialization +system") + with when("@:6.12"): + depends_on(Boost.with_default_variants) + depends_on("boost@:1.68.0") + + with when("@:6.20"): + depends_on("boost@:1.84.0") + depends_on("py-numpy@:1.26.4") - depends_on("cmake@2.8.9:", type="build", when="@:6.12") - depends_on("cmake@3.17:", type="build", when="@6.18:") + with when("@6.18:"): + depends_on("boost@1.69.0:") + depends_on("cmake@3.17:", type="build") + + with when("@6.22:"): + depends_on("cmake@3.23:", type="build") + + with when("@6.23:"): + depends_on("boost@1.70:") # dakota@:6.18 has broken pybind11/CMake support conflicts("+python", when="@:6.18") @@ -172,27 +187,23 @@ def flag_handler(self, name, flags): def cmake_args(self): spec = self.spec - args = [ self.define_from_variant("BUILD_SHARED_LIBS", "shared"), self.define_from_variant("DAKOTA_PYTHON", "python"), self.define_from_variant("DAKOTA_PYTHON_DIRECT_INTERFACE", "python-direct-interface"), self.define_from_variant("DAKOTA_PYTHON_WRAPPER", "python-wrapper"), - self.define_from_variant("DAKOTA_PYTHON_SURROGATES", "python-wrapper"), - "-DBLAS_LIBS:STRING={}/lib64/libblas.so".format(spec["netlib-lapack"].prefix), - "-DLAPACK_LIBS:STRING={}/lib64/liblapack.so".format(spec["netlib-lapack"].prefix), + self.define_from_variant("DAKOTA_PYTHON_SURROGATES", "python-surrogates"), + self.define_from_variant("DAKOTA_HAVE_HDF5", "hdf5"), + self.define_from_variant("DAKOTA_HAVE_MPI", "mpi"), + self.define("BLAS_LIBS", spec["blas"].libs.joined(";")), + self.define("LAPACK_LIBS", spec["lapack"].libs.joined(";")), ] if spec.satisfies("+mpi"): - args.extend( - [ - "-DDAKOTA_HAVE_MPI:BOOL=ON", - "-DMPI_CXX_COMPILER:STRING=%s" % join_path(spec["mpi"].mpicxx), - ] - ) + args.append(self.define("MPI_CXX_COMPILER", join_path(spec["mpi"].mpicxx))) if spec.satisfies("+python-direct-interface") or spec.satisfies("+python-wrapper"): - args.append("-DDAKOTA_PYBIND11:BOOL=ON") + args.append(self.define("DAKOTA_PYBIND11", True)) if self.run_tests: args += ["-DCMAKE_CTEST_ARGUMENTS=-L;Accept"] From 4ffb409b75792a752d510075144e783d70fc6101 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Wed, 10 Jun 2026 10:57:34 +0200 Subject: [PATCH 156/180] akantu: add v5.0.6, deprecate v3.0.0, overhaul recipe (#5109) Signed-off-by: Massimiliano Culpo --- .../builtin/packages/akantu/package.py | 116 ++++++++++-------- 1 file changed, 67 insertions(+), 49 deletions(-) diff --git a/repos/spack_repo/builtin/packages/akantu/package.py b/repos/spack_repo/builtin/packages/akantu/package.py index 394c54125b7..f19140ea23b 100644 --- a/repos/spack_repo/builtin/packages/akantu/package.py +++ b/repos/spack_repo/builtin/packages/akantu/package.py @@ -3,7 +3,6 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack_repo.builtin.build_systems.cmake import CMakePackage -from spack_repo.builtin.packages.boost.package import Boost from spack.package import * @@ -17,7 +16,7 @@ class Akantu(CMakePackage): """ homepage = "https://akantu.ch" - url = "https://gitlab.com/akantu/akantu/-/archive/v3.0.0/akantu-v3.0.0.tar.gz" + url = "https://gitlab.com/akantu/akantu/-/archive/v5.0.6/akantu-v5.0.6.tar.gz" git = "https://gitlab.com/akantu/akantu.git" maintainers("nrichart") @@ -25,7 +24,12 @@ class Akantu(CMakePackage): license("LGPL-3.0-or-later") version("master", branch="master") - version("3.0.0", sha256="7e8f64e25956eba44def1b2d891f6db8ba824e4a82ff0d51d6b585b60ab465db") + version("5.0.6", sha256="ee197f6239e7c4c143edfc27a50c76512bd84c3eb0e11914b18e5782ed011c37") + version( + "3.0.0", + sha256="7e8f64e25956eba44def1b2d891f6db8ba824e4a82ff0d51d6b585b60ab465db", + deprecated=True, + ) variant( "external_solvers", @@ -34,72 +38,86 @@ class Akantu(CMakePackage): ) variant("mpi", default=True, description="Activates parallel capabilities") variant("python", default=False, description="Activates python bindings") + variant("cgal", default=False, description="Enable CGAL geometry support", when="@5:") + + depends_on("c", type="build") + depends_on("cxx", type="build") + depends_on("fortran", type="build") + + depends_on("boost") - depends_on("c", type="build") # generated - depends_on("cxx", type="build") # generated + with when("@5"): + depends_on("eigen@3.3.7:", type="build") + depends_on("cmake@3.16.3:", type="build") + depends_on("cgal", when="+cgal") - depends_on("boost@:1.66", when="@:3.0") - depends_on(Boost.with_default_variants) - depends_on("lapack") - depends_on("cmake@3.5.1:", type="build") - depends_on("python", when="+python", type=("build", "run")) - depends_on("py-numpy", when="+python", type=("build", "run")) - depends_on("py-scipy", when="+python", type=("build", "run")) - depends_on("py-pybind11", when="@3.1:+python", type=("build", "run")) + with when("@3"): + depends_on("boost@:1.66") + depends_on("lapack") + depends_on("cmake@3.5.1:", type="build") - depends_on("mumps", when="~mpi external_solvers=mumps") - depends_on("mumps+mpi", when="+mpi external_solvers=mumps") - depends_on("netlib-scalapack", when="+mpi external_solvers=mumps") - depends_on("petsc+double", when="~mpi external_solvers=petsc") - depends_on("petsc+double+mpi", when="+mpi external_solvers=petsc") + with when("+python"): + extends("python") + depends_on("python", type=("build", "run")) + depends_on("py-numpy", type=("build", "run")) + depends_on("py-scipy", type=("build", "run")) + depends_on("py-pybind11", when="@3.1:", type=("build", "run")) - depends_on("mpi", when="+mpi") - depends_on("scotch", when="+mpi") + with when("+mpi"): + depends_on("mpi") + depends_on("scotch") - extends("python", when="+python") + with when("external_solvers=mumps"): + depends_on("mumps", when="~mpi") + depends_on("mumps+mpi", when="+mpi") + depends_on("netlib-scalapack", when="+mpi") + + with when("external_solvers=petsc"): + depends_on("petsc+double", when="~mpi") + depends_on("petsc+double+mpi", when="+mpi") conflicts("%gcc@:5.3") conflicts("@:3.0 external_solvers=petsc") conflicts("@:3.0 +python") def cmake_args(self): - spec = self.spec - args = [ - "-DAKANTU_COHESIVE_ELEMENT:BOOL=ON", - "-DAKANTU_DAMAGE_NON_LOCAL:BOOL=ON", - "-DAKANTU_HEAT_TRANSFER:BOOL=ON", - "-DAKANTU_SOLID_MECHANICS:BOOL=ON", - "-DAKANTU_STRUCTURAL_MECHANICS:BOOL=OFF", - f"-DAKANTU_PARALLEL:BOOL={'ON' if spec.satisfies('+mpi') else 'OFF'}", - f"-DAKANTU_PYTHON_INTERFACE:BOOL={'ON' if spec.satisfies('+python') else 'OFF'}", + self.define("AKANTU_VERSION", self.spec.version), + self.define("AKANTU_COHESIVE_ELEMENT", True), + self.define("AKANTU_DAMAGE_NON_LOCAL", True), + self.define("AKANTU_SOLID_MECHANICS", True), + self.define("AKANTU_STRUCTURAL_MECHANICS", self.spec.satisfies("@5:")), + self.define_from_variant("AKANTU_PARALLEL", "mpi"), + self.define_from_variant("AKANTU_PYTHON_INTERFACE", "python"), ] - if spec.satisfies("@:3.0"): - args.extend( - [ - "-DCMAKE_CXX_FLAGS=-Wno-class-memaccess", - "-DAKANTU_TRACTION_AT_SPLIT_NODE_CONTACT:BOOL=OFF", - ] - ) + if self.spec.satisfies("@5:"): + args += [ + self.define("AKANTU_DIFFUSION", True), + self.define_from_variant("AKANTU_EMBEDDED", "cgal"), + ] else: - args.append("-DAKANTU_TRACTION_AT_SPLIT_NODE_CONTACT:BOOL=ON") + args.append(self.define("AKANTU_HEAT_TRANSFER", True)) + + if self.spec.satisfies("@:3.0"): + args.append(self.define("CMAKE_CXX_FLAGS", "-Wno-class-memaccess")) solvers = [] - if spec.satisfies("external_solvers=mumps"): + if self.spec.satisfies("external_solvers=mumps"): solvers.append("Mumps") - args.append(f"-DMUMPS_DIR:PATH=${spec['mumps'].prefix}") - if spec.satisfies("external_solvers=petsc"): + args.append(self.define("MUMPS_DIR", self.spec["mumps"].prefix)) + if self.spec.satisfies("external_solvers=petsc"): solvers.append("PETSc") - if len(solvers) > 0: - args.extend( - [ - f"-DAKANTU_IMPLICIT_SOLVER:STRING={'+'.join(solvers)}", - "-DAKANTU_IMPLICIT:BOOL=ON", - ] - ) + if solvers: + args += [ + self.define("AKANTU_IMPLICIT_SOLVER", "+".join(solvers)), + self.define("AKANTU_IMPLICIT", True), + ] else: - args.append("-DAKANTU_IMPLICIT:BOOL=OFF") + args += [ + self.define("AKANTU_IMPLICIT_SOLVER", "Eigen"), + self.define("AKANTU_IMPLICIT", False), + ] return args From 6d45be7c07ffdd390d3d1113755582c99db91884 Mon Sep 17 00:00:00 2001 From: Zack Galbreath Date: Wed, 10 Jun 2026 09:44:06 -0400 Subject: [PATCH 157/180] Disable smoke test of visit in CI pipelines (#5142) --- .ci/gitlab/configs/ci.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.ci/gitlab/configs/ci.yaml b/.ci/gitlab/configs/ci.yaml index e9db3e4bb14..549ca30d35a 100644 --- a/.ci/gitlab/configs/ci.yaml +++ b/.ci/gitlab/configs/ci.yaml @@ -4,6 +4,7 @@ ci: broken-tests-packages: - superlu-dist # srun -n 4 hangs - papyrus + - visit # times out pipeline-gen: - build-job: From fcef5bf6ad711f0a9b5fe59cc374a9417bb0c25a Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Wed, 10 Jun 2026 18:46:39 +0200 Subject: [PATCH 158/180] util-linux: add v2.42.1, v2.41.4 and deprecate old versions (#5151) Add new versions that can compile with glibc@2.42: Signed-off-by: Massimiliano Culpo --- .../builtin/packages/util_linux/package.py | 71 +++++++++++++------ 1 file changed, 51 insertions(+), 20 deletions(-) diff --git a/repos/spack_repo/builtin/packages/util_linux/package.py b/repos/spack_repo/builtin/packages/util_linux/package.py index b95e0e8f75a..896c1b74836 100644 --- a/repos/spack_repo/builtin/packages/util_linux/package.py +++ b/repos/spack_repo/builtin/packages/util_linux/package.py @@ -19,26 +19,57 @@ class UtilLinux(AutotoolsPackage): license("GPL-2.0-only", checked_by="wdconinc") - version("2.40.2", sha256="7bec316b713a14c6be1a5721aa0e56a3b6170277329e6e1f1a56013cc91eece0") - version("2.40", sha256="2a51d08cb71fd8e491e0cf633032c928f9a2848417f8441cb8cf7ef9971de916") - version("2.39.3", sha256="40ea07584d56c310455471afa92c119ec259776a561af7159cc802344c2c370d") - version("2.39.1", sha256="d7c8a58eb2c7248a32754eb3a3b6772e368b984d9907ada834c2cf3e13024270") - version("2.38.1", sha256="0820eb8eea90408047e3715424bc6be771417047f683950fecb4bdd2e2cbbc6e") - version("2.38", sha256="c31d4e54f30b56b0f7ec8b342658c07de81378f2c067941c2b886da356f8ad42") - version("2.37.4", sha256="c8b7b4fa541f974cc32c1c6559d9bfca33651020a456ad6ee5fc9b0cacd00151") - version("2.37.2", sha256="15db966474e459b33fa390a6b892190a92079a73ca45384cde4c86e6ed265a86") - version("2.37.1", sha256="0fe9ee8ee7f157be8abcfc2902ec8de9fe30b39173b84e4c458675cef4709b35") - version("2.37", sha256="faa8b46d080faa6f32c57da81eda871e38e1e27ba4e9b61cb2589334671aba50") - version("2.36.2", sha256="f5dbe79057e7d68e1a46fc04083fc558b26a49499b1b3f50e4f4893150970463") - version("2.36", sha256="82942cd877a989f6d12d4ce2c757fb67ec53d8c5cd9af0537141ec5f84a2eea3") - version("2.35.1", sha256="37ac05d82c6410d89bc05d43cee101fefc8fe6cf6090b3ce7a1409a6f35db606") - version("2.35", sha256="98acab129a8490265052e6c1e033ca96d68758a13bb7fcd232c06bf16cc96238") - version("2.34", sha256="b62c92e5e1629642113cd41cec1ee86d1ee7e36b8ffe8ec3ac89c11797e9ac25") - version("2.33.1", sha256="e15bd3142b3a0c97fffecaed9adfdef8ab1d29211215d7ae614c177ef826e73a") - version("2.33", sha256="952fb0d3498e81bd67b3c48e283c80cb12c719bc2357ec5801e7d420991ad319") - version("2.29.2", sha256="29ccdf91d2c3245dc705f0ad3bf729ac41d8adcdbeff914e797c552ecb04a4c7") - version("2.29.1", sha256="a6a7adba65a368e6dad9582d9fbedee43126d990df51266eaee089a73c893653") - version("2.25", sha256="7e43273a9e2ab99b5a54ac914fddf5d08ba7ab9b114c550e9f03474672bd23a1") + version("2.42.1", sha256="36d2cfa2ae336732e144c36ceafdf3ed86319f5d7413a49bedb0a773e7833fe3") + version("2.41.4", sha256="843d7bfb2c9a3413cd9ba4f6d7580e73761b06f7264832d5a2fcb5cc1563b938") + + # @:2.40.2 fail to build with glibc@2.42: bsearch() became a type-safety macro and lsfd.c + # passed a compound literal with a trailing comma as its first argument, which the + # preprocessor split into two tokens. + with default_args(deprecated=True): + version( + "2.40.2", sha256="7bec316b713a14c6be1a5721aa0e56a3b6170277329e6e1f1a56013cc91eece0" + ) + version("2.40", sha256="2a51d08cb71fd8e491e0cf633032c928f9a2848417f8441cb8cf7ef9971de916") + version( + "2.39.3", sha256="40ea07584d56c310455471afa92c119ec259776a561af7159cc802344c2c370d" + ) + version( + "2.39.1", sha256="d7c8a58eb2c7248a32754eb3a3b6772e368b984d9907ada834c2cf3e13024270" + ) + version( + "2.38.1", sha256="0820eb8eea90408047e3715424bc6be771417047f683950fecb4bdd2e2cbbc6e" + ) + version("2.38", sha256="c31d4e54f30b56b0f7ec8b342658c07de81378f2c067941c2b886da356f8ad42") + version( + "2.37.4", sha256="c8b7b4fa541f974cc32c1c6559d9bfca33651020a456ad6ee5fc9b0cacd00151" + ) + version( + "2.37.2", sha256="15db966474e459b33fa390a6b892190a92079a73ca45384cde4c86e6ed265a86" + ) + version( + "2.37.1", sha256="0fe9ee8ee7f157be8abcfc2902ec8de9fe30b39173b84e4c458675cef4709b35" + ) + version("2.37", sha256="faa8b46d080faa6f32c57da81eda871e38e1e27ba4e9b61cb2589334671aba50") + version( + "2.36.2", sha256="f5dbe79057e7d68e1a46fc04083fc558b26a49499b1b3f50e4f4893150970463" + ) + version("2.36", sha256="82942cd877a989f6d12d4ce2c757fb67ec53d8c5cd9af0537141ec5f84a2eea3") + version( + "2.35.1", sha256="37ac05d82c6410d89bc05d43cee101fefc8fe6cf6090b3ce7a1409a6f35db606" + ) + version("2.35", sha256="98acab129a8490265052e6c1e033ca96d68758a13bb7fcd232c06bf16cc96238") + version("2.34", sha256="b62c92e5e1629642113cd41cec1ee86d1ee7e36b8ffe8ec3ac89c11797e9ac25") + version( + "2.33.1", sha256="e15bd3142b3a0c97fffecaed9adfdef8ab1d29211215d7ae614c177ef826e73a" + ) + version("2.33", sha256="952fb0d3498e81bd67b3c48e283c80cb12c719bc2357ec5801e7d420991ad319") + version( + "2.29.2", sha256="29ccdf91d2c3245dc705f0ad3bf729ac41d8adcdbeff914e797c552ecb04a4c7" + ) + version( + "2.29.1", sha256="a6a7adba65a368e6dad9582d9fbedee43126d990df51266eaee089a73c893653" + ) + version("2.25", sha256="7e43273a9e2ab99b5a54ac914fddf5d08ba7ab9b114c550e9f03474672bd23a1") depends_on("c", type="build") # generated From 020736762a7511a78a685d06367129093c2bd374 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 10 Jun 2026 11:24:06 -0600 Subject: [PATCH 159/180] libunwind: disable outdated conflict for aarch64 (#5063) --- repos/spack_repo/builtin/packages/libunwind/package.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/repos/spack_repo/builtin/packages/libunwind/package.py b/repos/spack_repo/builtin/packages/libunwind/package.py index 47335ef9670..bff1dbd60eb 100644 --- a/repos/spack_repo/builtin/packages/libunwind/package.py +++ b/repos/spack_repo/builtin/packages/libunwind/package.py @@ -102,8 +102,6 @@ class Libunwind(AutotoolsPackage): conflicts("target=ppc64:", when="@1.8") conflicts("target=ppc64le:", when="@1.8") - conflicts("target=aarch64:", when="@1.8:") - # https://github.com/libunwind/libunwind/issues/672 conflicts("%gcc@14:", when="@1.7.2") From e25fc46b98fc0b0516201138730c9cd1689c7296 Mon Sep 17 00:00:00 2001 From: Simon Bolt <73706905+sibcse@users.noreply.github.com> Date: Wed, 10 Jun 2026 22:13:18 +0200 Subject: [PATCH 160/180] eccodes: add v2.44 & v2.47, eccodes_cosmo_resources: add v2.44 (#5154) Co-authored-by: Simon Bolt --- repos/spack_repo/builtin/packages/eccodes/package.py | 2 ++ .../builtin/packages/eccodes_cosmo_resources/package.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/repos/spack_repo/builtin/packages/eccodes/package.py b/repos/spack_repo/builtin/packages/eccodes/package.py index 3006a777d07..293f7538ccc 100644 --- a/repos/spack_repo/builtin/packages/eccodes/package.py +++ b/repos/spack_repo/builtin/packages/eccodes/package.py @@ -51,8 +51,10 @@ class Eccodes(CMakePackage): version("develop", branch="develop") + version("2.47.0", sha256="82da819aa9b51831dc14b3bf2918bfee50b1cd53a05088d0c3f4493758aae094") version("2.46.0", sha256="7d959253d5e34aeb16caa14d4889ac06486d19821216743142733a32ee7b4935") version("2.45.0", sha256="6c84b39d7cc5e3b8330eeabe880f3e337f9b2ee1ebce20ea03eecd785f6c39a1") + version("2.44.0", sha256="c75fb1f91b765b6b8b4774632a8a6fbcec96934db015fb63c2ad2560aedd443b") version("2.42.0", sha256="60371b357cb011dee546db2eabace5b7e27f0f87d3ea4a5adde7891371b3c128") version("2.41.0", sha256="a1467842e11ed7f62a2f5cc1982e04eec62398f4962e6ba03ace7646f32cf270") version("2.40.0", sha256="f58d5d7390fce86c62b26d76b9bc3c4d7d9a6cf2e5f8145d1d598089195e51ff") diff --git a/repos/spack_repo/builtin/packages/eccodes_cosmo_resources/package.py b/repos/spack_repo/builtin/packages/eccodes_cosmo_resources/package.py index 394f18e3da6..b863fc69591 100644 --- a/repos/spack_repo/builtin/packages/eccodes_cosmo_resources/package.py +++ b/repos/spack_repo/builtin/packages/eccodes_cosmo_resources/package.py @@ -20,6 +20,7 @@ class EccodesCosmoResources(Package): maintainers("huppd", "lxavier", "victoria-cherkas") + version("2.44.0.1", sha256="0413a791e53e2d2a120c7aea92560a729d2a8bb202b6fbcfa691911a2d066f06") version("2.36.0.3", sha256="503a1b5f8a0aefc782e0faab52960d957d1d73f042ea4e1ac6e4888e53784125") version("2.25.0.3", sha256="f2ebf768a489c17d6b3fbb49c27b50c2806d48cc03c4aa93a9e9bca0ff44c599") version("2.25.0.2", sha256="1fa3d3734583f98eee1a45e1a3cf9e340b8ca5fbe879dd6992db88e8a4db98a7") @@ -27,6 +28,7 @@ class EccodesCosmoResources(Package): version("2.18.0.1", sha256="666e14a3841f168a231487a55eea58fa5a6209a65a1f8a6ef02af713fa6fcbe7") depends_on("eccodes") + depends_on("eccodes@2.44.0", type=("build", "link", "run"), when="@2.44.0.1") depends_on("eccodes@2.36.4", type=("build", "link", "run"), when="@2.36.0.3") depends_on("eccodes@2.25.0", type=("build", "link", "run"), when="@2.25.0.1:2.25.0.3") depends_on("eccodes@2.18.0", type=("build", "link", "run"), when="@2.18.0.1") From 6489ea2d5a019715c24708a4d6cc004ecc594c6e Mon Sep 17 00:00:00 2001 From: Christoph Stelz Date: Wed, 10 Jun 2026 22:43:47 +0200 Subject: [PATCH 161/180] raxml-ng: add v2.0.2 (#5139) * raxml-ng: add 2.0.2 * Update repos/spack_repo/builtin/packages/raxml_ng/package.py Co-authored-by: Alec Scott --------- Co-authored-by: Christoph Stelz Co-authored-by: Alec Scott --- repos/spack_repo/builtin/packages/raxml_ng/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/repos/spack_repo/builtin/packages/raxml_ng/package.py b/repos/spack_repo/builtin/packages/raxml_ng/package.py index 1bb5b32c97b..9e95a74eca5 100644 --- a/repos/spack_repo/builtin/packages/raxml_ng/package.py +++ b/repos/spack_repo/builtin/packages/raxml_ng/package.py @@ -22,8 +22,11 @@ class RaxmlNg(CMakePackage): url = "https://github.com/amkozlov/raxml-ng/archive/2.0.0.tar.gz" git = "https://github.com/amkozlov/raxml-ng.git" + maintainers("stelzch") + license("AGPL-3.0-only") + version("2.0.2", submodules=True, commit="0ee964320a3288c09e3acc6ac92a1b555cc94e2e") version("2.0.1", submodules=True, commit="a7d61b56d2e0e6e263e4686bcbd0017659b37711") version("2.0.0", submodules=True, commit="e995a54dda83e440ee15e890093c5b2718787043") version("1.2.2", submodules=True, commit="805318cef87bd5d67064efa299b5d1cf948367fd") From a74d36c89f627f5c2ce1533a4164678a7380db5d Mon Sep 17 00:00:00 2001 From: Cory Quammen Date: Wed, 10 Jun 2026 17:52:59 -0400 Subject: [PATCH 162/180] paraview: add v6.1.1 (#5140) --- repos/spack_repo/builtin/packages/paraview/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/paraview/package.py b/repos/spack_repo/builtin/packages/paraview/package.py index 3a6bd884a08..83b8bb23593 100644 --- a/repos/spack_repo/builtin/packages/paraview/package.py +++ b/repos/spack_repo/builtin/packages/paraview/package.py @@ -64,6 +64,7 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage): license("Apache-2.0") version("master", branch="master", submodules=True) + version("6.1.1", sha256="43671df11e1629cf9079815bfdfa9f22063a90cd1baed694072f80622f5ad92f") version("6.1.0", sha256="4e9d882874b2a161f3338a6644a5d8bc63748f0d7846f4690701b86a8a821dfc") version("6.0.1", sha256="5e56ac7af5e925b3cfd3fab82470933cbabc7e8fda87e14af64f995d6064eb06") version("6.0.0", sha256="0ee07ae6377e5e97766aebf858eb9758668a52df041f319e7c975037a63bf189") From ed4e413587bf2175317fe16d712a0c4ad18de233 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Thu, 11 Jun 2026 08:26:34 +0200 Subject: [PATCH 163/180] openmpi: fix build with gcc 16 (#5148) Signed-off-by: Massimiliano Culpo --- .../builtin/packages/openmpi/package.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/repos/spack_repo/builtin/packages/openmpi/package.py b/repos/spack_repo/builtin/packages/openmpi/package.py index 57b79a48a21..e6705c2ee58 100644 --- a/repos/spack_repo/builtin/packages/openmpi/package.py +++ b/repos/spack_repo/builtin/packages/openmpi/package.py @@ -518,6 +518,23 @@ class Openmpi(AutotoolsPackage, CudaPackage, ROCmPackage): # https://github.com/open-mpi/ompi/commit/aa5577441ff1ab7f97f8b63e442b37457c7bd997 patch("add_string.patch", when="@5.0.1:5.0.8 +rocm") + # GCC 16: drop __opal_attribute_always_inline__ from mca_part_persist_start + # to fix "inlining failed in call to always_inline: recursive inlining" error + # https://github.com/open-mpi/ompi/issues/13721 + patch( + "https://github.com/open-mpi/ompi/commit/aa024ac73d624611cfe3af6f541b5d28dedf07bb.patch?full_index=1", + sha256="646eb1a7382d628eb821715ca69fc5467a9a25aaddfe8290dbce008536dbfaa0", + when="@5.0.0:", + ) + + # GCC 16: fix excessive brace initialization in memheap_base_frame.c + # https://github.com/open-mpi/ompi/issues/13757 + patch( + "https://github.com/open-mpi/ompi/commit/b878c7d974dae767246ad20ef9124a331d0f59a4.patch?full_index=1", + sha256="1dcebafdb310203f3b62456a5ba67e1a21ad3a88aaf40326734885d7b0d776f9", + when="@5.0.0: +openshmem", + ) + FABRICS = ( "psm", "psm2", From 81bd1863a3767db1c283cb28d0c6037c86aeeb53 Mon Sep 17 00:00:00 2001 From: Matthew Mehrtens <12023414+mcmehrtens@users.noreply.github.com> Date: Thu, 11 Jun 2026 01:35:27 -0600 Subject: [PATCH 164/180] neovim: add 0.12.3 (#5173) --- repos/spack_repo/builtin/packages/neovim/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/neovim/package.py b/repos/spack_repo/builtin/packages/neovim/package.py index ec21b97aaa6..4a4905ada3f 100644 --- a/repos/spack_repo/builtin/packages/neovim/package.py +++ b/repos/spack_repo/builtin/packages/neovim/package.py @@ -20,6 +20,7 @@ class Neovim(CMakePackage): version("master", branch="master") version("stable", tag="stable") + version("0.12.3", sha256="36a6c66bfbba5d96fa512110aecddb981148a4d013b5ecd01a42877c49855a41") version("0.12.2", sha256="ef9f58da7d687ed4d1dad9715542bf0dabdeedbfe8089e2ce17fff21b920a268") version("0.12.1", sha256="41898a5073631bc8fd9ac43476b811c05fb3b88ffb043d4fbb9e75e478457336") version("0.12.0", sha256="76b4875fc1a4805a807a9fa53ff0c8fb081620137a40fb879b32436e375aeb65") From 7590c917d568821b06488bbc7b8d4b673301f089 Mon Sep 17 00:00:00 2001 From: Kenneth Moreland Date: Thu, 11 Jun 2026 14:27:05 +0100 Subject: [PATCH 165/180] paraview: fix check in catalyst (#5047) The patch for https://gitlab.kitware.com/vtk/vtk/-/merge_requests/13127 was missing a check for the existance of the CMake function vtk_add_viskores_device_target_information. This has been added to the patch. --- ...k-consolidate-viskores-wrapping-pv61.patch | 46 ++----------------- 1 file changed, 5 insertions(+), 41 deletions(-) diff --git a/repos/spack_repo/builtin/packages/paraview/vtk-consolidate-viskores-wrapping-pv61.patch b/repos/spack_repo/builtin/packages/paraview/vtk-consolidate-viskores-wrapping-pv61.patch index 5c6c5281ab6..21c7f46224f 100644 --- a/repos/spack_repo/builtin/packages/paraview/vtk-consolidate-viskores-wrapping-pv61.patch +++ b/repos/spack_repo/builtin/packages/paraview/vtk-consolidate-viskores-wrapping-pv61.patch @@ -19,10 +19,9 @@ flags. Accelerators/Vtkm/DataModel/CMakeLists.txt | 29 +---------------- .../Vtkm/DataModel/Testing/Cxx/CMakeLists.txt | 28 ---------------- Accelerators/Vtkm/Filters/CMakeLists.txt | 26 +-------------- - .../Vtkm/Filters/Testing/Cxx/CMakeLists.txt | 25 --------------- IO/CatalystConduit/CMakeLists.txt | 19 ++--------- ThirdParty/viskores/CMakeLists.txt | 17 +++++++++- - 9 files changed, 21 insertions(+), 186 deletions(-) + 8 files changed, 21 insertions(+), 186 deletions(-) diff --git a/Accelerators/Vtkm/Core/CMakeLists.txt b/Accelerators/Vtkm/Core/CMakeLists.txt index 0501715be03..3e863bc7b4c 100644 @@ -241,48 +240,11 @@ index 4eb9989da51..c24edd94be7 100644 if (MSVC) set(msvc_warning_flags -diff --git a/Accelerators/Vtkm/Filters/Testing/Cxx/CMakeLists.txt b/Accelerators/Vtkm/Filters/Testing/Cxx/CMakeLists.txt -index d72f0bd7ffe..6f6ec073cb7 100644 ---- a/Accelerators/Vtkm/Filters/Testing/Cxx/CMakeLists.txt -+++ b/Accelerators/Vtkm/Filters/Testing/Cxx/CMakeLists.txt -@@ -28,32 +28,7 @@ vtk_add_test_cxx(vtkAcceleratorsVTKmFiltersCxxTests tests - TestVTKMWarpVector.cxx,NO_SERDES - ) - --if (TARGET VTK::vtkviskores_cuda) -- foreach(src IN LISTS tests) -- string(REPLACE "," ";" src ${src}) -- list(GET src 0 src) -- -- set_source_files_properties(${src} PROPERTIES LANGUAGE CUDA) -- endforeach() -- -- #the tests aren't scoped as a child directory of vtkAcceleratorsVTKmFilters -- #so we need to redo this logic -- viskores_get_cuda_flags(CMAKE_CUDA_FLAGS) -- -- # Temporarily suppress "has address taken but no possible call to it" warnings, -- # until we figure out its implications. -- # We are disabling all warnings as nvlink has no known way to suppress -- # individual warning types. -- string(APPEND CMAKE_CUDA_FLAGS " -Xnvlink -w") -- --endif() -- - - vtk_test_cxx_executable(vtkAcceleratorsVTKmFiltersCxxTests tests - RENDERING_FACTORY - ) -- --if (TARGET VTK::vtkviskores_cuda) -- set_target_properties(vtkAcceleratorsVTKmFiltersCxxTests PROPERTIES -- CUDA_ARCHITECTURES OFF) --endif() diff --git a/IO/CatalystConduit/CMakeLists.txt b/IO/CatalystConduit/CMakeLists.txt index 91d60f1638c..d1d6049279a 100644 --- a/IO/CatalystConduit/CMakeLists.txt +++ b/IO/CatalystConduit/CMakeLists.txt -@@ -16,23 +16,8 @@ vtk_module_add_module(VTK::IOCatalystConduit +@@ -16,23 +16,10 @@ vtk_module_add_module(VTK::IOCatalystConduit CLASSES ${classes} PRIVATE_CLASSES ${private_classes}) @@ -304,7 +266,9 @@ index 91d60f1638c..d1d6049279a 100644 -endif () - +_vtk_module_real_target(vtkm_accel_target VTK::IOCatalystConduit) -+vtk_add_viskores_device_target_information(${vtkm_accel_target}) ++if (TARGET VTK::vtkviskores) ++ vtk_add_viskores_device_target_information(${vtkm_accel_target}) ++endif() vtk_add_test_mangling(VTK::IOCatalystConduit) add_subdirectory(Catalyst) From 85471bf4a21e59db901f9fdcc9c4e49bb6410b44 Mon Sep 17 00:00:00 2001 From: Ryan Krattiger <80296582+kwryankrattiger@users.noreply.github.com> Date: Thu, 11 Jun 2026 11:04:51 -0500 Subject: [PATCH 166/180] paraview: drop deprecated versions (#5064) * ParaView: Drop deprecated versions and remove dead code Signed-off-by: Ryan Krattiger * ParaView: Deprecate 6.0.0 in favor of 6.0.1 Signed-off-by: Ryan Krattiger * Drop dependencies on older paraview foam-extend no longer has a paraview old enough for support, drop variant openfoam: drop support for paraview in older versions sensei: drop support for paraview in older versions * remove variant_bool wrapper, it is not needed * consolidate all of the define_from_variant options to top level list * replace @5:5 syntax with @5 --------- Signed-off-by: Ryan Krattiger --- .../builtin/packages/foam_extend/package.py | 14 - .../builtin/packages/openfoam/package.py | 9 +- .../builtin/packages/paraview/package.py | 381 +++++------------- .../builtin/packages/sensei/package.py | 19 +- 4 files changed, 106 insertions(+), 317 deletions(-) diff --git a/repos/spack_repo/builtin/packages/foam_extend/package.py b/repos/spack_repo/builtin/packages/foam_extend/package.py index 698f6408bb7..a6c4f6bf7cd 100644 --- a/repos/spack_repo/builtin/packages/foam_extend/package.py +++ b/repos/spack_repo/builtin/packages/foam_extend/package.py @@ -63,7 +63,6 @@ class FoamExtend(Package): # variant('int64', default=False, # description='Compile with 64-bit label') variant("float32", default=False, description="Compile with 32-bit scalar (single-precision)") - variant("paraview", default=False, description="Build paraview plugins (eg, paraFoam)") variant("scotch", default=True, description="With scotch for decomposition") variant("ptscotch", default=True, description="With ptscotch for decomposition") variant("metis", default=True, description="With metis for decomposition") @@ -89,7 +88,6 @@ class FoamExtend(Package): depends_on("parmetis", when="+parmetis") # mgridgen is statically linked depends_on("parmgridgen", when="+parmgridgen", type="build") - depends_on("paraview@:5.0.1", when="+paraview") depends_on("mesquite") # General patches @@ -336,18 +334,6 @@ def configure(self, spec, prefix): "PARMGRIDGEN_INCLUDE_DIR": pkg.include, } - if self.spec.satisfies("+paraview"): - self.etc_prefs["paraview"] = { - "PARAVIEW_SYSTEM": 1, - "PARAVIEW_DIR": spec["paraview"].prefix, - "PARAVIEW_BIN_DIR": spec["paraview"].prefix.bin, - } - self.etc_prefs["qt"] = { - "QT_SYSTEM": 1, - "QT_DIR": spec["qt"].prefix, - "QT_BIN_DIR": spec["qt"].prefix.bin, - } - # Write prefs files according to the configuration. # Only need prefs.sh for building, but install both for end-users write_environ( diff --git a/repos/spack_repo/builtin/packages/openfoam/package.py b/repos/spack_repo/builtin/packages/openfoam/package.py index 9d63f69bc2a..4e825024a74 100644 --- a/repos/spack_repo/builtin/packages/openfoam/package.py +++ b/repos/spack_repo/builtin/packages/openfoam/package.py @@ -357,7 +357,10 @@ class Openfoam(Package): variant("zoltan", default=False, description="With zoltan renumbering") variant("mgridgen", default=False, description="With mgridgen support") variant( - "paraview", default=False, description="Build paraview plugins and runtime post-processing" + "paraview", + default=False, + description="Build paraview plugins and runtime post-processing", + when="@1706:", ) variant("vtk", default=False, description="With VTK runTimePostProcessing") variant( @@ -431,9 +434,7 @@ class Openfoam(Package): # ~/.spack/packages.yaml # 1706 ok with newer paraview but avoid pv-5.2, pv-5.3 readers - depends_on("paraview@5.4:", when="@1706:+paraview") - # 1612 plugins need older paraview - depends_on("paraview@:5.0.1", when="@1612+paraview") + depends_on("paraview", when="@1706:+paraview") # Icx only support from v2106 onwards conflicts("%oneapi", when="@:2012", msg="OneAPI compiler not supported. Try v2106 or greater.") diff --git a/repos/spack_repo/builtin/packages/paraview/package.py b/repos/spack_repo/builtin/packages/paraview/package.py index 83b8bb23593..e9a226e9221 100644 --- a/repos/spack_repo/builtin/packages/paraview/package.py +++ b/repos/spack_repo/builtin/packages/paraview/package.py @@ -67,12 +67,12 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage): version("6.1.1", sha256="43671df11e1629cf9079815bfdfa9f22063a90cd1baed694072f80622f5ad92f") version("6.1.0", sha256="4e9d882874b2a161f3338a6644a5d8bc63748f0d7846f4690701b86a8a821dfc") version("6.0.1", sha256="5e56ac7af5e925b3cfd3fab82470933cbabc7e8fda87e14af64f995d6064eb06") - version("6.0.0", sha256="0ee07ae6377e5e97766aebf858eb9758668a52df041f319e7c975037a63bf189") version("5.13.3", sha256="3bd31bb56e07aa2af2a379895745bbc430c565518a363d935f2efc35b076df09") version("5.12.1", sha256="927f880c13deb6dde4172f4727d2b66f5576e15237b35778344f5dd1ddec863e") version("5.11.2", sha256="5c5d2f922f30d91feefc43b4a729015dbb1459f54c938896c123d2ac289c7a1e") with default_args(deprecated=True): + version("6.0.0", sha256="0ee07ae6377e5e97766aebf858eb9758668a52df041f319e7c975037a63bf189") version( "5.13.2", sha256="4e116250f8e1a9c480f97c5696c9cd72b4d4998b039ca46da8b224f27445f13e" ) @@ -91,40 +91,17 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage): version( "5.11.0", sha256="9a0b8fe8b1a2cdfd0ace9a87fa87e0ec21ee0f6f0bcb1fdde050f4f585a25165" ) - version( - "5.10.1", sha256="520e3cdfba4f8592be477314c2f6c37ec73fb1d5b25ac30bdbd1c5214758b9c2" - ) - version( - "5.10.0", sha256="86d85fcbec395cdbc8e1301208d7c76d8f48b15dc6b967ffbbaeee31242343a5" - ) - version("5.9.1", sha256="0d486cb6fbf55e428845c9650486f87466efcb3155e40489182a7ea85dfd4c8d") - version("5.9.0", sha256="b03258b7cddb77f0ee142e3e77b377e5b1f503bcabc02bfa578298c99a06980d") - version("5.8.1", sha256="7653950392a0d7c0287c26f1d3a25cdbaa11baa7524b0af0e6a1a0d7d487d034") - version("5.8.0", sha256="219e4107abf40317ce054408e9c3b22fb935d464238c1c00c0161f1c8697a3f9") - version("5.7.0", sha256="e41e597e1be462974a03031380d9e5ba9a7efcdb22e4ca2f3fec50361f310874") - version("5.6.2", sha256="1f3710b77c58a46891808dbe23dc59a1259d9c6b7bb123aaaeaa6ddf2be882ea") - version("5.6.0", sha256="cb8c4d752ad9805c74b4a08f8ae6e83402c3f11e38b274dba171b99bb6ac2460") - version("5.5.2", sha256="64561f34c4402b88f3cb20a956842394dde5838efd7ebb301157a837114a0e2d") - version("5.5.1", sha256="a6e67a95a7a5711a2b5f95f38ccbff4912262b3e1b1af7d6b9afe8185aa85c0d") - version("5.5.0", sha256="1b619e326ff574de808732ca9a7447e4cd14e94ae6568f55b6581896cd569dff") - version("5.4.1", sha256="390d0f5dc66bf432e202a39b1f34193af4bf8aad2355338fa5e2778ea07a80e4") - version("5.4.0", sha256="f488d84a53b1286d2ee1967e386626c8ad05a6fe4e6cbdaa8d5e042f519f94a9") - version("5.3.0", sha256="046631bbf00775edc927314a3db207509666c9c6aadc7079e5159440fd2f88a0") - version("5.2.0", sha256="894e42ef8475bb49e4e7e64f4ee2c37c714facd18bfbb1d6de7f69676b062c96") - version("5.1.2", sha256="ff02b7307a256b7c6e8ad900dee5796297494df7f9a0804fe801eb2f66e6a187") - version("5.0.1", sha256="caddec83ec284162a2cbc46877b0e5a9d2cca59fb4ab0ea35b0948d2492950bb") - version("4.4.0", sha256="c2dc334a89df24ce5233b81b74740fc9f10bc181cd604109fd13f6ad2381fc73") variant( "development_files", default=True, description="Install include files for Catalyst or plugins support", ) - variant("python", default=False, description="Enable Python support", when="@5.8:") + variant("python", default=False, description="Enable Python support") variant("fortran", default=False, description="Enable Fortran support") variant("mpi", default=True, description="Enable MPI support") variant("qt", default=False, description="Enable Qt (gui) support") - variant("opengl2", default=True, description="Enable OpenGL2 backend", when="@5:5") + variant("opengl2", default=True, description="Enable OpenGL2 backend", when="@5") variant("osmesa_fallback", default=False, description="Enable OpenGL2 backend", when="@6:") variant("x", default=True, description="Enable X11 support") variant("examples", default=False, description="Build examples") @@ -135,8 +112,8 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage): variant("eyedomelighting", default=False, description="Enable Eye Dome Lighting feature") variant("nvindex", default=False, description="Enable the pvNVIDIAIndeX plugin") variant("tbb", default=False, description="Enable multi-threaded parallelism with TBB") - variant("adios2", default=False, description="Enable ADIOS2 support", when="@5.8:") - variant("fides", default=False, description="Enable Fides support", when="@5.9:") + variant("adios2", default=False, description="Enable ADIOS2 support") + variant("fides", default=False, description="Enable Fides support") variant("visitbridge", default=False, description="Enable VisItBridge support") variant("raytracing", default=False, description="Enable Raytracing support") variant("cdi", default=False, description="Enable CDI support") @@ -146,12 +123,11 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage): description="Enable openPMD support (w/ ADIOS2/HDF5)", when="@5.9: +python", ) - variant("catalyst", default=False, description="Enable Catalyst 1", when="@5.7:") + variant("catalyst", default=False, description="Enable Catalyst 1") variant( "libcatalyst", default=False, description="Enable Catalyst 2 (libcatalyst) implementation", - when="@5.10:", ) variant( @@ -170,7 +146,7 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage): variant( "use_vtkm", default="default", - when="@5.3.0:5.13", + when="@5", multi=False, values=("default", "on", "off"), description="Build VTK-m with ParaView." @@ -179,35 +155,17 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage): ) conflicts("~hdf5", when="+visitbridge") - conflicts("+adios2", when="@:5.10 ~mpi") conflicts("+fides", when="~adios2", msg="Fides needs ADIOS2") - conflicts("+fides", when="@:5 use_vtkm=off", msg="Fides needs VTK-m") - conflicts("+fides", when="@:5 use_vtkm=default", msg="Fides needs VTK-m") + conflicts("+fides", when="@5 use_vtkm=off", msg="Fides needs VTK-m") + conflicts("+fides", when="@5 use_vtkm=default", msg="Fides needs VTK-m") conflicts("+openpmd", when="~adios2 ~hdf5", msg="openPMD needs ADIOS2 and/or HDF5") conflicts("~shared", when="+cuda") - conflicts("+cuda", when="@5.8:5.10") conflicts("+cuda", when="use_vtkm=off") conflicts("+rocm", when="+cuda") conflicts("+rocm", when="use_vtkm=off") - conflicts("paraview@:5.10", when="+rocm") # Legacy rendering dropped in 5.5 # See commit: https://gitlab.kitware.com/paraview/paraview/-/commit/798d328c - conflicts("~opengl2", when="@5.5:5") - # in 5.7 you cannot reduce the size of the code for Catalyst builds. - conflicts("build_edition=catalyst_rendering", when="@:5.7") - conflicts("build_edition=catalyst", when="@:5.7") - conflicts("build_edition=rendering", when="@:5.7") - conflicts("build_edition=core", when="@:5.7") - # before 5.3.0, ParaView didn't have VTK-m/Viskores - conflicts("+cuda", when="@:5.3") - conflicts("+rocm", when="@:5.3") - # paraview@5.9.0 is recommended when using the xl compiler - # See https://gitlab.kitware.com/paraview/paraview/-/merge_requests/4433 - conflicts( - "paraview@:5.8", - when="%xl_r", - msg="Use paraview@5.9.0 with %xl_r. Earlier versions are not able to build with xl.", - ) + conflicts("~opengl2", when="@5") depends_on("c", type="build") # generated depends_on("cxx", type="build") # generated @@ -218,10 +176,7 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage): extends("python", when="+python") - # VTK < 8.2.1 can't handle Python 3.8 - # This affects Paraview <= 5.7 (VTK 8.2.0) - # https://gitlab.kitware.com/vtk/vtk/-/issues/17670 - depends_on("python@3:", when="@5.8:+python", type=("build", "run")) + depends_on("python@3:", when="+python", type=("build", "run")) depends_on("py-numpy", when="+python", type=("build", "run")) depends_on("py-mpi4py", when="+python+mpi", type=("build", "run")) @@ -252,19 +207,18 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage): depends_on("libx11") depends_on("libxcursor") # When Qt and X are enabled, GLX is required in the runtime - requires("^[virtuals=gl] glx", when="@:5") + requires("^[virtuals=gl] glx", when="@5") depends_on("glx", when="@6:", type=("run")) - # ParaView@:5 support Qt5 and requires a GL provider to be known at + # ParaView@5 support Qt5 and requires a GL provider to be known at # build/link time. - with when("@:5"): + with when("@5"): with when("+qt"): - depends_on("qt@:4", when="@:5.2.0") # https://discourse.paraview.org/t/paraview-5-9-and-minimum-recommended-qt-version/5333 - depends_on("qt@5.12:5", when="@5.9:5.13") + depends_on("qt@5.12:5", when="@5") depends_on("qt+sql") - depends_on("qt+opengl", when="@5.3.0:5 +opengl2") - depends_on("qt~opengl", when="@5.3.0:5 ~opengl2") + depends_on("qt+opengl", when="@5 +opengl2") + depends_on("qt~opengl", when="@5 ~opengl2") # Headless rendering not supported with Qt conflicts("osmesa") conflicts("egl") @@ -356,12 +310,9 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage): depends_on("expat") depends_on("eigen@3") depends_on("freetype") - depends_on("freetype@:2.10.2", when="@:5.8") - # depends_on('hdf5+mpi', when='+mpi') - # depends_on('hdf5~mpi', when='~mpi') depends_on("hdf5+hl+mpi", when="+hdf5+mpi") depends_on("hdf5+hl~mpi", when="+hdf5~mpi") - depends_on("hdf5@1.10:", when="+hdf5 @5.10:") + depends_on("hdf5@1.10:", when="+hdf5") depends_on("adios2+mpi", when="+adios2+mpi") depends_on("adios2~mpi", when="+adios2~mpi") depends_on("silo", when="+visitbridge") @@ -378,20 +329,14 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage): depends_on("netcdf-c+parallel-netcdf", when="+mpi platform=darwin") depends_on("netcdf-c+parallel-netcdf", when="+mpi platform=freebsd") depends_on("netcdf-c+parallel-netcdf", when="+mpi platform=linux") - depends_on("netcdf-c@:4.9.2", when="@:5.13") + depends_on("netcdf-c@:4.9.2", when="@5") depends_on("pegtl@2.8.3") depends_on("protobuf@3.4:") - # Paraview 5.10 can't build with protobuf > 3.18 - # https://github.com/spack/spack/issues/37437 - depends_on("protobuf@3.4:3.18", when="@:5.10%oneapi") - depends_on("protobuf@3.4:3.18", when="@:5.10%intel@2021:") - depends_on("protobuf@3.4:3.18", when="@:5.10%xl") - depends_on("protobuf@3.4:3.18", when="@:5.10%xl_r") # protobuf requires newer abseil-cpp, which in turn requires C++14, - # but paraview uses C++11 by default. Use for 5.8+ until ParaView updates + # but paraview uses C++11 by default. Use until ParaView updates # its C++ standard level. - depends_on("protobuf@3.4:21", when="@5.8:%gcc") - depends_on("protobuf@3.4:21", when="@5.8:%clang") + depends_on("protobuf@3.4:21", when="%gcc") + depends_on("protobuf@3.4:21", when="%clang") depends_on("protobuf@3.4:21", when="@5.11:") depends_on("protobuf@3.4:21", when="@master") depends_on("libxml2") @@ -402,14 +347,13 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage): # Older builds of pugi export their symbols differently, # and pre-5.9 is unable to handle that. - depends_on("pugixml@:1.10", when="@:5.8") - depends_on("pugixml", when="@5.9:") + depends_on("pugixml") # 5.13 uses 'remove_children': https://github.com/spack/spack/issues/47098 depends_on("pugixml@1.11:", when="@5.13:") # ParaView depends on cli11 due to changes in MR # https://gitlab.kitware.com/paraview/paraview/-/merge_requests/4951 - depends_on("cli11@1.9.1", when="@5.10:") + depends_on("cli11@1.9.1") # ParaView depends on nlohmann-json due to changes in MR # https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8550 @@ -421,56 +365,26 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage): depends_on("proj@8.1.0", when="@5.11:") # Patches to vendored VTK-m are needed for forward compat with CUDA 12 (mr 2972 and 3259) - depends_on("cuda@:11", when="@5.3:5.12 +cuda") - - patch("stl-reader-pv440.patch", when="@4.4.0") - - # Broken gcc-detection - improved in 5.1.0, redundant later - patch("gcc-compiler-pv501.patch", when="@:5.0.1") - - # Broken installation (ui_pqExportStateWizard.h) - fixed in 5.2.0 - patch("ui_pqExportStateWizard.patch", when="@:5.1.2") - - # Broken vtk-m config. Upstream catalyst changes - patch("vtkm-catalyst-pv551.patch", when="@5.5.0:5.5.2") - - # Broken H5Part with external parallel HDF5 - patch("h5part-parallel.patch", when="@5.7.0:5.7") - - # Broken downstream FindMPI - patch("vtkm-findmpi-downstream.patch", when="@5.9.0") - - # Include limits header wherever needed to fix compilation with GCC 11 - patch("paraview-gcc11-limits.patch", when="@5.8:5.9 %gcc@11.1.0:") + depends_on("cuda@:11", when="@5:5.12 +cuda") # Fix IOADIOS2 module to work with kits # https://gitlab.kitware.com/vtk/vtk/-/merge_requests/8653 - patch("vtk-adios2-module-no-kit.patch", when="@5.8:5.11") - - # Patch for paraview 5.9.0%xl_r - # https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7591 - patch("xlc-compilation-pv590.patch", when="@5.9.0%xl_r") - - # intel oneapi doesn't compile some code in catalyst - patch("catalyst-etc_oneapi_fix.patch", when="@5.10.0:5.10.1%oneapi") + patch("vtk-adios2-module-no-kit.patch", when="@5:5.11") # Patch for paraview 5.8: ^hdf5@1.13.2: # Even with ~hdf5, hdf5 is part of the dependency tree due to netcdf-c # https://gitlab.kitware.com/vtk/vtk/-/merge_requests/9690 - patch("vtk-xdmf2-hdf51.13.1.patch", when="@5.8:5.10") - patch("vtk-xdmf2-hdf51.13.2.patch", when="@5.8:5.11.0") + patch("vtk-xdmf2-hdf51.13.2.patch", when="@5.11.0") # a patch with the same name is also applied to vtk # the two patches are the same but for the path to the files they patch - patch("vtk_alias_hdf5.patch", when="@5.9.0:") + patch("vtk_alias_hdf5.patch") # Fix VTK to work with external freetype using CONFIG mode for find_package - patch("FindFreetype.cmake.patch", when="@5.10.1:") + patch("FindFreetype.cmake.patch") # Fix VTK to remove deprecated ADIOS2 functions # https://gitlab.kitware.com/vtk/vtk/-/merge_requests/10113 - patch("adios2-remove-deprecated-functions.patch", when="@5.10:5.11 ^adios2@2.9:") - - patch("exodusII-netcdf4.9.0.patch", when="@5.10.0:5.10.2") + patch("adios2-remove-deprecated-functions.patch", when="@5.11 ^adios2@2.9:") patch("kits_with_catalyst_5_12.patch", when="@5.12.0") @@ -508,12 +422,7 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage): def url_for_version(self, version): _urlfmt = "http://www.paraview.org/files/v{0}/ParaView-v{1}{2}.tar.{3}" # Handle ParaView version-based custom URLs - if version < Version("5.1.0"): - return _urlfmt.format(version.up_to(2), version, "-source", "gz") - elif version < Version("5.6.1"): - return _urlfmt.format(version.up_to(2), version, "", "gz") - else: - return _urlfmt.format(version.up_to(2), version, "", "xz") + return _urlfmt.format(version.up_to(2), version, "", "xz") @property def paraview_subdir(self): @@ -532,10 +441,7 @@ def setup_dependent_build_environment( lib_dir = self.prefix.lib env.set("ParaView_DIR", self.prefix) - if self.spec.version <= Version("5.7.0"): - env.set("PARAVIEW_VTK_DIR", join_path(lib_dir, "cmake", self.paraview_subdir)) - else: - env.set("PARAVIEW_VTK_DIR", join_path(lib_dir, "cmake", self.paraview_subdir, "vtk")) + env.set("PARAVIEW_VTK_DIR", join_path(lib_dir, "cmake", self.paraview_subdir, "vtk")) def flag_handler(self, name, flags): if name == "ldflags" and self.spec.satisfies("%intel"): @@ -549,12 +455,8 @@ def flag_handler(self, name, flags): if name in ("cflags", "cxxflags"): # Constrain the HDF5 API - if self.spec.satisfies("@:5.9 +hdf5"): - if self.spec["hdf5"].satisfies("@1.10:"): - flags.append("-DH5_USE_18_API") - elif self.spec.satisfies("@5.10: +hdf5"): - if self.spec["hdf5"].satisfies("@1.12:"): - flags.append("-DH5_USE_110_API") + if self.spec["hdf5"].satisfies("@1.12:"): + flags.append("-DH5_USE_110_API") if self.spec.satisfies("%oneapi@2025:"): flags.append("-Wno-error=missing-template-arg-list-after-template-kw") @@ -574,65 +476,81 @@ def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("ParaView_DIR", self.prefix) - if self.spec.version <= Version("5.7.0"): - env.set("PARAVIEW_VTK_DIR", join_path(lib_dir, "cmake", self.paraview_subdir)) - else: - env.set("PARAVIEW_VTK_DIR", join_path(lib_dir, "cmake", self.paraview_subdir, "vtk")) - - if self.spec.version <= Version("5.4.1"): - lib_dir = join_path(lib_dir, self.paraview_subdir) + env.set("PARAVIEW_VTK_DIR", join_path(lib_dir, "cmake", self.paraview_subdir, "vtk")) env.prepend_path("LIBRARY_PATH", lib_dir) env.prepend_path("LD_LIBRARY_PATH", lib_dir) if "+python" in self.spec: - if self.spec.version <= Version("5.4.1"): - pv_pydir = join_path(lib_dir, "site-packages") + python_version = self.spec["python"].version.up_to(2) + pv_pydir = join_path(lib_dir, "python{0}".format(python_version), "site-packages") + if "+shared" in self.spec: env.prepend_path("PYTHONPATH", pv_pydir) - env.prepend_path("PYTHONPATH", join_path(pv_pydir, "vtk")) + # The Trilinos Catalyst adapter requires + # the vtkmodules directory in PYTHONPATH + env.prepend_path("PYTHONPATH", join_path(pv_pydir, "vtkmodules")) else: - python_version = self.spec["python"].version.up_to(2) - pv_pydir = join_path(lib_dir, "python{0}".format(python_version), "site-packages") - if "+shared" in self.spec or self.spec.version <= Version("5.7.0"): - env.prepend_path("PYTHONPATH", pv_pydir) - # The Trilinos Catalyst adapter requires - # the vtkmodules directory in PYTHONPATH - env.prepend_path("PYTHONPATH", join_path(pv_pydir, "vtkmodules")) - else: - env.prepend_path("PYTHONPATH", join_path(pv_pydir, "_paraview.zip")) - env.prepend_path("PYTHONPATH", join_path(pv_pydir, "_vtk.zip")) + env.prepend_path("PYTHONPATH", join_path(pv_pydir, "_paraview.zip")) + env.prepend_path("PYTHONPATH", join_path(pv_pydir, "_vtk.zip")) def cmake_args(self): """Populate cmake arguments for ParaView.""" spec = self.spec - def variant_bool(feature, on="ON", off="OFF"): - """Ternary for spec variant to ON/OFF string""" - if spec.satisfies(feature): - return on - return off - - includes = variant_bool("+development_files") + build_edition = spec.variants["build_edition"].value.upper() cmake_args = [ - "-DPARAVIEW_INSTALL_DEVELOPMENT_FILES:BOOL=%s" % includes, "-DBUILD_TESTING:BOOL=OFF", "-DOpenGL_GL_PREFERENCE:STRING=LEGACY", + "-DVTK_MODULE_USE_EXTERNAL_ParaView_vtkcatalyst:BOOL=OFF", + "-DVTK_MODULE_USE_EXTERNAL_VTK_ioss:BOOL=OFF", + "-DVTK_MODULE_USE_EXTERNAL_VTK_exprtk:BOOL=OFF", + "-DVTK_MODULE_USE_EXTERNAL_VTK_fmt:BOOL=OFF", + "-DVTK_MODULE_USE_EXTERNAL_ParaView_cgns:BOOL=OFF", + "-DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps:BOOL=OFF", + "-DVTK_MODULE_USE_EXTERNAL_VTK_libharu:BOOL=OFF", + "-DVTK_MODULE_USE_EXTERNAL_VTK_utf8:BOOL=OFF", + "-DPARAVIEW_BUILD_WITH_EXTERNAL=ON", + f"-DPARAVIEW_BUILD_EDITION:STRING={build_edition}", + self.define_from_variant("PARAVIEW_INSTALL_DEVELOPMENT_FILES", "development_files"), self.define_from_variant("VTK_USE_X", "x"), self.define_from_variant("PARAVIEW_ENABLE_VISITBRIDGE", "visitbridge"), self.define_from_variant("VISIT_BUILD_READER_Silo", "visitbridge"), + self.define_from_variant("PARAVIEW_BUILD_WITH_KITS", "kits"), + self.define_from_variant("PARAVIEW_BUILD_PAGOSA_ADAPTOR", "pagosa"), + self.define_from_variant("PARAVIEW_BUILD_PLUGIN_EyeDomeLighting", "eyedomelighting"), + self.define_from_variant("PARAVIEW_PLUGIN_ENABLE_pvNVIDIAIndeX", "nvindex"), + self.define_from_variant("PARAVIEW_USE_QT", "qt"), + self.define_from_variant("PARAVIEW_ENABLE_EXAMPLES", "examples"), + self.define_from_variant("PARAVIEW_ENABLE_ADIOS2", "adios2"), + self.define_from_variant("PARAVIEW_ENABLE_FIDES", "fides"), + self.define_from_variant("PARAVIEW_USE_FORTRAN", "fortran"), + self.define_from_variant("PARAVIEW_USE_CUDA", "cuda"), + self.define_from_variant("PARAVIEW_USE_MPI", "mpi"), + self.define_from_variant("PARAVIEW_BUILD_SHARED_LIBS", "shared"), + self.define_from_variant("PARAVIEW_ENABLE_RAYTRACING", "raytracing"), + # Currently only support OSPRay ray tracing + self.define_from_variant("VTK_ENABLE_OSPRAY", "raytracing"), + self.define_from_variant("VTKOSPRAY_ENABLE_DENOISER", "raytracing"), + # CDI + self.define_from_variant("PARAVIEW_PLUGIN_ENABLE_CDIReader", "cdi"), + self.define_from_variant("PARAVIEW_PLUGIN_AUTOLOAD_CDIReader", "cdi"), ] - if spec.satisfies("@:5"): - cmake_args.append( - "-DVTK_OPENGL_HAS_OSMESA:BOOL=%s" % variant_bool("^[virtuals=gl] osmesa") - ) + # Configure OSMesa + if spec.satisfies("@5"): + if spec.satisfies("^[virtuals=gl] osmesa"): + cmake_args.append("-DVTK_OPENGL_HAS_OSMESA:BOOL=ON") + else: + cmake_args.append("-DVTK_OPENGL_HAS_OSMESA:BOOL=OFF") else: cmake_args.append(self.define_from_variant("VTK_OPENGL_HAS_OSMESA", "osmesa_fallback")) + # Configure EGL if spec.satisfies("^[virtuals=gl] egl"): cmake_args.append("-DVTK_OPENGL_HAS_EGL:BOOL=ON") + # Disable patched externals if spec.satisfies("@5.12:"): cmake_args.append("-DVTK_MODULE_USE_EXTERNAL_VTK_fast_float:BOOL=OFF") cmake_args.append("-DVTK_MODULE_USE_EXTERNAL_VTK_token:BOOL=OFF") @@ -640,72 +558,8 @@ def variant_bool(feature, on="ON", off="OFF"): if spec.satisfies("@5.11:"): cmake_args.append("-DVTK_MODULE_USE_EXTERNAL_VTK_verdict:BOOL=OFF") - if spec.satisfies("@5.10:"): - cmake_args.extend( - [ - "-DVTK_MODULE_USE_EXTERNAL_ParaView_vtkcatalyst:BOOL=OFF", - "-DVTK_MODULE_USE_EXTERNAL_VTK_ioss:BOOL=OFF", - "-DVTK_MODULE_USE_EXTERNAL_VTK_exprtk:BOOL=OFF", - "-DVTK_MODULE_USE_EXTERNAL_VTK_fmt:BOOL=OFF", - ] - ) - - if spec.satisfies("@:5.7") and spec["cmake"].satisfies("@3.17:"): - cmake_args.append("-DFPHSA_NAME_MISMATCHED:BOOL=ON") - - if spec.satisfies("@5.7:"): - if spec.satisfies("@5.8:"): - cmake_args.extend( - [ - "-DPARAVIEW_BUILD_EDITION:STRING=%s" - % spec.variants["build_edition"].value.upper(), - "-DPARAVIEW_USE_QT:BOOL=%s" % variant_bool("+qt"), - "-DPARAVIEW_BUILD_WITH_EXTERNAL=ON", - ] - ) - else: # @5.7: - cmake_args.extend( - [ - "-DPARAVIEW_ENABLE_CATALYST:BOOL=ON", - "-DPARAVIEW_BUILD_QT_GUI:BOOL=%s" % variant_bool("+qt"), - "-DPARAVIEW_USE_EXTERNAL:BOOL=ON", - ] - ) - - cmake_args.extend( - [ - "-DPARAVIEW_ENABLE_EXAMPLES:BOOL=%s" % variant_bool("+examples"), - "-DVTK_MODULE_USE_EXTERNAL_ParaView_cgns=OFF", - "-DVTK_MODULE_USE_EXTERNAL_VTK_gl2ps=OFF", - "-DVTK_MODULE_USE_EXTERNAL_VTK_libharu=OFF", - "-DVTK_MODULE_USE_EXTERNAL_VTK_utf8=OFF", - ] - ) - else: - rendering = variant_bool("+opengl2", "OpenGL2", "OpenGL") - cmake_args.extend( - [ - "-DPARAVIEW_BUILD_EXAMPLES:BOOL=%s" % variant_bool("+examples"), - "-DVTK_RENDERING_BACKEND:STRING=%s" % rendering, - "-DPARAVIEW_BUILD_QT_GUI:BOOL=%s" % variant_bool("+qt"), - "-DVTK_USE_SYSTEM_LIBRARIES:BOOL=ON", - "-DVTK_USE_SYSTEM_CGNS:BOOL=OFF", - "-DVTK_USE_SYSTEM_DIY2:BOOL=OFF", - "-DVTK_USE_SYSTEM_GL2PS:BOOL=OFF", - "-DVTK_USE_SYSTEM_ICET:BOOL=OFF", - "-DVTK_USE_SYSTEM_LIBHARU:BOOL=OFF", - "-DVTK_USE_SYSTEM_NETCDFCPP:BOOL=OFF", - "-DVTK_USE_SYSTEM_UTF8:BOOL=OFF", - "-DVTK_USE_SYSTEM_XDMF2:BOOL=OFF", - "-DVTK_USE_SYSTEM_XDMF3:BOOL=OFF", - ] - ) - - if "+adios2" in spec: - cmake_args.extend(["-DPARAVIEW_ENABLE_ADIOS2:BOOL=ON"]) - - if "+fides" in spec: - cmake_args.append("-DPARAVIEW_ENABLE_FIDES:BOOL=ON") + if spec.satisfies("%cce"): + cmake_args.append("-DVTK_PYTHON_OPTIONAL_LINK:BOOL=OFF") # The assumed qt version changed to QT5 (as of paraview 5.2.1), # so explicitly specify which QT major version is actually being used @@ -720,29 +574,18 @@ def variant_bool(feature, on="ON", off="OFF"): # Windows does not currently support Qt Quick cmake_args.append("-DVTK_MODULE_ENABLE_VTK_GUISupportQtQuick:STRING=NO") - if "+fortran" in spec: - cmake_args.append("-DPARAVIEW_USE_FORTRAN:BOOL=ON") - # CMake flags for python have changed with newer ParaView versions # Make sure Spack uses the right cmake flags if "+python" in spec: - py_use_opt = "USE" if spec.satisfies("@5.8:") else "ENABLE" - py_ver_opt = "PARAVIEW" if spec.satisfies("@5.7:") else "VTK" - py_ver_val = 3 cmake_args.extend( [ - "-DPARAVIEW_%s_PYTHON:BOOL=ON" % py_use_opt, - "-D%s_PYTHON_VERSION:STRING=%d" % (py_ver_opt, py_ver_val), - "-DVTK_PYTHON_OPTIONAL_LINK:BOOL=OFF", + "-DPARAVIEW_USE_PYTHON:BOOL=ON", + "-DPARAVIEW_PYTHON_VERSION:STRING=3", ] ) - if spec.satisfies("@:5.6"): - cmake_args.append("-DVTK_USE_SYSTEM_MPI4PY:BOOL=%s" % variant_bool("+mpi")) - else: cmake_args.append("-DPARAVIEW_ENABLE_PYTHON:BOOL=OFF") - cmake_args.append("-DPARAVIEW_USE_MPI:BOOL=%s" % variant_bool("+mpi")) if "+mpi" in spec: mpi_args = ["-DMPIEXEC:FILEPATH=%s/bin/mpiexec" % spec["mpi"].prefix] if not sys.platform == "win32": @@ -755,10 +598,8 @@ def variant_bool(feature, on="ON", off="OFF"): ) cmake_args.extend(mpi_args) - cmake_args.append("-DPARAVIEW_BUILD_SHARED_LIBS:BOOL=%s" % variant_bool("+shared")) - - # VTK-m added to ParaView in 5.3.0 and up - if spec.satisfies("@5.3.0:5") and spec.variants["use_vtkm"].value != "default": + # VTK-m used in ParaView in 5.x + if spec.satisfies("@5") and spec.variants["use_vtkm"].value != "default": cmake_args.append( "-DPARAVIEW_USE_VTKM:BOOL=%s" % spec.variants["use_vtkm"].value.upper() ) @@ -774,15 +615,8 @@ def variant_bool(feature, on="ON", off="OFF"): else: cmake_args.append("-DPARAVIEW_USE_VISKORES:BOOL=OFF") - if spec.satisfies("@5.8:"): - cmake_args.append("-DPARAVIEW_USE_CUDA:BOOL=%s" % variant_bool("+cuda")) - elif spec.satisfies("@5.7:"): - cmake_args.append("-DVTK_USE_CUDA:BOOL=%s" % variant_bool("+cuda")) - else: - cmake_args.append("-DVTKm_ENABLE_CUDA:BOOL=%s" % variant_bool("+cuda")) - # VTK-m expects cuda_arch to be the arch name vs. the arch version. - if spec.satisfies("@:5 +cuda"): + if spec.satisfies("@5 +cuda"): if spec["cmake"].satisfies("@3.18:"): cmake_args.append( self.define( @@ -808,33 +642,9 @@ def variant_bool(feature, on="ON", off="OFF"): ["-DVTK_USE_X:BOOL=OFF", "-DPARAVIEW_DO_UNIX_STYLE_INSTALLS:BOOL=ON"] ) - if "+kits" in spec: - if spec.satisfies("@5.0:5.6"): - cmake_args.append("-DVTK_ENABLE_KITS:BOOL=ON") - elif spec.satisfies("@5.7"): - # cmake_args.append('-DPARAVIEW_ENABLE_KITS:BOOL=ON') - # Kits are broken with 5.7 - cmake_args.append("-DPARAVIEW_ENABLE_KITS:BOOL=OFF") - else: - cmake_args.append("-DPARAVIEW_BUILD_WITH_KITS:BOOL=ON") - - if "+pagosa" in spec: - cmake_args.append("-DPARAVIEW_BUILD_PAGOSA_ADAPTOR:BOOL=ON") - - if "+eyedomelighting" in spec: - cmake_args.append("-DPARAVIEW_BUILD_PLUGIN_EyeDomeLighting:BOOL=ON") - if "+tbb" in spec: cmake_args.append("-DVTK_SMP_IMPLEMENTATION_TYPE=TBB") - if "+nvindex" in spec: - cmake_args.append("-DPARAVIEW_PLUGIN_ENABLE_pvNVIDIAIndeX:BOOL=ON") - - # Hide git from Paraview so it will not use `git describe` - # to find its own version number - if spec.satisfies("@5.4.0:5.4.1"): - cmake_args.extend(["-DGIT_EXECUTABLE=FALSE"]) - # A bug that has been found in vtk causes an error for # intel builds for version 5.6. This should be revisited # with later versions of Paraview to see if the issues still @@ -852,9 +662,9 @@ def variant_bool(feature, on="ON", off="OFF"): # Configure ROCM/Kokkos if spec.satisfies("@5.11:5"): - cmake_args.append("-DPARAVIEW_USE_HIP:BOOL=%s" % variant_bool("+rocm")) + cmake_args.append(self.define_from_variant("PARAVIEW_USE_HIP", "rocm")) elif spec.satisfies("@6:"): - cmake_args.append("-DPARAVIEW_USE_KOKKOS:BOOL=%s" % variant_bool("+rocm")) + cmake_args.append(self.define_from_variant("PARAVIEW_USE_KOKKOS", "rocm")) if "+rocm" in spec: if spec.satisfies("@6:"): @@ -876,15 +686,6 @@ def variant_bool(feature, on="ON", off="OFF"): cmake_args.append("-DVTK_MODULE_ENABLE_ParaView_InSitu=YES") cmake_args.append("-DPARAVIEW_ENABLE_CATALYST=YES") - cmake_args.append(self.define_from_variant("PARAVIEW_ENABLE_RAYTRACING", "raytracing")) - # Currently only support OSPRay ray tracing - cmake_args.append(self.define_from_variant("VTK_ENABLE_OSPRAY", "raytracing")) - cmake_args.append(self.define_from_variant("VTKOSPRAY_ENABLE_DENOISER", "raytracing")) - - # CDI - cmake_args.append(self.define_from_variant("PARAVIEW_PLUGIN_ENABLE_CDIReader", "cdi")) - cmake_args.append(self.define_from_variant("PARAVIEW_PLUGIN_AUTOLOAD_CDIReader", "cdi")) - return cmake_args def test_smoke_test(self): diff --git a/repos/spack_repo/builtin/packages/sensei/package.py b/repos/spack_repo/builtin/packages/sensei/package.py index 76779db0fce..68369d4c5e4 100644 --- a/repos/spack_repo/builtin/packages/sensei/package.py +++ b/repos/spack_repo/builtin/packages/sensei/package.py @@ -38,7 +38,9 @@ class Sensei(CMakePackage): variant("shared", default=True, description="Enables shared libraries") variant("ascent", default=False, description="Build with ParaView-Catalyst support") - variant("catalyst", default=False, description="Build with ParaView-Catalyst support") + variant( + "catalyst", default=False, description="Build with ParaView-Catalyst support", when="@5:" + ) variant("libsim", default=False, description="Build with VisIt-Libsim support") variant("vtkio", default=False, description="Enable adaptors to write to VTK XML format") variant("adios2", default=False, description="Enable ADIOS2 adaptors and endpoints") @@ -47,7 +49,7 @@ class Sensei(CMakePackage): "vtkm", default=False, description="Enable VTKm adaptors and endpoints", - when="@4: +catalyst", + when="@5: +catalyst", ) variant("python", default=False, description="Enable Python bindings", when="@3:") variant( @@ -64,18 +66,17 @@ class Sensei(CMakePackage): depends_on("paraview+hdf5", when="+catalyst+hdf5") depends_on("paraview+python", when="+catalyst+python") - depends_on("paraview@5.5.0:5.5.2", when="@:2.1.1 +catalyst") - depends_on("paraview@5.6:5.7", when="@3:3.2.1 +catalyst") - depends_on("paraview@5.7:5.9", when="@3.2.2 +catalyst") - depends_on("paraview@5.7:5.10", when="@4:4 +catalyst") + depends_on("paraview", when="@5:5 +catalyst") # Visit Dep depends_on("visit", when="+libsim") # VTK Dep - depends_on("vtk@8:8", when="@:3 ~catalyst") - depends_on("vtk+python", when="@:3 ~catalyst+python") - depends_on("vtk@9:", when="@4: +vtkio ~catalyst") + depends_on("vtk@8:8", when="@:3") + depends_on("vtk+python", when="@:3 +python") + depends_on("vtk+python", when="@5: ~catalyst +python") + depends_on("vtk@9:", when="@4:4 +vtkio") + depends_on("vtk@9:", when="@5: +vtkio ~catalyst") # VTK-m depends_on("paraview use_vtkm=on", when="+vtkm") From ed6eebf936991f0714d7abe13b5421f6e52ca0c0 Mon Sep 17 00:00:00 2001 From: "V. Karch" Date: Thu, 11 Jun 2026 12:50:23 -0400 Subject: [PATCH 167/180] py-pydantic-extra-types: add v2.10.5 (#5178) --- .../builtin/packages/py_pydantic_extra_types/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/py_pydantic_extra_types/package.py b/repos/spack_repo/builtin/packages/py_pydantic_extra_types/package.py index 31dfb5f5229..c42b9d5d3d6 100644 --- a/repos/spack_repo/builtin/packages/py_pydantic_extra_types/package.py +++ b/repos/spack_repo/builtin/packages/py_pydantic_extra_types/package.py @@ -16,6 +16,7 @@ class PyPydanticExtraTypes(PythonPackage): license("MIT", checked_by="wdconinc") + version("2.10.5", sha256="1dcfa2c0cf741a422f088e0dbb4690e7bfadaaf050da3d6f80d6c3cf58a2bad8") version("2.10.0", sha256="552c47dd18fe1d00cfed75d9981162a2f3203cf7e77e55a3d3e70936f59587b9") depends_on("python@3.8:", type=("build", "run")) From ca3486dbece434ef379a48e692c976b0192e69f1 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Thu, 11 Jun 2026 09:52:39 -0700 Subject: [PATCH 168/180] enzyme: 0.0.266 (#5172) --- repos/spack_repo/builtin/packages/enzyme/package.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/repos/spack_repo/builtin/packages/enzyme/package.py b/repos/spack_repo/builtin/packages/enzyme/package.py index 9bea57ce15e..733bd00e8e0 100644 --- a/repos/spack_repo/builtin/packages/enzyme/package.py +++ b/repos/spack_repo/builtin/packages/enzyme/package.py @@ -16,7 +16,7 @@ class Enzyme(CMakePackage): """ homepage = "https://enzyme.mit.edu" - url = "https://github.com/wsmoses/Enzyme/archive/v0.0.172.tar.gz" + url = "https://github.com/wsmoses/Enzyme/archive/v0.0.266.tar.gz" list_url = "https://github.com/wsmoses/Enzyme/releases" git = "https://github.com/wsmoses/Enzyme" @@ -25,6 +25,7 @@ class Enzyme(CMakePackage): root_cmakelists_dir = "enzyme" version("main", branch="main") + version("0.0.266", sha256="174fd65b7aabf6b964582a3785dd638a1ffbf17c195ebd99288e60e58e620236") version("0.0.206", sha256="600fd2db370fb40abb6411e0e80df524aea03f2c1ad50a2765ecaab9e1115c77") version("0.0.196", sha256="2b9cfcb7c34e56fc8191423042df06241cf32928eefbb113ac3c5199e3361cb2") version("0.0.186", sha256="125e612df0b6b82b07e1e13218c515bc54e04aa1407e57f4f31d3abe995f4714") @@ -52,7 +53,8 @@ class Enzyme(CMakePackage): depends_on("libllvm@11:16", when="@0.0.80:0.0.99") depends_on("libllvm@11:19", when="@0.0.100:0.0.148") depends_on("libllvm@15:19", when="@0.0.149:0.0.185") - depends_on("libllvm@15:20", when="@0.0.186:") + depends_on("libllvm@15:20", when="@0.0.186:0.0.196") + depends_on("libllvm@15:21", when="@0.0.197:") depends_on("cmake@3.13:", type="build") def cmake_args(self): From 94215a42cf2e5b5ba8f1840b1630720ee828d451 Mon Sep 17 00:00:00 2001 From: Afzal Patel <122491982+afzpatel@users.noreply.github.com> Date: Thu, 11 Jun 2026 13:36:29 -0400 Subject: [PATCH 169/180] llvm-amdgpu: add rocm.cfg (#4769) * llvm-amdgpu: add rocm.cfg * seperate gcc_install and rocm.cfg write * seperate gcc_install and rocm.cfg --- repos/spack_repo/builtin/packages/comgr/package.py | 1 + .../llvm_amdgpu/002-Add-rpath-to-hiprt.patch | 13 ------------- .../builtin/packages/llvm_amdgpu/package.py | 8 +++++++- 3 files changed, 8 insertions(+), 14 deletions(-) delete mode 100644 repos/spack_repo/builtin/packages/llvm_amdgpu/002-Add-rpath-to-hiprt.patch diff --git a/repos/spack_repo/builtin/packages/comgr/package.py b/repos/spack_repo/builtin/packages/comgr/package.py index bc9a883cdd4..d09e4960882 100644 --- a/repos/spack_repo/builtin/packages/comgr/package.py +++ b/repos/spack_repo/builtin/packages/comgr/package.py @@ -65,6 +65,7 @@ def url_for_version(self, version): depends_on("zlib-api", type="link") depends_on("z3", type="link") depends_on("ncurses", type="link") + depends_on("python@3:", when="@6.4:") for ver in [ "5.7.0", diff --git a/repos/spack_repo/builtin/packages/llvm_amdgpu/002-Add-rpath-to-hiprt.patch b/repos/spack_repo/builtin/packages/llvm_amdgpu/002-Add-rpath-to-hiprt.patch deleted file mode 100644 index 0107a2b1755..00000000000 --- a/repos/spack_repo/builtin/packages/llvm_amdgpu/002-Add-rpath-to-hiprt.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp -index ea628647d6ac..72a6b2bdfdc8 100644 ---- a/clang/lib/Driver/ToolChains/Linux.cpp -+++ b/clang/lib/Driver/ToolChains/Linux.cpp -@@ -985,7 +985,7 @@ void Linux::AddHIPRuntimeLibArgs(const ArgList &Args, - Args.MakeArgString(StringRef("-L") + RocmInstallation->getLibPath())); - - if (Args.hasFlag(options::OPT_frtlib_add_rpath, -- options::OPT_fno_rtlib_add_rpath, false)) { -+ options::OPT_fno_rtlib_add_rpath, true)) { - SmallString<0> p = RocmInstallation->getLibPath(); - llvm::sys::path::remove_dots(p, true); - CmdArgs.append({"-rpath", Args.MakeArgString(p)}); diff --git a/repos/spack_repo/builtin/packages/llvm_amdgpu/package.py b/repos/spack_repo/builtin/packages/llvm_amdgpu/package.py index 83733c85fbd..2f45ef3196c 100644 --- a/repos/spack_repo/builtin/packages/llvm_amdgpu/package.py +++ b/repos/spack_repo/builtin/packages/llvm_amdgpu/package.py @@ -139,7 +139,6 @@ class LlvmAmdgpu(CMakePackage, LlvmDetection, CompilerPackage): sha256="b4774ca19b030890d7b276d12c446400ccf8bc3aa724c7f2e9a73531a7400d69", when="@6", ) - patch("002-Add-rpath-to-hiprt.patch", when="@7.0:") # Fix for https://github.com/llvm/llvm-project/issues/78530 # Patch from https://github.com/llvm/llvm-project/pull/80071 @@ -474,6 +473,13 @@ def post_install(self): with open(os.path.join(self.prefix.bin, cfg), "w") as f: print(gcc_install_dir_flag, file=f) + if self.spec.satisfies("@7:"): + with open(os.path.join(self.prefix.bin, "rocm.cfg"), "w") as f: + print("-frtlib-add-rpath", file=f) + for cfg in cfg_files: + with open(os.path.join(self.prefix.bin, cfg), "a") as f: + print("@rocm.cfg", file=f) + # Required for enabling asan on dependent packages def setup_dependent_build_environment( self, env: EnvironmentModifications, dependent_spec: Spec From fce6ab6f9fae815992547d1b6e9b4b77b39dac1f Mon Sep 17 00:00:00 2001 From: Robert Maaskant Date: Thu, 11 Jun 2026 19:37:47 +0200 Subject: [PATCH 170/180] yarn: add v4.16.0 (#5131) --- repos/spack_repo/builtin/packages/yarn/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/yarn/package.py b/repos/spack_repo/builtin/packages/yarn/package.py index 286baa5999b..fb646625079 100644 --- a/repos/spack_repo/builtin/packages/yarn/package.py +++ b/repos/spack_repo/builtin/packages/yarn/package.py @@ -21,6 +21,7 @@ class Yarn(Package): license("BSD-2-Clause") + version("4.16.0", sha256="51a55a9e12727d359908109f28492392d9f7e3975698034c7521ebe0019e0ce7") version("4.13.0", sha256="7ce8fd253740ea62980bca49b32bfc044810e09362cc46a4192673be9541a772") version("4.10.3", sha256="5494c77f7c7ea067f7c58456f61af458a684802e5bb25631659b7612d14e6c84") version("4.9.2", sha256="cbcd6ab876407c0999eceb74bcdac29ae47a544339bc99b17fcbe67901ede9b3") From d5a3282fd7cb81e7053396ecf3196acae89920aa Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Fri, 12 Jun 2026 08:21:47 +0200 Subject: [PATCH 171/180] Update tutorial image to use Ubuntu 26.04 (#4933) Signed-off-by: Massimiliano Culpo --- .ci/gitlab/.gitlab-ci.yml | 2 +- stacks/tutorial/spack.yaml | 30 +++++++++++++++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.ci/gitlab/.gitlab-ci.yml b/.ci/gitlab/.gitlab-ci.yml index 4b8acc283b3..75b580b809f 100644 --- a/.ci/gitlab/.gitlab-ci.yml +++ b/.ci/gitlab/.gitlab-ci.yml @@ -607,7 +607,7 @@ tools-sdk-build: tutorial-generate: extends: [ ".tutorial", ".generate-x86_64"] - image: ghcr.io/spack/tutorial-ubuntu-22.04:2026-03-10 + image: ghcr.io/spack/tutorial-ubuntu-26.04:v2026-06-09 tutorial-build: extends: [ ".tutorial", ".build" ] diff --git a/stacks/tutorial/spack.yaml b/stacks/tutorial/spack.yaml index 53167dce4f5..2735ece7651 100644 --- a/stacks/tutorial/spack.yaml +++ b/stacks/tutorial/spack.yaml @@ -14,9 +14,9 @@ spack: specs: - group: compiler specs: - - gcc@12 ~binutils + - gcc@16 build_type=Release +profiled +strip - - group: "gcc@11 specs" + - group: "gcc@15 specs" specs: - zlib-ng@2.2.4 - zlib-ng@2.0.7 @@ -29,19 +29,19 @@ spack: - trilinos ^openmpi - trilinos +hdf5 ^hdf5+hl+mpi ^mpich - mpileaks - - lmod@8.7.18 + - lmod@8.7.67 - environment-modules - macsio@1.1+scr ^scr@2.0.0~fortran ^silo~fortran ^hdf5~fortran - - julia@1.9 ^llvm ~clang ~gold ~lldb ~lua ~polly compiler-rt=none libcxx=none libunwind=none targets=x86 ^openblas threads=openmp + # - julia ^llvm ~clang ~gold ~lldb ~lua ~polly compiler-rt=none libcxx=none libunwind=none targets=x86 ^openblas threads=openmp - vim override: packages: c: - prefer: [gcc@11] + prefer: [gcc@15] cxx: - prefer: [gcc@11] + prefer: [gcc@15] fortran: - prefer: [gcc@11] + prefer: [gcc@15] - group: scalapacks needs: [compiler] @@ -55,16 +55,16 @@ spack: override: packages: c: - prefer: [gcc@12] + prefer: [gcc@16] cxx: - prefer: [gcc@12] + prefer: [gcc@16] fortran: - prefer: [gcc@12] + prefer: [gcc@16] # Miscellaneous specs use the default group - - zlib-ng@2.2.4%gcc@10 - - matrix: - - [ zlib-ng@2.2.4, tcl ^zlib-ng@2.0.7 ] - - [ '%clang@14' ] + # - zlib-ng@2.2.4%gcc@10 + #- matrix: + # - [ zlib-ng@2.2.4, tcl ^zlib-ng@2.0.7 ] + # - [ '%clang@14' ] concretizer: unify: false @@ -73,7 +73,7 @@ spack: pipeline-gen: - build-job: image: - name: ghcr.io/spack/tutorial-ubuntu-22.04:v2023-10-30 + name: ghcr.io/spack/tutorial-ubuntu-26.04:v2026-06-09 entrypoint: [''] cdash: From 6177c6c771fa13b99649e415fe2244dc5704de34 Mon Sep 17 00:00:00 2001 From: "Paul R. C. Kent" Date: Fri, 12 Jun 2026 19:54:31 +0100 Subject: [PATCH 172/180] qmcpack: add v4.3.0 (#5193) --- repos/spack_repo/builtin/packages/qmcpack/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/qmcpack/package.py b/repos/spack_repo/builtin/packages/qmcpack/package.py index 55fd618bd8e..bb33aced2a9 100644 --- a/repos/spack_repo/builtin/packages/qmcpack/package.py +++ b/repos/spack_repo/builtin/packages/qmcpack/package.py @@ -26,6 +26,7 @@ class Qmcpack(CMakePackage, CudaPackage): # can occasionally change. # NOTE: 12/19/2017 QMCPACK 3.0.0 does not build properly with Spack. version("develop") + version("4.3.0", tag="v4.3.0", commit="bb7eede051f98ec03296664b304982e655f960c4") version("4.2.0", tag="v4.2.0", commit="44a7f7e99a5770ea368b8ea35b181329606bc343") version("4.1.0", tag="v4.1.0", commit="c32123a5233186b177d75b800b86f1ad3b1a1413") version("4.0.0", tag="v4.0.0", commit="0199944fb644b4798446fdfc0549c81666a4a943") From 3637f14154ac1cd7edb1e93a942249c110b84148 Mon Sep 17 00:00:00 2001 From: Justin Cook Date: Fri, 12 Jun 2026 13:58:00 -0500 Subject: [PATCH 173/180] lfortran: add v0.62.0, 0.63.0 (#5183) * https://github.com/lfortran/lfortran/releases/tag/v0.62.0 * https://github.com/lfortran/lfortran/releases/tag/v0.63.0 Signed-off-by: Justin Cook --- repos/spack_repo/builtin/packages/lfortran/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/repos/spack_repo/builtin/packages/lfortran/package.py b/repos/spack_repo/builtin/packages/lfortran/package.py index 8b7d47a0b37..a0937ce6ba4 100644 --- a/repos/spack_repo/builtin/packages/lfortran/package.py +++ b/repos/spack_repo/builtin/packages/lfortran/package.py @@ -19,6 +19,8 @@ class Lfortran(CMakePackage): # The build process uses 'git describe --tags' to get the package version version("main", branch="main", get_full_repo=True) + version("0.63.0", sha256="e5ad61bc0571ec572dec542913858a9d9a6142ae5023ffc9517e1b0dc15da98c") + version("0.62.0", sha256="6b34221fa85ab2e3f102a73bcbf59125318f637bbb64da34fe1200425eed4788") version("0.61.0", sha256="e832c1d76c371da7a7e11ef9e7b686d9047788136dcfb20093da5dc165fcd20f") version("0.54.0", sha256="a46c44f8398ed0d14ca051a08982a3001642449c06a3be1c30944c3e027bbf51") version("0.49.0", sha256="a9225fd33d34ce786f72a964a1179579caff62dd176a6a1477d2594fecdc7cd6") From 34bd151990bf754331c824d81c8c397abc5bcc12 Mon Sep 17 00:00:00 2001 From: Thomas Padioleau Date: Fri, 12 Jun 2026 20:59:59 +0200 Subject: [PATCH 174/180] DDC: Add v0.15.0 (#5182) --- repos/spack_repo/builtin/packages/ddc/package.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/repos/spack_repo/builtin/packages/ddc/package.py b/repos/spack_repo/builtin/packages/ddc/package.py index 48fb620f2a7..ca606e9daae 100644 --- a/repos/spack_repo/builtin/packages/ddc/package.py +++ b/repos/spack_repo/builtin/packages/ddc/package.py @@ -21,6 +21,7 @@ class Ddc(CMakePackage): license("MIT", checked_by="tpadioleau") version("main", branch="main", no_cache=True) + version("0.15.0", sha256="1bcb7eda695e7e37bb37dd7ea40adcb614c2cfe71b2890201424b05c48fce331") version("0.14.0", sha256="8c239cea877cf52c3334de6d5c5d248eac85e6df27b9476047fd7ff3f78b85b5") version("0.13.0", sha256="6b93a532896d9f5342b477a2bcf85f05d242c8d7b0331580a62e50a9bf155bad") version("0.12.0", sha256="30a464b00d712ce7264835cc162b63797185667fea3f4c9457d7dfff0a2bc0cc") @@ -95,6 +96,10 @@ class Ddc(CMakePackage): depends_on("googletest@:1 +gmock") depends_on("pdiplugin-user-code@1.6:", type=("build", "test"), when="+pdi") depends_on("pdiplugin-user-code@:1", type=("build", "test"), when="+pdi") + depends_on("py-numpy@1.24:", when="@0.15:") + depends_on("py-numpy@:2", when="@0.15:") + depends_on("py-pytest@8.4:", when="@0.15:") + depends_on("py-pytest@:9", when="@0.15:") conflicts("^kokkos@4.5.0", msg="Incompatible with the embedded mdspan of Kokkos") From d5432dcdc649b6b94498a55727753f95c4c1d215 Mon Sep 17 00:00:00 2001 From: Brian Spilner Date: Fri, 12 Jun 2026 21:02:33 +0200 Subject: [PATCH 175/180] cdo: add v2.6.2 (#5186) --- repos/spack_repo/builtin/packages/cdo/package.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/repos/spack_repo/builtin/packages/cdo/package.py b/repos/spack_repo/builtin/packages/cdo/package.py index 6c81294a5e1..e840a944cd3 100644 --- a/repos/spack_repo/builtin/packages/cdo/package.py +++ b/repos/spack_repo/builtin/packages/cdo/package.py @@ -20,6 +20,11 @@ class Cdo(AutotoolsPackage): maintainers("skosukhin", "Try2Code") + version( + "2.6.2", + sha256="d59f57a3b33a063023b2b0ef8f38165e0bcf426d3b843031c5078e76832e957b", + url="https://code.mpimet.mpg.de/attachments/download/30213/cdo-2.6.2.tar.gz", + ) version( "2.6.1", sha256="ccf5f3bd5800f703c031bb5b10ae0cd3feac34d8eba7956661ff1ba6deb5985f", From c701f26c61030503c4ddc8955635329b2efa13d6 Mon Sep 17 00:00:00 2001 From: Matthieu Dorier Date: Fri, 12 Jun 2026 20:05:14 +0100 Subject: [PATCH 176/180] ross: add version 8.1.1 (#5188) --- repos/spack_repo/builtin/packages/ross/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/ross/package.py b/repos/spack_repo/builtin/packages/ross/package.py index 3466a4666e3..6420dc2925f 100644 --- a/repos/spack_repo/builtin/packages/ross/package.py +++ b/repos/spack_repo/builtin/packages/ross/package.py @@ -18,6 +18,7 @@ class Ross(CMakePackage): version("develop", branch="develop") version("master", branch="master") + version("8.1.1", sha256="e886cfc1cb825a9cf1a43cc177f5c10df37b564912a29c4a9007370946908fba") version("8.0.0", sha256="5339c9afcf77821fb6ebbcd93b8a1e651c7883e94dff250528815a08f84f1694") version("7.2.0", sha256="c937f4c7baa1918b6cd08f4eafae8cab44eddcd4aaa1175c23ff8562583ad726") version("7.1.1", sha256="550e3288cefedcbc7e6ca16cfbee0477b70399d63e94f554b60b32d714029722") From 728f8a00b63cd465a87ec25a4ff5582a9545823a Mon Sep 17 00:00:00 2001 From: Vicente Bolea Date: Fri, 12 Jun 2026 18:08:00 -0400 Subject: [PATCH 177/180] adios2: add eisenhauer as maintainer (#5198) --- repos/spack_repo/builtin/packages/adios2/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/adios2/package.py b/repos/spack_repo/builtin/packages/adios2/package.py index f85e310ff61..5ab5a3866d7 100644 --- a/repos/spack_repo/builtin/packages/adios2/package.py +++ b/repos/spack_repo/builtin/packages/adios2/package.py @@ -23,7 +23,7 @@ class Adios2(CMakePackage, CudaPackage, ROCmPackage): git = "https://github.com/ornladios/ADIOS2.git" test_requires_compiler = True - maintainers("ax3l", "vicentebolea", "williamfgc") + maintainers("ax3l", "vicentebolea", "williamfgc", "eisenhauer") tags = ["e4s"] From 1ff98344f91f223211ad1f8b9c4858fb4c54e8fc Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Sat, 13 Jun 2026 19:20:59 -0500 Subject: [PATCH 178/180] lean4: new package (#5199) * lean4: proof language package --- .../builtin/packages/lean4/package.py | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 repos/spack_repo/builtin/packages/lean4/package.py diff --git a/repos/spack_repo/builtin/packages/lean4/package.py b/repos/spack_repo/builtin/packages/lean4/package.py new file mode 100644 index 00000000000..88facaaf77b --- /dev/null +++ b/repos/spack_repo/builtin/packages/lean4/package.py @@ -0,0 +1,45 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems.cmake import CMakePackage + +from spack.package import * + + +class Lean4(CMakePackage): + """Lean 4 programming language and theorem prover. + + Lean is an open-source programming language and proof assistant + that enables correct, maintainable, and formally verified code. + """ + + homepage = "https://lean-lang.org" + url = "https://github.com/leanprover/lean4/archive/refs/tags/v4.30.0.tar.gz" + git = "https://github.com/leanprover/lean4.git" + + supplier = "Organization: Lean FRO" + + maintainers("wdconinc") + + license("Apache-2.0", checked_by="wdconinc") + + version("4.30.0", sha256="c11edd040d77be85865e41b4a37a77d14f824c07d8642434eb3561163f2afa5d") + + variant("gmp", default=True, description="Use GMP for big integers") + variant("mimalloc", default=True, description="Use mimalloc as the allocator") + + depends_on("c", type="build") + depends_on("cxx", type="build") + depends_on("cmake@3.21:", type="build") + + depends_on("libuv") + + depends_on("gmp", when="+gmp") + + def cmake_args(self): + args = [ + self.define_from_variant("USE_GMP", "gmp"), + self.define_from_variant("USE_MIMALLOC", "mimalloc"), + ] + return args From 60ca28b3565975d530f7c4645cc25670b7365de2 Mon Sep 17 00:00:00 2001 From: Michael Kuhn Date: Mon, 15 Jun 2026 07:22:12 +0200 Subject: [PATCH 179/180] gcc: add 15.3.0 (#5207) --- repos/spack_repo/builtin/packages/gcc/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/gcc/package.py b/repos/spack_repo/builtin/packages/gcc/package.py index dff82aab3f5..96a57c1ff0b 100644 --- a/repos/spack_repo/builtin/packages/gcc/package.py +++ b/repos/spack_repo/builtin/packages/gcc/package.py @@ -40,6 +40,7 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage, CompilerPackage): version("16.1.0", sha256="50efb4d94c3397aff3b0d61a5abd748b4dd31d9d3f2ab7be05b171d36a510f79") # Previous stable series releases + version("15.3.0", sha256="fa59c1beef8995f27c4d71c1df227587189315d3e6faff1bb4306e61b0c530eb") version("15.2.0", sha256="438fd996826b0c82485a29da03a72d71d6e3541a83ec702df4271f6fe025d24e") version("15.1.0", sha256="e2b09ec21660f01fecffb715e0120265216943f038d0e48a9868713e54f06cea") From db02cacbebcdd6dba5bdc90d88e6903a052c042a Mon Sep 17 00:00:00 2001 From: "Jack S. Hale" Date: Mon, 15 Jun 2026 13:04:31 +0200 Subject: [PATCH 180/180] py-fenics-ufl: add version 0.11.0 Co-Authored-By: Claude Sonnet 4.6 --- repos/spack_repo/builtin/packages/py_fenics_ufl/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/repos/spack_repo/builtin/packages/py_fenics_ufl/package.py b/repos/spack_repo/builtin/packages/py_fenics_ufl/package.py index 3c12ca0ec48..3a8dc696e43 100644 --- a/repos/spack_repo/builtin/packages/py_fenics_ufl/package.py +++ b/repos/spack_repo/builtin/packages/py_fenics_ufl/package.py @@ -22,6 +22,7 @@ class PyFenicsUfl(PythonPackage): license("LGPL-3.0-or-later") version("main", branch="main", no_cache=True) + version("2026.1.0", sha256="72c0e4ac3d2f648f30f860fd4e895d96415a77318cb4551c5dbc53dc644b7c96") version( "2025.2.0.post0", sha256="2182fed6d0fc41fd97244d73fe6aa95e50725e5ba8fe1b3b0f3f4d0215b45534" ) @@ -66,6 +67,7 @@ class PyFenicsUfl(PythonPackage): ) version("2016.2.0", tag="ufl-2016.2.0", commit="962d56f65821fb9c50ca4a5a858882c472243431") + depends_on("python@3.11:", when="@2026.1.0:", type=("build", "run")) depends_on("python@3.10:", when="@2025.2.0:", type=("build", "run")) depends_on("python@3.9:", when="@2025.1.0:", type=("build", "run")) depends_on("python@3.8:", when="@2023.2.0:", type=("build", "run"))