GASNet 2025.2 update (#49327)

* gasnet: deprecate old versions
  GASNet versions more than 2 years old are not supported.
  Update description text.
* gasnet: add 2025.2.0-snapshot version
This commit is contained in:
Dan Bonachea 2025-03-05 21:48:31 -05:00 committed by GitHub
parent aa86342814
commit 3aabff77d7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -12,8 +12,8 @@ class Gasnet(Package, CudaPackage, ROCmPackage):
"""GASNet is a language-independent, networking middleware layer that """GASNet is a language-independent, networking middleware layer that
provides network-independent, high-performance communication primitives provides network-independent, high-performance communication primitives
including Remote Memory Access (RMA) and Active Messages (AM). It has been including Remote Memory Access (RMA) and Active Messages (AM). It has been
used to implement parallel programming models and libraries such as UPC, used to implement parallel programming models and libraries including UPC,
UPC++, Co-Array Fortran, Legion, Chapel, and many others. The interface is UPC++, multi-image Fortran, Legion, Chapel, and many others. The interface is
primarily intended as a compilation target and for use by runtime library primarily intended as a compilation target and for use by runtime library
writers (as opposed to end users), and the primary goals are high writers (as opposed to end users), and the primary goals are high
performance, interface portability, and expressiveness. performance, interface portability, and expressiveness.
@ -21,12 +21,12 @@ class Gasnet(Package, CudaPackage, ROCmPackage):
***NOTICE***: The GASNet library built by this Spack package is ONLY intended for ***NOTICE***: The GASNet library built by this Spack package is ONLY intended for
unit-testing purposes, and is generally UNSUITABLE FOR PRODUCTION USE. unit-testing purposes, and is generally UNSUITABLE FOR PRODUCTION USE.
The RECOMMENDED way to build GASNet is as an embedded library as configured The RECOMMENDED way to build GASNet is as an embedded library as configured
by the higher-level client runtime package (UPC++, Legion, etc), including by the higher-level client runtime package (UPC++, Legion, Chapel, etc), including
system-specific configuration. system-specific configuration.
""" """
homepage = "https://gasnet.lbl.gov" homepage = "https://gasnet.lbl.gov"
url = "https://gasnet.lbl.gov/EX/GASNet-2021.3.0.tar.gz" url = "https://gasnet.lbl.gov/EX/GASNet-2024.5.0.tar.gz"
git = "https://bitbucket.org/berkeleylab/gasnet.git" git = "https://bitbucket.org/berkeleylab/gasnet.git"
maintainers("PHHargrove", "bonachea") maintainers("PHHargrove", "bonachea")
@ -37,11 +37,26 @@ class Gasnet(Package, CudaPackage, ROCmPackage):
version("main", branch="stable") version("main", branch="stable")
version("master", branch="master") version("master", branch="master")
# commit hash e2fdec corresponds to tag gex-2025.2.0-snapshot
version("2025.2.0-snapshot", commit="e2fdece76d86d7b4fa090fbff9b46eb98ce97177")
# Versions fetched from git require a Bootstrap step
def bootstrap_version():
return "@master:,2025.2.0-snapshot"
version("2024.5.0", sha256="f945e80f71d340664766b66290496d230e021df5e5cd88f404d101258446daa9") version("2024.5.0", sha256="f945e80f71d340664766b66290496d230e021df5e5cd88f404d101258446daa9")
version("2023.9.0", sha256="2d9f15a794e10683579ce494cd458b0dd97e2d3327c4d17e1fea79bd95576ce6") version("2023.9.0", sha256="2d9f15a794e10683579ce494cd458b0dd97e2d3327c4d17e1fea79bd95576ce6")
version("2023.3.0", sha256="e1fa783d38a503cf2efa7662be591ca5c2bb98d19ac72a9bc6da457329a9a14f") version("2023.3.0", sha256="e1fa783d38a503cf2efa7662be591ca5c2bb98d19ac72a9bc6da457329a9a14f")
version("2022.9.2", sha256="2352d52f395a9aa14cc57d82957d9f1ebd928d0a0021fd26c5f1382a06cd6f1d") version(
version("2022.9.0", sha256="6873ff4ad8ebee49da4378f2d78095a6ccc31333d6ae4cd739b9f772af11f936") "2022.9.2",
deprecated=True,
sha256="2352d52f395a9aa14cc57d82957d9f1ebd928d0a0021fd26c5f1382a06cd6f1d",
)
version(
"2022.9.0",
deprecated=True,
sha256="6873ff4ad8ebee49da4378f2d78095a6ccc31333d6ae4cd739b9f772af11f936",
)
version( version(
"2022.3.0", "2022.3.0",
deprecated=True, deprecated=True,
@ -129,8 +144,8 @@ class Gasnet(Package, CudaPackage, ROCmPackage):
depends_on("mpi", when="conduits=mpi") depends_on("mpi", when="conduits=mpi")
depends_on("libfabric", when="conduits=ofi") depends_on("libfabric", when="conduits=ofi")
depends_on("autoconf@2.69", type="build", when="@master:") depends_on("autoconf@2.69", type="build", when=bootstrap_version())
depends_on("automake@1.16:", type="build", when="@master:") depends_on("automake@1.16:", type="build", when=bootstrap_version())
conflicts("^hip@:4.4.0", when="+rocm") conflicts("^hip@:4.4.0", when="+rocm")
@ -139,7 +154,7 @@ class Gasnet(Package, CudaPackage, ROCmPackage):
depends_on("oneapi-level-zero@1.8.0:", when="+level_zero") depends_on("oneapi-level-zero@1.8.0:", when="+level_zero")
def install(self, spec, prefix): def install(self, spec, prefix):
if spec.satisfies("@master:"): if spec.satisfies(Gasnet.bootstrap_version()):
bootstrapsh = Executable("./Bootstrap") bootstrapsh = Executable("./Bootstrap")
bootstrapsh() bootstrapsh()
# Record git-describe when fetched from git: # Record git-describe when fetched from git: