Merge branch 'develop' into bugfix/compiler-flag-propagation

This commit is contained in:
Richarda Butler 2023-09-06 11:05:17 -07:00 committed by GitHub
commit 1740c575a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 127 additions and 42 deletions

View File

@ -274,7 +274,6 @@ def std_args(pkg, generator=None):
generator,
define("CMAKE_INSTALL_PREFIX", pathlib.Path(pkg.prefix).as_posix()),
define("CMAKE_BUILD_TYPE", build_type),
define("BUILD_TESTING", pkg.run_tests),
]
# CMAKE_INTERPROCEDURAL_OPTIMIZATION only exists for CMake >= 3.9
@ -451,7 +450,6 @@ def cmake_args(self):
* CMAKE_INSTALL_PREFIX
* CMAKE_BUILD_TYPE
* BUILD_TESTING
which will be set automatically.
"""

View File

@ -863,7 +863,6 @@ def add(fullpath, scope=None):
has_existing_value = True
path = ""
override = False
value = syaml.load_config(components[-1])
for idx, name in enumerate(components[:-1]):
# First handle double colons in constructing path
colon = "::" if override else ":" if path else ""
@ -884,14 +883,14 @@ def add(fullpath, scope=None):
existing = get_valid_type(path)
# construct value from this point down
value = syaml.load_config(components[-1])
for component in reversed(components[idx + 1 : -1]):
value = {component: value}
break
if override:
path += "::"
if has_existing_value:
path, _, value = fullpath.rpartition(":")
value = syaml.load_config(value)
existing = get(path, scope=scope)
# append values to lists
@ -1232,17 +1231,11 @@ def they_are(t):
return copy.copy(source)
#
# Process a path argument to config.set() that may contain overrides ('::' or
# trailing ':')
#
def process_config_path(path):
"""Process a path argument to config.set() that may contain overrides ('::' or
trailing ':')
Note: quoted value path components will be processed as a single value (escaping colons)
quoted path components outside of the value will be considered ill formed and will
raise.
e.g. `this:is:a:path:'value:with:colon'` will yield:
[this, is, a, path, value:with:colon]
"""
result = []
if path.startswith(":"):
raise syaml.SpackYAMLError("Illegal leading `:' in path `{0}'".format(path), "")
@ -1269,16 +1262,6 @@ def process_config_path(path):
front = syaml.syaml_str(front)
front.append = True
quote = "['\"]"
not_quote = "[^'\"]"
if re.match(f"^{quote}", path):
m = re.match(rf"^{quote}({not_quote}+){quote}$", path)
if not m:
raise ValueError("Quotes indicate value, but there are additional path entries")
result.append(m.group(1))
break
result.append(front)
return result

View File

@ -277,12 +277,6 @@ def test_add_config_path(mutable_config):
compilers = spack.config.get("packages")["all"]["compiler"]
assert "gcc" in compilers
# Try with an escaped colon
path = 'config:install_tree:root:"C:/path/to/config.yaml"'
spack.config.add(path)
set_value = spack.config.get("config")["install_tree"]["root"]
assert set_value == "C:/path/to/config.yaml"
@pytest.mark.regression("17543,23259")
def test_add_config_path_with_enumerated_type(mutable_config):

View File

@ -1,5 +1,9 @@
stages: [ "generate", "build", "publish" ]
variables:
SPACK_DISABLE_LOCAL_CONFIG: "1"
SPACK_USER_CACHE_PATH: "${CI_PROJECT_DIR}/tmp/_user_cache/"
default:
image: { "name": "ghcr.io/spack/e4s-ubuntu-18.04:v2021-10-18", "entrypoint": [""] }
@ -65,8 +69,6 @@ default:
.base-job:
variables:
SPACK_BUILDCACHE_DESTINATION: "s3://spack-binaries/${CI_COMMIT_REF_NAME}/${SPACK_CI_STACK_NAME}"
SPACK_DISABLE_LOCAL_CONFIG: "1"
SPACK_USER_CACHE_PATH: "${CI_PROJECT_DIR}/tmp/_user_cache/"
rules:
- if: $CI_COMMIT_REF_NAME == "develop"
# Pipelines on develop only rebuild what is missing from the mirror

View File

@ -40,6 +40,8 @@ class Axom(CachedCMakePackage, CudaPackage, ROCmPackage):
version("main", branch="main")
version("develop", branch="develop")
version("0.8.1", tag="v0.8.1", commit="0da8a5b1be596887158ac2fcd321524ba5259e15")
version("0.8.0", tag="v0.8.0", commit="71fab3262eb7e1aa44a04c21d072b77f06362f7b")
version("0.7.0", tag="v0.7.0", commit="ea5158191181c137117ae37959879bdc8b107f35")
version("0.6.1", tag="v0.6.1", commit="ee240d3963d7879ae0e9c392902195bd7b04e37d")
version("0.6.0", tag="v0.6.0", commit="65287dc00bc7c271a08cb86c632f5909c30e3506")

View File

@ -44,7 +44,7 @@ class Cabana(CMakePackage):
depends_on("cmake@3.9:", type="build", when="@:0.4.0")
depends_on("cmake@3.16:", type="build", when="@0.5.0:")
depends_on("googletest", type="build", when="testing")
depends_on("googletest", type="test", when="+testing")
_versions = {":0.2": "-legacy", "0.3:": "@3.1:", "0.4:": "@3.2:", "master": "@3.4:"}
for _version in _versions:
_kk_version = _versions[_version]

View File

@ -0,0 +1,16 @@
# 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.package import *
class Cmdlime(CMakePackage):
"""cmdlime is a C++17 header-only library for command line parsing that
provides a concise, declarative interface without many details to remember."""
homepage = "https://github.com/kamchatka-volcano/cmdlime"
url = "https://github.com/kamchatka-volcano/cmdlime/archive/refs/tags/v2.5.0.tar.gz"
version("2.5.0", sha256="d5188d7f075142fcb546099a4ee2a967f8248109c0bee8c084e0e00f37603481")

View File

@ -12,13 +12,14 @@ class Exaca(CMakePackage):
homepage = "https://github.com/LLNL/ExaCA"
git = "https://github.com/LLNL/ExaCA.git"
url = "https://github.com/LLNL/ExaCA/archive/1.0.0.tar.gz"
url = "https://github.com/LLNL/ExaCA/archive/1.2.0.tar.gz"
maintainers("streeve", "MattRolchigo")
tags = ["ecp"]
version("master", branch="master")
version("1.2.0", sha256="5038d63de96c6142ddea956998e1f4ebffbc4a5723caa4da0e73eb185e6623e4")
version("1.1.0", sha256="10106fb1836964a19bc5bab3f374baa24188ba786c768e554442ab896b31ff24")
version("1.0.0", sha256="48556233360a5e15e1fc20849e57dd60739c1991c7dfc7e6b2956af06688b96a")
@ -34,8 +35,9 @@ class Exaca(CMakePackage):
depends_on("cmake@3.12:", type="build", when="@master")
depends_on("googletest@1.10:", type="test", when="@1.1:+testing")
depends_on("kokkos@3.0:", when="@:1.1")
depends_on("kokkos@3.2:", when="@master")
depends_on("kokkos@3.2:", when="@1.2:")
depends_on("mpi")
depends_on("nlohmann-json", when="@1.2:")
def cmake_args(self):
options = [self.define_from_variant("BUILD_SHARED_LIBS", "shared")]

View File

@ -7,22 +7,40 @@
class G2(CMakePackage):
"""Utilities for coding/decoding GRIB2 messages. This library contains
Fortran 90 decoder/encoder routines for GRIB edition 2, as well as
indexing/searching utility routines.
"""The NCEPLIBS-g2 library reads and writes GRIB2 files. GRIdded Binary or General
Regularly-distributed Information in Binary form (GRIB) is a data format for
meteorological and forecast data, standardized by the World Meteorological
Organization (WMO).
This is part of the NCEPLIBS project."""
homepage = "https://noaa-emc.github.io/NCEPLIBS-g2"
url = "https://github.com/NOAA-EMC/NCEPLIBS-g2/archive/refs/tags/v3.4.3.tar.gz"
maintainers("t-brown", "AlexanderRichert-NOAA", "Hang-Lei-NOAA", "edwardhartnett")
maintainers("AlexanderRichert-NOAA", "Hang-Lei-NOAA", "edwardhartnett")
version("3.4.6", sha256="c4b03946365ce0bacf1e10e8412a5debd72d8671d1696aa4fb3f3adb119175fe")
version("3.4.5", sha256="c18e991c56964953d778632e2d74da13c4e78da35e8d04cb742a2ca4f52737b6")
version("3.4.3", sha256="679ea99b225f08b168cbf10f4b29f529b5b011232f298a5442ce037ea84de17c")
depends_on("jasper@:2.0.32")
variant(
"build_with_w3emc",
description="Enable GRIB1 conversion routine",
default=True,
when="@3.4.5:",
)
depends_on("libpng")
depends_on("bacio")
depends_on("jasper@:2.0.32", when="@:3.4.5")
depends_on("jasper", when="@3.4.6:")
depends_on("w3emc", when="@:3.4.5")
def cmake_args(self):
args = []
if self.spec.satisfies("@3.4.5:"):
args.append(self.define_from_variant("BUILD_WITH_W3EMC", "build_with_w3emc"))
def setup_run_environment(self, env):
for suffix in ("4", "d"):

