Skip to content
Draft
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
b65a162
arrow: add mimalloc variant (#5632)
mathomp4 Jul 29, 2026
d4b7aae
py-awscrt: add 0.35.0, awscli-v2: add 2.35.16 (#5629)
mathomp4 Jul 18, 2026
1bbe47f
hdf: fix build with %gcc@15: (#5662)
mathomp4 Jul 29, 2026
eb12575
ncview: add -std=gnu17 when %gcc@15: to fix gcc-15 (#5663)
mathomp4 Jul 21, 2026
9954e90
nvtx: add fix for build with GCC 15 (#5714)
mathomp4 Jul 24, 2026
e96e63b
openblas: fix dylib install name for cmake build on macOS (#5504)
mathomp4 Jul 20, 2026
75b15c4
parallelio: skip RPATHs with NAG (#6064)
mathomp4 Aug 18, 2026
c4b521c
py-h5py: add hdf2 support (#5630)
mathomp4 Aug 12, 2026
dd27a71
py-numba: add 0.66.0, py-llvmlite: add 0.48.0 (#5503)
mathomp4 Jul 10, 2026
eb7216d
py-pandas-datareader: add 0.11.0, 0.11.1 (#5642)
mathomp4 Jul 18, 2026
49547bb
py-scipy: disable GNU version script for NAG compiler (#5906)
mathomp4 Aug 18, 2026
1c02018
py-torch: honor disabled CMake features in 2.12.0:2.13.0 (#5707)
mathomp4 Jul 25, 2026
7746f9b
yafyaml: CMake fix for NAG (#5904)
mathomp4 Aug 13, 2026
0315a87
rust: honor CARGO_HOME for offline dependent builds
mathomp4 Jul 17, 2026
cdef2ee
Update repos/spack_repo/builtin/packages/rust/package.py
mathomp4 Jul 17, 2026
239b2d6
Update repos/spack_repo/builtin/packages/rust/package.py
mathomp4 Jul 19, 2026
073fe36
py-urllib3: add v2.7.0 (#4811)
adamjstewart Jul 1, 2026
16ecf1b
python: check for gettext and ncurses in spec before accessing prefix…
mathomp4 Aug 18, 2026
0aa550a
hdf5: add NAG compiler patches for Linux threads and HL Fortran MPI m…
mathomp4 Aug 18, 2026
80861c3
py-scipy: restrict darwin+gcc stdc patches to @:1.8 (meson builds don…
mathomp4 Aug 18, 2026
9cc7bdb
py-torch: add air-gapped NNPACK patch, setuptools 2.9 bound, and inte…
mathomp4 Aug 18, 2026
a6779cf
py-torch: sync with latest upstream (v2.13.0, air-gapped NNPACK) and …
mathomp4 Aug 18, 2026
a9fc55d
py-cachetools, py-dask: sync with upstream Spack develop
mathomp4 Aug 18, 2026
afd76e0
py-pyresample, py-pykdtree, py-pytest-lazy-fixtures: new packages for…
mathomp4 Aug 18, 2026
bb52369
Fix for ecflow
mathomp4 Aug 18, 2026
f5d325c
Move to use SPACK_CARGO_HOME
mathomp4 Aug 18, 2026
685b219
Update repos/spack_repo/builtin/packages/py_scipy/package.py
mathomp4 Aug 20, 2026
94934a3
Fix hash for py-pykdtree
mathomp4 Aug 20, 2026
84eafda
Fix for bufr tmp noexec issue
mathomp4 Aug 24, 2026
38892e3
Real fix for bufr
mathomp4 Aug 24, 2026
580ea4a
Merge branch 'spack-stack-dev' into feature/cherry-pick-upstream-pack…
mathomp4 Aug 25, 2026
508ce12
fms: disable unit tests for 2026.01.01
mathomp4 Aug 26, 2026
0dfea02
Updates to fix ectrans issue
mathomp4 Aug 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion repos/spack_repo/builtin/packages/arrow/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,11 @@ class Arrow(CMakePackage, CudaPackage):
variant("ipc", default=True, description="Build the Arrow IPC extensions")
variant("jemalloc", default=False, description="Build the Arrow jemalloc-based allocator")
variant("lz4", default=False, description="Build support for lz4 compression")
variant(
"mimalloc",
default=True,
description="Build the Arrow mimalloc-based allocator",
)
variant("orc", default=False, description="Build integration with Apache ORC")
variant("parquet", default=False, description="Build Parquet interface")
variant("python", default=False, description="Build Python interface")
Expand Down Expand Up @@ -174,8 +179,14 @@ def cmake_args(self):
args.append(self.define("ARROW_USE_SSE", "ON"))

# https://github.com/apache/arrow/issues/47790
if self.spec.satisfies("%oneapi@2025:"):
# mimalloc is always vendored (no system lookup); Arrow downloads its source
# via FetchContent at build time, which fails on air-gapped compute nodes.
# The ~mimalloc variant allows disabling it for such environments.
# Note: oneapi@2025: also has a compiler bug requiring MIMALLOC=OFF regardless.
if self.spec.satisfies("%oneapi@2025:") or self.spec.satisfies("~mimalloc"):
args.append(self.define("ARROW_MIMALLOC", "OFF"))
else:
args.append(self.define_from_variant("ARROW_MIMALLOC", "mimalloc"))

args.append(self.define_from_variant("ARROW_COMPUTE", "compute"))
args.append(self.define_from_variant("ARROW_CSV", "csv"))
Expand Down
20 changes: 18 additions & 2 deletions repos/spack_repo/builtin/packages/awscli_v2/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,16 @@ class AwscliV2(PythonPackage):
license("Apache-2.0")
maintainers("climbfuji", "teaguesterling")

version("2.35.16", sha256="55754646274f224b19b0daeb9f01e4232a3e6e46665f3c1fdb425b2f026ade7d")
version("2.24.24", sha256="d7b135ef02c96d50d81c0b5eb2723cf474cfda8e1758cccabbcaa6c14f281419")
version("2.22.4", sha256="56c6170f3be830afef2dea60fc3fd7ed14cf2ca2efba055c085fe6a7c4de358e")
version("2.15.53", sha256="a4f5fd4e09b8f2fb3d2049d0610c7b0993f9aafaf427f299439f05643b25eb4b")
version("2.13.22", sha256="dd731a2ba5973f3219f24c8b332a223a29d959493c8a8e93746d65877d02afc1")

# The patch makes completion-index generation optional for environments
# where importing the full CLI command set during the wheel build hangs.
patch("skip-autocomplete-index.patch", when="@2.35.16")

with default_args(type="build"):
depends_on("py-flit-core@3.7.1:", when="@2.22:")
# Upper bound relaxed for Python 3.14 support
Expand All @@ -44,15 +49,26 @@ class AwscliV2(PythonPackage):
depends_on("py-ruamel-yaml-clib@0.2:0.2.7", when="@:2.15")
depends_on("py-prompt-toolkit@3.0.24:3.0.38")
depends_on("py-distro@1.5:1.8")
depends_on("py-awscrt@0.19.18:0.22.0", when="@2.22:")
depends_on("py-awscrt@0.35.0", when="@2.35.16")
depends_on("py-awscrt@0.19.18:0.22.0", when="@2.22:2.35.15")
depends_on("py-awscrt@0.19.18:0.19.19", when="@2.15")
depends_on("py-awscrt@0.16.4:0.16.16", when="@2.13")
depends_on("py-python-dateutil@2.1:2.9.0", when="@2.22:")
depends_on("py-python-dateutil@2.1:2.8.2", when="@:2.15")
depends_on("py-jmespath@0.7.1:1.0")
depends_on("py-urllib3@1.25.4:1.26")

# For Python 3.10 and newer, support urllib3 v1 and v2
depends_on("py-urllib3@1.25.4:2.99", when="^python@3.10:")

# For legacy Python versions, stick to the 1.x branch
depends_on("py-urllib3@1.25.4:1.26", when="^python@:3.9")

variant("examples", default=True, description="Install code examples")
variant("autocomplete", default=True, description="Build the AWS CLI shell-completion index")

def setup_build_environment(self, env: EnvironmentModifications) -> None:
if "~autocomplete" in self.spec:
env.set("AWSCLI_SKIP_AUTOCOMPLETE_INDEX", "1")

@run_after("install", when="~examples")
def post_install(self):
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
--- a/backends/pep517.py
+++ b/backends/pep517.py
@@ -188,6 +188,7 @@ def _rewrite_shebang(path):

def _inject_wheel_extras(whl_path):
with _extracted_wheel_dir(whl_path) as extracted_wheel_dir:
- _build_and_inject_ac_index(BUILD_DIR, extracted_wheel_dir)
+ if os.environ.get("AWSCLI_SKIP_AUTOCOMPLETE_INDEX") != "1":
+ _build_and_inject_ac_index(BUILD_DIR, extracted_wheel_dir)
_inject_scripts(extracted_wheel_dir)

3 changes: 3 additions & 0 deletions repos/spack_repo/builtin/packages/hdf/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,9 @@ def flag_handler(self, name, flags):
):
flags.append("-Wno-error=implicit-int")

if self.spec.satisfies("%gcc@15:"):
flags.append("-std=gnu17")

return flags, None, None

def configure_args(self):
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
--- a/hl/fortran/src/CMakeLists.txt
+++ b/hl/fortran/src/CMakeLists.txt
@@ -211,6 +211,6 @@
if (BUILD_STATIC_LIBS)
add_library (${HDF5_HL_F90_LIB_TARGET} STATIC ${HDF5_HL_F90_F_SOURCES})
target_include_directories (${HDF5_HL_F90_LIB_TARGET}
- PRIVATE "${HDF5_F90_BINARY_DIR};${CMAKE_Fortran_MODULE_DIRECTORY}/static;$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_Fortran_INCLUDE_DIRS}>"
+ PRIVATE "${HDF5_F90_BINARY_DIR};${CMAKE_Fortran_MODULE_DIRECTORY}/static;${MPI_Fortran_MODULE_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_Fortran_INCLUDE_DIRS}>"
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${HDF5_INSTALL_MODULE_DIR}/static>"
)
@@ -245,6 +245,6 @@
endif()
add_library (${HDF5_HL_F90_LIBSH_TARGET} SHARED ${DLLDEF} ${HDF5_HL_F90_F_SOURCES_SHARED})
target_include_directories (${HDF5_HL_F90_LIBSH_TARGET}
- PRIVATE "${HDF5_F90_BINARY_DIR};${CMAKE_Fortran_MODULE_DIRECTORY}/shared;$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_Fortran_INCLUDE_DIRS}>"
+ PRIVATE "${HDF5_F90_BINARY_DIR};${CMAKE_Fortran_MODULE_DIRECTORY}/shared;${MPI_Fortran_MODULE_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_Fortran_INCLUDE_DIRS}>"
INTERFACE "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${HDF5_INSTALL_MODULE_DIR}/shared>"
)
108 changes: 108 additions & 0 deletions repos/spack_repo/builtin/packages/hdf5/nag_linux_threads.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -839,12 +839,13 @@
if (H5_HAVE_PARALLEL)
list (APPEND LINK_PUB_LIBS MPI::MPI_C)
if (MPI_C_LINK_FLAGS)
- set (CMAKE_EXE_LINKER_FLAGS "${MPI_C_LINK_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")
+ # Do not add the MPI wrapper's bare -pthread flag to NAG's
+ # initial Fortran compiler test. MPI::MPI_C supplies the C link data.
endif ()
endif ()

# Determine if a threading package is available on this system
set (THREADS_PREFER_PTHREAD_FLAG ON)
find_package (Threads)
if (Threads_FOUND)
set (H5_HAVE_THREADS 1)
--- a/config/HDFUseFortran.cmake
+++ b/config/HDFUseFortran.cmake
@@ -31,27 +31,29 @@
#-----------------------------------------------------------------------------
# Detects Fortran/C name mangling convention used between Fortran and C using FortranCInterface
#-----------------------------------------------------------------------------
-include (FortranCInterface)
+if (NOT CMAKE_Fortran_COMPILER_ID MATCHES "NAG")
+ include (FortranCInterface)

-#-----------------------------------------------------------------------------
-# Verifies Fortran and C/C++ compiler interoperability
-#-----------------------------------------------------------------------------
-FortranCInterface_VERIFY()
+ #-----------------------------------------------------------------------------
+ # Verifies Fortran and C/C++ compiler interoperability
+ #-----------------------------------------------------------------------------
+ FortranCInterface_VERIFY()

-# Sets macros for Fortran name mangling (H5_FC_FUNC, H5_FC_FUNC_)
-FortranCInterface_HEADER (
- ${CMAKE_BINARY_DIR}/FCMangle.h
- MACRO_NAMESPACE "H5_FC_"
- SYMBOL_NAMESPACE "H5_FC_"
-)
+ # Sets macros for Fortran name mangling (H5_FC_FUNC, H5_FC_FUNC_)
+ FortranCInterface_HEADER (
+ ${CMAKE_BINARY_DIR}/FCMangle.h
+ MACRO_NAMESPACE "H5_FC_"
+ SYMBOL_NAMESPACE "H5_FC_"
+ )

-file (STRINGS ${CMAKE_BINARY_DIR}/FCMangle.h CONTENTS REGEX "H5_FC_GLOBAL\\(.*,.*\\) +(.*)")
-string (REGEX MATCH "H5_FC_GLOBAL\\(.*,.*\\) +(.*)" RESULT ${CONTENTS})
-set (H5_FC_FUNC "H5_FC_FUNC(name,NAME) ${CMAKE_MATCH_1}" CACHE INTERNAL "Fortran name mangling macro for C identifiers without underscores")
+ file (STRINGS ${CMAKE_BINARY_DIR}/FCMangle.h CONTENTS REGEX "H5_FC_GLOBAL\\(.*,.*\\) +(.*)")
+ string (REGEX MATCH "H5_FC_GLOBAL\\(.*,.*\\) +(.*)" RESULT ${CONTENTS})
+ set (H5_FC_FUNC "H5_FC_FUNC(name,NAME) ${CMAKE_MATCH_1}" CACHE INTERNAL "Fortran name mangling macro for C identifiers without underscores")

-file (STRINGS ${CMAKE_BINARY_DIR}/FCMangle.h CONTENTS REGEX "H5_FC_GLOBAL_\\(.*,.*\\) +(.*)")
-string (REGEX MATCH "H5_FC_GLOBAL_\\(.*,.*\\) +(.*)" RESULT ${CONTENTS})
-set (H5_FC_FUNC_ "H5_FC_FUNC_(name,NAME) ${CMAKE_MATCH_1}" CACHE INTERNAL "Fortran name mangling macro for C identifiers with underscores")
+ file (STRINGS ${CMAKE_BINARY_DIR}/FCMangle.h CONTENTS REGEX "H5_FC_GLOBAL_\\(.*,.*\\) +(.*)")
+ string (REGEX MATCH "H5_FC_GLOBAL_\\(.*,.*\\) +(.*)" RESULT ${CONTENTS})
+ set (H5_FC_FUNC_ "H5_FC_FUNC_(name,NAME) ${CMAKE_MATCH_1}" CACHE INTERNAL "Fortran name mangling macro for C identifiers with underscores")
+endif ()

# READ_SOURCE macro to extract Fortran code blocks for tests
# Read source line beginning at the line matching Input:"START" and ending at the line matching Input:"END"
--- a/fortran/CMakeLists.txt
+++ b/fortran/CMakeLists.txt
@@ -15,7 +15,25 @@
+ if (CMAKE_Fortran_COMPILER_ID STREQUAL "NAG")
+ # HDF5 copies Threads::Threads into LINK_Fortran_LIBS.
+ set_property (TARGET Threads::Threads PROPERTY INTERFACE_COMPILE_OPTIONS "")
+ set_property (TARGET Threads::Threads PROPERTY INTERFACE_LINK_LIBRARIES "-lpthread")
+ endif ()
find_package(MPI REQUIRED COMPONENTS Fortran)
+ if (CMAKE_Fortran_COMPILER_ID STREQUAL "NAG")
+ # MPI::MPI_C is carried by HDF5's C library and otherwise propagates its
+ # bare -pthread compile option to HDF5 Fortran targets. NAG accepts the
+ # pthread library, not the compiler-driver option.
+ string (REPLACE "-pthread" "-lpthread" H5_MPI_C_LINK_FLAGS "${MPI_C_LINK_FLAGS}")
+ set_property (TARGET MPI::MPI_C PROPERTY INTERFACE_COMPILE_OPTIONS "")
+ set_property (TARGET MPI::MPI_C PROPERTY INTERFACE_LINK_OPTIONS "${H5_MPI_C_LINK_FLAGS}")
+ endif ()
set (LINK_Fortran_LIBS ${LINK_Fortran_LIBS} ${MPI_Fortran_LIBRARIES})
if (MPI_Fortran_LINK_FLAGS)
- set (CMAKE_Fortran_EXE_LINKER_FLAGS "${MPI_Fortran_LINK_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")
+ if (CMAKE_Fortran_COMPILER_ID MATCHES "NAG")
+ string (REPLACE "-pthread" "-Wl,-pthread" H5_MPI_FORTRAN_LINK_FLAGS "${MPI_Fortran_LINK_FLAGS}")
+ set (CMAKE_Fortran_EXE_LINKER_FLAGS "${H5_MPI_FORTRAN_LINK_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")
+ else ()
+ set (CMAKE_Fortran_EXE_LINKER_FLAGS "${MPI_Fortran_LINK_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")
+ endif ()
endif ()
# Check if MPI-3 Fortran 2008 module mpi_f08 is supported
if (MPI_Fortran_HAVE_F08_MODULE)
@@ -39,7 +57,12 @@

if (H5_HAVE_PARALLEL)
if (MPI_Fortran_LINK_FLAGS)
- set (CMAKE_EXE_LINKER_FLAGS "${MPI_Fortran_LINK_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")
+ if (CMAKE_Fortran_COMPILER_ID MATCHES "NAG")
+ string (REPLACE "-pthread" "-Wl,-pthread" H5_MPI_FORTRAN_LINK_FLAGS "${MPI_Fortran_LINK_FLAGS}")
+ set (CMAKE_EXE_LINKER_FLAGS "${H5_MPI_FORTRAN_LINK_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")
+ else ()
+ set (CMAKE_EXE_LINKER_FLAGS "${MPI_Fortran_LINK_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")
+ endif ()
endif ()
endif ()
12 changes: 12 additions & 0 deletions repos/spack_repo/builtin/packages/hdf5/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,14 @@ class Hdf5(CMakePackage):
# Fix Apple linker flags (-current_version and -compatibility_version) when building with NAG compiler
patch("nag_macos_linker.patch", when="@1.12.0:1.14.99 %nag platform=darwin")

# CMake's preferred pthread compiler flag is not accepted by NAG on Linux.
# Use the pthread linker library instead.
patch("nag_linux_threads.patch", when="@2.1.0 %nag platform=linux")

# OpenMPI with NAG installs mpi.mod in its library directory, which HDF5's
# high-level Fortran targets do not otherwise include.
patch("nag_hl_fortran_mpi_module.patch", when="@2.1.0 %nag platform=linux")

# There are known build failures with intel@18.0.1. This issue is
# discussed and patch is provided at
# https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/747951.
Expand Down Expand Up @@ -629,6 +637,10 @@ def cmake_args(self):
if spec.satisfies("@1.14.4: %aocc"):
args.append(self.define("HDF5_ENABLE_NONSTANDARD_FEATURE_FLOAT16", False))

if spec.satisfies("%nag"):
# NAG cannot pass Spack's padded build rpath through its linker.
args.append(self.define("CMAKE_SKIP_RPATH", True))

return args

@run_after("install")
Expand Down
7 changes: 7 additions & 0 deletions repos/spack_repo/builtin/packages/ncview/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,13 @@ def configure_args(self):

return config_args

def flag_handler(self, name, flags):
# The package does not build with C dialects newer than gnu17, so set gnu17
# for GCC 15 and newer which default to gnu23
if name == "cflags" and self.spec.satisfies("%gcc@15:"):
flags.append("-std=gnu17")
return (flags, None, None)

def patch(self):
# Disable the netcdf-c compiler check, save and restore the
# modification timestamp of the file to prevent autoreconf.
Expand Down
5 changes: 5 additions & 0 deletions repos/spack_repo/builtin/packages/nvtx/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,11 @@ def patch(self):
setup = FileFilter("python/setup.py")
setup.filter("include_dirs=include_dirs", f"include_dirs=['{include_dir}']", string=True)

def flag_handler(self, name, flags):
if name == "cflags" and self.spec.satisfies("@3.2: %gcc@15:"):
flags.append("-std=gnu17")
return (flags, None, None)

def install(self, spec, prefix):
install_tree("c/include", prefix.include)
install("c/CMakeLists.txt", prefix)
Expand Down
7 changes: 7 additions & 0 deletions repos/spack_repo/builtin/packages/openblas/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -688,6 +688,13 @@ def cmake_args(self):
self.define("CMAKE_POLICY_DEFAULT_CMP0042", "NEW"),
]

# On macOS the cmake build sets the dylib install name to the build-stage
# path instead of the install prefix, causing downstream packages (e.g.
# py-numpy) to embed a broken rpath. Setting CMAKE_INSTALL_NAME_DIR fixes
# the install name to the real installed lib directory.
if self.spec.satisfies("platform=darwin"):
cmake_defs += [self.define("CMAKE_INSTALL_NAME_DIR", self.spec.prefix.lib)]

if self.spec.satisfies("+dynamic_dispatch"):
cmake_defs += [self.define("DYNAMIC_ARCH", "ON")]
if self.spec.satisfies("platform=windows"):
Expand Down
3 changes: 3 additions & 0 deletions repos/spack_repo/builtin/packages/parallelio/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,9 @@ def cmake_args(self):
define("PIO_ENABLE_EXAMPLES", False),
define_from_variant("WITH_PNETCDF", "pnetcdf"),
]
if spec.satisfies("%nag"):
# NAG cannot pass Spack's padded build rpath through its linker.
args.append(define("CMAKE_SKIP_RPATH", True))
if spec.satisfies("+ncint"):
args.extend([define("PIO_ENABLE_NETCDF_INTEGRATION", True)])
if spec.satisfies("+pnetcdf"):
Expand Down
1 change: 1 addition & 0 deletions repos/spack_repo/builtin/packages/py_awscrt/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ class PyAwscrt(PythonPackage):

license("Apache-2.0")

version("0.35.0", sha256="761ae0dda17fd9dfaff4bbb2a376e28e44dfd77dc6410b7bc408297a1fd5600e")
version("0.31.2", sha256="552555de1beff02d72a1f6d384cd49c5a7c283418310eae29d21bcb749c65792")
version("0.29.2", sha256="c78d81b1308d42fda1eb21d27fcf26579137b821043e528550f2cfc6c09ab9ff")
version("0.20.9", sha256="243785ac9ee64945e0479c2384325545f29597575743ce84c371556d1014e63e")
Expand Down
5 changes: 3 additions & 2 deletions repos/spack_repo/builtin/packages/py_cachetools/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ class PyCachetools(PythonPackage):
depends_on("python@3.9:3", when="@6:")

with default_args(type="build"):
depends_on("py-setuptools")
depends_on("py-setuptools@77:", when="@7.1.1:")
depends_on("py-setuptools@61:", when="@6.2.3:")
depends_on("py-setuptools@46.4.0:", when="@4.2.2:")
depends_on("py-setuptools@61.0.0:", when="@6.2.3:")
depends_on("py-setuptools")
8 changes: 2 additions & 6 deletions repos/spack_repo/builtin/packages/py_dask/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,14 @@ class PyDask(PythonPackage):

version("2026.3.0", sha256="f7d96c8274e8a900d217c1ff6ea8d1bbf0b4c2c21e74a409644498d925eb8f85")
version("2025.7.0", sha256="c3a0d4e78882e85ea81dbc71e6459713e45676e2d17e776c2f3f19848039e4cf")
version("2025.5.0", sha256="3ec9175e53effe1c2b0086668352e0d5261c5ef6f71a410264eda83659d686ef")
version("2025.3.0", sha256="322834f44ebc24abeb564c56ccb817c97d6e7af6be71ad0ad96b78b51f2e0e85")
version("2024.12.1", sha256="bac809af21c2dd7eb06827bccbfc612504f3ee6435580e548af912828f823195")
version("2024.7.1", sha256="dbaef2d50efee841a9d981a218cfeb50392fc9a95e0403b6d680450e4f50d531")
version("2023.4.1", sha256="9dc72ebb509f58f3fe518c12dd5a488c67123fdd66ccb0b968b34fd11e512153")
version("2022.10.2", sha256="42cb43f601709575fa46ce09e74bea83fdd464187024f56954e09d9b428ceaab")
version("2021.6.2", sha256="8588fcd1a42224b7cfcd2ebc8ad616734abb6b1a4517efd52d89c7dd66eb91f8")
version("2021.4.1", sha256="195e4eeb154222ea7a1c368119b5f321ee4ec9d78531471fe0145a527f744aa8")
version("2021.3.1", sha256="1fa7e1809e7c50c5505297b03e6ee161e0695df73b4c4051b5b1c8fd670bf5d7")
version("2021.3.0", sha256="566054b493d63c15732f2a640382b21e861571d61639f59341bc7695a9be138e")
version("2021.2.0", sha256="e7054b8d685205e95c789900ae87d6174550180cbe38a3cb1142e10c73004c22")
version("2020.12.0", sha256="43e745afd4b464e6c0113131e430a16dce6ac42460b06e24d799093d098f7ab0")

variant("array", default=True, description="Install requirements for dask.array")
Expand Down Expand Up @@ -58,8 +56,6 @@ class PyDask(PythonPackage):
depends_on("py-versioneer@0.29+toml", when="@2023.10.1:2025.11.0")
depends_on("py-versioneer@0.28+toml", when="@2023.4.1:2023.10.0")

depends_on("py-packaging@20:", when="@2022.10.2:")

with default_args(type=("build", "run")):
# python@3.14 breaks py-dask@:2025.7.0
depends_on("python@:3.13", when="@:2025.12")
Expand All @@ -85,8 +81,8 @@ class PyDask(PythonPackage):
depends_on("py-partd@1.2.0:", when="@2023.4.0:")
depends_on("py-partd@0.3.10:", when="@2021.3.1:")

depends_on("py-pyyaml")
depends_on("py-pyyaml@5.3.1:", when="@2022.10.2:")
depends_on("py-pyyaml")

depends_on("py-toolz@0.12.0:", when="@2026.3.0:")
depends_on("py-toolz@0.10.0:", when="@2023.4.1:")
Expand Down
3 changes: 2 additions & 1 deletion repos/spack_repo/builtin/packages/py_h5py/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,8 @@ class PyH5py(PythonPackage):
# Link dependencies (py-h5py v2 cannot build against HDF5 1.12 regardless
# of API setting)
# version constraints from https://github.com/h5py/h5py/tree/master/docs/whatsnew
depends_on("hdf5@1.10.7:1.14 +hl", when="@3.15:")
depends_on("hdf5@1.10.7: +hl", when="@3.16:")
depends_on("hdf5@1.10.7:1.14 +hl", when="@3.15")
depends_on("hdf5@1.10.6:1.14 +hl", when="@3.12:3.14")
depends_on("hdf5@1.10.4:1.14 +hl", when="@3.10:3.11")
depends_on("hdf5@1.8.4:1.14 +hl", when="@3.8:3.9")
Expand Down
6 changes: 5 additions & 1 deletion repos/spack_repo/builtin/packages/py_llvmlite/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,11 @@ class PyLlvmlite(PythonPackage):
pypi = "llvmlite/llvmlite-0.23.0.tar.gz"
git = "https://github.com/numba/llvmlite.git"

maintainers("mathomp4")

license("BSD-2-Clause")

version("0.48.0", sha256="543b19f9ef8f3c7c60d1468191e4ee1b1537bf9f8a3d56f64c0ddd98de92edd2")
version("0.47.0", sha256="62031ce968ec74e95092184d4b0e857e444f8fdff0b8f9213707699570c33ccc")
version("0.46.0", sha256="227c9fd6d09dce2783c18b754b7cd9d9b3b3515210c46acc2d3c5badd9870ceb")
version("0.45.1", sha256="09430bb9d0bb58fc45a45a57c7eae912850bedc095cd0810a57de109c69e1c32")
Expand Down Expand Up @@ -57,7 +60,8 @@ class PyLlvmlite(PythonPackage):
depends_on("python@:3.9", when="@0.36:0.37")

# https://github.com/numba/llvmlite#compatibility
depends_on("llvm@20", when="@0.45:")
depends_on("llvm@22", when="@0.48:")
depends_on("llvm@20", when="@0.45:0.47")
depends_on("llvm@15:16", when="@0.44")
depends_on("llvm@14", when="@0.41:0.43")
depends_on("llvm@11:14", when="@0.40")
Expand Down
Loading