diff --git a/lib/spack/docs/getting_started.rst b/lib/spack/docs/getting_started.rst index cb8a586e3c9..6654f50e775 100644 --- a/lib/spack/docs/getting_started.rst +++ b/lib/spack/docs/getting_started.rst @@ -35,7 +35,7 @@ A build matrix showing which packages are working on which systems is shown belo .. code-block:: console apt update - apt install build-essential ca-certificates coreutils curl environment-modules gfortran git gpg lsb-release python3 python3-distutils python3-venv unzip zip + apt install bzip2 ca-certificates file g++ gcc gfortran git gzip lsb-release patch python3 tar unzip xz-utils zstd .. tab-item:: RHEL @@ -43,14 +43,14 @@ A build matrix showing which packages are working on which systems is shown belo dnf install epel-release dnf group install "Development Tools" - dnf install curl findutils gcc-gfortran gnupg2 hostname iproute redhat-lsb-core python3 python3-pip python3-setuptools unzip python3-boto3 + dnf install gcc-gfortran redhat-lsb-core python3 unzip .. tab-item:: macOS Brew .. code-block:: console brew update - brew install curl gcc git gnupg zip + brew install gcc git zip ------------ Installation diff --git a/lib/spack/spack/compiler.py b/lib/spack/spack/compiler.py index 46382a3d983..e16e4a2725c 100644 --- a/lib/spack/spack/compiler.py +++ b/lib/spack/spack/compiler.py @@ -428,6 +428,11 @@ def default_dynamic_linker(self) -> Optional[str]: @property def default_libc(self) -> Optional["spack.spec.Spec"]: """Determine libc targeted by the compiler from link line""" + # technically this should be testing the target platform of the compiler, but we don't have + # that, so stick to host platform for now. + if sys.platform in ("darwin", "win32"): + return None + dynamic_linker = self.default_dynamic_linker if not dynamic_linker: @@ -449,14 +454,20 @@ def compiler_verbose_output(self) -> Optional[str]: return self.cache.get(self).c_compiler_output def _compile_dummy_c_source(self) -> Optional[str]: - cc = self.cc if self.cc else self.cxx + if self.cc: + cc = self.cc + ext = "c" + else: + cc = self.cxx + ext = "cc" + if not cc or not self.verbose_flag: return None try: tmpdir = tempfile.mkdtemp(prefix="spack-implicit-link-info") fout = os.path.join(tmpdir, "output") - fin = os.path.join(tmpdir, "main.c") + fin = os.path.join(tmpdir, f"main.{ext}") with open(fin, "w") as csource: csource.write( diff --git a/var/spack/repos/builtin/packages/arrow/package.py b/var/spack/repos/builtin/packages/arrow/package.py index 994579cdb9d..53fc4bd8c67 100644 --- a/var/spack/repos/builtin/packages/arrow/package.py +++ b/var/spack/repos/builtin/packages/arrow/package.py @@ -17,6 +17,7 @@ class Arrow(CMakePackage, CudaPackage): license("Apache-2.0") + version("18.0.0", sha256="9c473f2c9914c59ab571761c9497cf0e5cfd3ea335f7782ccc6121f5cb99ae9b") version("16.1.0", sha256="9762d9ecc13d09de2a03f9c625a74db0d645cb012de1e9a10dfed0b4ddc09524") version("15.0.2", sha256="4735b349845bff1fe95ed11abbfed204eb092cabc37523aa13a80cb830fe5b5e") version("14.0.2", sha256="07cdb4da6795487c800526b2865c150ab7d80b8512a31793e6a7147c8ccd270f") diff --git a/var/spack/repos/builtin/packages/bfs/package.py b/var/spack/repos/builtin/packages/bfs/package.py index add324f8d44..105b698be4a 100644 --- a/var/spack/repos/builtin/packages/bfs/package.py +++ b/var/spack/repos/builtin/packages/bfs/package.py @@ -16,6 +16,7 @@ class Bfs(MakefilePackage): license("0BSD") + version("4.0.4", sha256="209da9e9f43d8fe30fd689c189ea529e9d6b5358ce84a63a44721003aea3e1ca") version("4.0.1", sha256="8117b76b0a967887278a11470cbfa9e7aeae98f11a7eeb136f456ac462e5ba23") version("3.1.1", sha256="d73f345c1021e0630e0db930a3fa68dd1f968833037d8471ee1096e5040bf91b") version("3.1", sha256="aa6a94231915d3d37e5dd62d194cb58a575a8f45270020f2bdd5ab41e31d1492") diff --git a/var/spack/repos/builtin/packages/costo/package.py b/var/spack/repos/builtin/packages/costo/package.py new file mode 100644 index 00000000000..2e509974de1 --- /dev/null +++ b/var/spack/repos/builtin/packages/costo/package.py @@ -0,0 +1,49 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class Costo(CMakePackage): + """costo stand for COSimulation TOols. + Its a layer above MPI to share data between meshes. + """ + + homepage = "https://gitlab.com/Te_ch/costo" + git = "https://gitlab.com/Te_ch/costo.git" + + maintainers("tech-91") + + license("LGPL-3.0-or-later") + + version("0.0.5", tag="v0.0.5", preferred=True) + version("develop", branch="devel") + version("main", branch="main", deprecated=True) + + variant("shared", default=True, description="Build shared library") + variant("tests", default=False, description="Enable testing") + + depends_on("mpi", type=all) + depends_on("python@3.10:", type=all) + + depends_on("py-non-regression-test-tools", type="build") + depends_on("py-pyvista", type=("build", "run")) + depends_on("py-numpy", type=("build", "link", "run")) + depends_on("py-mpi4py", type=("build", "run")) + depends_on("py-scipy", type=("build", "run")) + depends_on("py-mgmetis", type=("build", "run")) + depends_on("py-colorama", type=("build", "run")) + depends_on("py-pip", type="build") + + def cmake_args(self): + args = [ + # self.define("COSTO_ENABLE_TESTS", "OFF"), + self.define("COSTO_ENABLE_PYTHON_BINDINGS", "OFF"), + self.define("WITH_PYTHON_MODULE", "ON"), + self.define_from_variant("WITH_SHARED_LIBS", "shared"), + self.define_from_variant("WITH_TESTS", "tests"), + ] + + return args diff --git a/var/spack/repos/builtin/packages/diamond/package.py b/var/spack/repos/builtin/packages/diamond/package.py index c87e675eaeb..1ce6bcae9df 100644 --- a/var/spack/repos/builtin/packages/diamond/package.py +++ b/var/spack/repos/builtin/packages/diamond/package.py @@ -16,6 +16,7 @@ class Diamond(CMakePackage): license("GPL-3.0-only") + version("2.1.10", sha256="c6ede5df30d9d496af314e740964c35a0e358458d9c8d9b8dd517d69828d9981") version("2.1.9", sha256="4cde9df78c63e8aef9df1e3265cd06a93ce1b047d6dba513a1437719b70e9d88") version("2.1.8", sha256="b6088259f2bc92d1f9dc4add44590cff68321bcbf91eefbc295a3525118b9415") version("2.1.7", sha256="2dcaba0e79ecb02c3d2a6816d317e714767118a9a056721643abff4c586ca95b") diff --git a/var/spack/repos/builtin/packages/environment-modules/package.py b/var/spack/repos/builtin/packages/environment-modules/package.py index 173c340162f..2b28e5651d1 100644 --- a/var/spack/repos/builtin/packages/environment-modules/package.py +++ b/var/spack/repos/builtin/packages/environment-modules/package.py @@ -13,12 +13,13 @@ class EnvironmentModules(Package): """ homepage = "https://cea-hpc.github.io/modules/" - url = "https://github.com/cea-hpc/modules/releases/download/v5.4.0/modules-5.4.0.tar.gz" + url = "https://github.com/cea-hpc/modules/releases/download/v5.5.0/modules-5.5.0.tar.gz" git = "https://github.com/cea-hpc/modules.git" maintainers("xdelaruelle") version("main", branch="main") + version("5.5.0", sha256="ad0e360c7adc2515a99836863d98499b3ad89cd7548625499b20293845b040cb") version("5.4.0", sha256="586245cbf9420866078d8c28fce8ef4f192530c69a0f368f51e848340dcf3b90") version("5.3.1", sha256="d02f9ce4f8baf6c99edceb7c73bfdd1e97d77bcc4725810b86efed9f58dda962") version("5.3.0", sha256="21b8daa0181044ef65097a1e3517af1f24e7c7343cc5bdaf70be11e3cb0edb51") @@ -62,6 +63,7 @@ class EnvironmentModules(Package): variant("X", default=True, description="Build with X functionality") + depends_on("util-linux", type=("build", "run"), when="@5.5:") depends_on("less", type=("build", "run"), when="@4.1:") with when("@main"): depends_on("autoconf", type="build") @@ -75,7 +77,8 @@ class EnvironmentModules(Package): # Dependencies: depends_on("tcl", type=("build", "link", "run")) depends_on("tcl@8.4:", type=("build", "link", "run"), when="@4.0.0:4.8") - depends_on("tcl@8.5:", type=("build", "link", "run"), when="@5.0.0:") + depends_on("tcl@8.5:8", type=("build", "link", "run"), when="@5.0.0:5.4.0") + depends_on("tcl@8.5:", type=("build", "link", "run"), when="@5.5.0:") def install(self, spec, prefix): tcl = spec["tcl"] @@ -95,6 +98,9 @@ def install(self, spec, prefix): if spec.satisfies("~X"): config_args = ["--without-x"] + config_args + if self.spec.satisfies("@5.5.0:"): + config_args.extend(["--enable-conflict-unload"]) + if self.spec.satisfies("@4.4.0:4.8"): config_args.extend( [ @@ -140,6 +146,9 @@ def install(self, spec, prefix): ] ) + if self.spec.satisfies("@5.5:"): + config_args.append(f"--with-logger={str(self.spec['util-linux'].prefix.bin.logger)}") + if self.spec.satisfies("@4.1:"): config_args.append(f"--with-pager={str(self.spec['less'].prefix.bin.less)}") diff --git a/var/spack/repos/builtin/packages/expat/package.py b/var/spack/repos/builtin/packages/expat/package.py index a41d4912de8..485f773a82d 100644 --- a/var/spack/repos/builtin/packages/expat/package.py +++ b/var/spack/repos/builtin/packages/expat/package.py @@ -16,9 +16,14 @@ class Expat(AutotoolsPackage, CMakePackage): url = "https://github.com/libexpat/libexpat/releases/download/R_2_2_9/expat-2.2.9.tar.bz2" license("MIT") - - version("2.6.3", sha256="b8baef92f328eebcf731f4d18103951c61fa8c8ec21d5ff4202fb6f2198aeb2d") - # deprecate all releases before 2.6.3 because of security issues + version("2.6.4", sha256="8dc480b796163d4436e6f1352e71800a774f73dbae213f1860b60607d2a83ada") + # deprecate all releases before 2.6.4 because of security issues + # CVE-2024-50602 (fixed in 2.6.4) + version( + "2.6.3", + sha256="b8baef92f328eebcf731f4d18103951c61fa8c8ec21d5ff4202fb6f2198aeb2d", + deprecated=True, + ) # CVE-2024-45490 (fixed in 2.6.3) # CVE-2024-45491 (fixed in 2.6.3) # CVE-2024-45492 (fixed in 2.6.3) diff --git a/var/spack/repos/builtin/packages/extrae/dyninst_instruction.patch b/var/spack/repos/builtin/packages/extrae/dyninst_instruction.patch new file mode 100644 index 00000000000..08c691c4f74 --- /dev/null +++ b/var/spack/repos/builtin/packages/extrae/dyninst_instruction.patch @@ -0,0 +1,19 @@ +diff --git a/src/launcher/dyninst/commonSnippets.C b/src/launcher/dyninst/commonSnippets.C +index 94904a23..2f918949 100644 +--- a/src/launcher/dyninst/commonSnippets.C ++++ b/src/launcher/dyninst/commonSnippets.C +@@ -482,9 +482,10 @@ string decodeBasicBlocks(BPatch_function * function, string routine) + ParseAPI::Block* b = ParseAPI::convert(block); + void * buf = b->region()->getPtrToInstruction(b->start()); + InstructionAPI::InstructionDecoder dec((unsigned char*)buf,b->size(),b->region()->getArch()); +- InstructionAPI::Instruction::Ptr insn; +- while((insn = dec.decode())) { +- res <format() << endl; ++ InstructionAPI::Instruction insn = dec.decode(); ++ while(insn.isValid()) { ++ res <