View File

@ -22,6 +22,8 @@ class Libfabric(AutotoolsPackage):
executables = ["^fi_info$"]
version("main", branch="main")
version("1.19.0", sha256="f14c764be9103e80c46223bde66e530e5954cb28b3835b57c8e728479603ef9e")
version("1.18.2", sha256="64d7837853ca84d2a413fdd96534b6a81e6e777cc13866e28cf86cd0ccf1b93e")
version("1.18.1", sha256="4615ae1e22009e59c72ae03c20adbdbd4a3dce95aeefbc86cc2bf1acc81c9e38")
version("1.18.0", sha256="912fb7c7b3cf2a91140520962b004a1c5d2f39184adbbd98ae5919b0178afd43")
version("1.17.1", sha256="8b372ddb3f46784c53fdad50a701a6eb0e661239aee45a42169afbedf3644035")

View File

@ -17,6 +17,7 @@ class Pika(CMakePackage, CudaPackage, ROCmPackage):
git = "https://github.com/pika-org/pika.git"
maintainers("msimberg", "albestro", "teonnik", "aurianer")
version("0.18.0", sha256="f34890e0594eeca6ac57f2b988d0807b502782817e53a7f7043c3f921b08c99f")
version("0.17.0", sha256="717429fc1bc986d62cbec190a69939e91608122d09d54bda1b028871c9ca9ad4")
version("0.16.0", sha256="59f2baec91cc9bf71ca96d21d0da1ec0092bf59da106efa51789089e0d7adcbb")
version("0.15.1", sha256="b68b87cf956ad1448f5c2327a72ba4d9fb339ecabeabb0a87b8ea819457e293b")

View File

@ -24,6 +24,12 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage):
version("develop", branch="develop", submodules=False)
version("main", branch="main", submodules=False)
version(
"2022.10.0",
tag="v2022.10.0",
commit="93b1441aaa258c1dcd211a552b75cff6461a2a8a",
submodules=False,
)
version(
"2022.03.1",
tag="v2022.03.1",
@ -130,6 +136,20 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage):
when="@:5.0.1 ^blt@0.4:",
)
# https://github.com/LLNL/Umpire/pull/805
patch(
"https://github.com/LLNL/Umpire/pull/805/commits/47ff0aa1f7a01a917c3b7ac618e8a9e44a10fd25.patch?full_index=1",
sha256="7ed5d2c315a3b31e339f664f6108e32d7cb4cb8e9f22e5c78a65ba02625ccc09",
when="@2022.10.0",
)
# https://github.com/LLNL/Umpire/pull/816
patch(
"https://github.com/LLNL/Umpire/pull/816/commits/2292d1d6078f6d9523b7ad0886ffa053644569d5.patch?full_index=1",
sha256="0f43cad7cdaec3c225ab6414ab9f81bd405a1157abf5a508e515bcb6ca53326d",
when="@2022.10.0",
)
variant("fortran", default=False, description="Build C/Fortran API")
variant("c", default=True, description="Build C API")
variant("numa", default=False, description="Enable NUMA support")
@ -150,6 +170,7 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage):
depends_on("cmake@3.9:", when="+cuda", type="build")
depends_on("cmake@3.14:", when="@2022.03.0:")
depends_on("blt@0.5.2:", type="build", when="@2022.10.0:")
depends_on("blt@0.5.0:", type="build", when="@2022.03.0:")
depends_on("blt@0.4.1", type="build", when="@6.0.0")
depends_on("blt@0.4.0:", type="build", when="@4.1.3:5.0.1")

View File

@ -0,0 +1,46 @@
# 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.package import *
class Yade(CMakePackage):
"""Yade is an free software for particle based simulations."""
homepage = "https://gitlab.com/yade-dev/trunk"
url = "https://gitlab.com/yade-dev/trunk/-/archive/2023.02a/trunk-2023.02a.tar.gz"
maintainers("lmagdanello")
version("2023.02a", sha256="f76b5a0aa7f202716efa94cd730e4bc442ffcb40a99caaf6e579ab8695efb0c1")
version("2022.01a", sha256="3b76185b706aba6113d1e932c5b883cd772e8d8c6b4e5230a01f3370e2b6904c")
version("2021.01a", sha256="3afab3380e8f5d185af7929213f63341445d6a5ee6bc21bbae102d8ffd93df1d")
version("2020.01a", sha256="e4856aaa0141c32404355ce9de4f25076fe3940dbc8d0fdbc8ace8020c5191f1")
version("2019.01a", sha256="7cb80b912cdc8752850de54ef3c084768c5ab69ce6af4b85dc3921674d7134a5")
version("2018.02b", sha256="d1b2ed3751cd4661af1ad4058196adb16eb227845d874e1c221074a699876634")
version("2018.02a", sha256="629a83ab71e2f47f2a7a83fd2c18ab5ce5573bf239445be0d4ff34ce08c11263")
version("2017.01a", sha256="cd35caa6b6a017ee82f894e7d6f0826fddc1d921aea04b5896d3f1da95cb649b")
version("2016.06a", sha256="6e7374d2dcb7c90026be9229a6b30373f9d82fdefd3dc1f952aa6262924f2579")
depends_on("cmake", type="build")
depends_on("gcc@11.4:", type=("build", "run"))
depends_on("boost@1.47:", type=("build", "run"))
depends_on("qt", type=("build", "run"))
depends_on("freeglut", type=("build", "run"))
depends_on("libqglviewer", type=("build", "run"))
depends_on("python", type=("build", "run"))
depends_on("py-numpy", type=("build", "run"))
depends_on("py-ipython", type=("build", "run"))
depends_on("py-sphinx", type=("build", "run"))
depends_on("py-matplotlib", type=("build", "run"))
depends_on("eigen@3.2.1:", type=("build", "run"))
depends_on("gdb", type=("build", "run"))
depends_on("sqlite", type=("build", "run"))
def cmake_args(self):
args = [self.define("CMAKE_BUILD_TYPE", "Release")]
args.append("-DCMAKE_INSTALL_PREFIX={0}".format(self.stage.source_path))
return args