Compare commits
49 Commits
fix-ams
...
hs/fix/cca
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
09407ae960 | ||
|
|
9a2b0aca66 | ||
|
|
89a8ab3233 | ||
|
|
5d87166c07 | ||
|
|
15c989b3fe | ||
|
|
b7f556e4b4 | ||
|
|
36f32ceda3 | ||
|
|
01d77ed915 | ||
|
|
0049f8332d | ||
|
|
39c10c3116 | ||
|
|
71d1901831 | ||
|
|
41e0863b86 | ||
|
|
a75d83f65c | ||
|
|
f2f13964fb | ||
|
|
9b032018d6 | ||
|
|
7d470c05be | ||
|
|
664fe9e9e6 | ||
|
|
2745a519e2 | ||
|
|
4348ee1c75 | ||
|
|
8e39fb1e54 | ||
|
|
09458312a3 | ||
|
|
5fd0693df4 | ||
|
|
f58684429d | ||
|
|
409611a479 | ||
|
|
dd98cfb839 | ||
|
|
5c91667dab | ||
|
|
9efd6f3f11 | ||
|
|
a8f5289801 | ||
|
|
ac635aa777 | ||
|
|
45dcddf9c3 | ||
|
|
f1660722e7 | ||
|
|
04b44d841c | ||
|
|
7f30502297 | ||
|
|
61b1586c51 | ||
|
|
8579efcadf | ||
|
|
1c3e2b5425 | ||
|
|
011ef0aaaf | ||
|
|
9642f3f49a | ||
|
|
a6c9b55fad | ||
|
|
608ed967e1 | ||
|
|
742eaa32b7 | ||
|
|
763b35a2e0 | ||
|
|
12280f864c | ||
|
|
253ba05732 | ||
|
|
195b869e1c | ||
|
|
393961ffd6 | ||
|
|
392a58e9be | ||
|
|
0e8e97a811 | ||
|
|
43a0cbe7a2 |
4
.github/workflows/ci.yaml
vendored
4
.github/workflows/ci.yaml
vendored
@@ -81,6 +81,10 @@ jobs:
|
||||
with:
|
||||
with_coverage: ${{ needs.changes.outputs.core }}
|
||||
|
||||
import-check:
|
||||
needs: [ changes ]
|
||||
uses: ./.github/workflows/import-check.yaml
|
||||
|
||||
all-prechecks:
|
||||
needs: [ prechecks ]
|
||||
if: ${{ always() }}
|
||||
|
||||
1
.github/workflows/coverage.yml
vendored
1
.github/workflows/coverage.yml
vendored
@@ -33,3 +33,4 @@ jobs:
|
||||
with:
|
||||
verbose: true
|
||||
fail_ci_if_error: false
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
|
||||
49
.github/workflows/import-check.yaml
vendored
Normal file
49
.github/workflows/import-check.yaml
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
name: import-check
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
|
||||
jobs:
|
||||
# Check we don't make the situation with circular imports worse
|
||||
import-check:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: julia-actions/setup-julia@v2
|
||||
with:
|
||||
version: '1.10'
|
||||
- uses: julia-actions/cache@v2
|
||||
|
||||
# PR: use the base of the PR as the old commit
|
||||
- name: Checkout PR base commit
|
||||
if: github.event_name == 'pull_request'
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.base.sha }}
|
||||
path: old
|
||||
# not a PR: use the previous commit as the old commit
|
||||
- name: Checkout previous commit
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||
with:
|
||||
fetch-depth: 2
|
||||
path: old
|
||||
- name: Checkout previous commit
|
||||
if: github.event_name != 'pull_request'
|
||||
run: git -C old reset --hard HEAD^
|
||||
|
||||
- name: Checkout new commit
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||
with:
|
||||
path: new
|
||||
- name: Install circular import checker
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||
with:
|
||||
repository: haampie/circular-import-fighter
|
||||
ref: e38bcd0aa46368e30648b61b7f0d8c1ca68aadff
|
||||
path: circular-import-fighter
|
||||
- name: Install dependencies
|
||||
working-directory: circular-import-fighter
|
||||
run: make -j dependencies
|
||||
- name: Circular import check
|
||||
working-directory: circular-import-fighter
|
||||
run: make -j compare "SPACK_ROOT=../old ../new"
|
||||
60
.github/workflows/valid-style.yml
vendored
60
.github/workflows/valid-style.yml
vendored
@@ -86,66 +86,6 @@ jobs:
|
||||
spack -d bootstrap now --dev
|
||||
spack -d style -t black
|
||||
spack unit-test -V
|
||||
# Check we don't make the situation with circular imports worse
|
||||
import-check:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: julia-actions/setup-julia@v2
|
||||
with:
|
||||
version: '1.10'
|
||||
- uses: julia-actions/cache@v2
|
||||
|
||||
# PR: use the base of the PR as the old commit
|
||||
- name: Checkout PR base commit
|
||||
if: github.event_name == 'pull_request'
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.base.sha }}
|
||||
path: old
|
||||
# not a PR: use the previous commit as the old commit
|
||||
- name: Checkout previous commit
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||
with:
|
||||
fetch-depth: 2
|
||||
path: old
|
||||
- name: Checkout previous commit
|
||||
if: github.event_name != 'pull_request'
|
||||
run: git -C old reset --hard HEAD^
|
||||
|
||||
- name: Checkout new commit
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||
with:
|
||||
path: new
|
||||
- name: Install circular import checker
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||
with:
|
||||
repository: haampie/circular-import-fighter
|
||||
ref: b5d6ce9be35f602cca7d5a6aa0259fca10639cca
|
||||
path: circular-import-fighter
|
||||
- name: Install dependencies
|
||||
working-directory: circular-import-fighter
|
||||
run: make -j dependencies
|
||||
- name: Problematic imports before
|
||||
working-directory: circular-import-fighter
|
||||
run: make SPACK_ROOT=../old SUFFIX=.old
|
||||
- name: Problematic imports after
|
||||
working-directory: circular-import-fighter
|
||||
run: make SPACK_ROOT=../new SUFFIX=.new
|
||||
- name: Compare import cycles
|
||||
working-directory: circular-import-fighter
|
||||
run: |
|
||||
edges_before="$(head -n1 solution.old)"
|
||||
edges_after="$(head -n1 solution.new)"
|
||||
if [ "$edges_after" -gt "$edges_before" ]; then
|
||||
printf '\033[1;31mImport check failed: %s imports need to be deleted, ' "$edges_after"
|
||||
printf 'previously this was %s\033[0m\n' "$edges_before"
|
||||
printf 'Compare \033[1;97m"Problematic imports before"\033[0m and '
|
||||
printf '\033[1;97m"Problematic imports after"\033[0m.\n'
|
||||
exit 1
|
||||
else
|
||||
printf '\033[1;32mImport check passed: %s <= %s\033[0m\n' "$edges_after" "$edges_before"
|
||||
fi
|
||||
|
||||
# Further style checks from pylint
|
||||
pylint:
|
||||
|
||||
3
lib/spack/env/cc
vendored
3
lib/spack/env/cc
vendored
@@ -960,9 +960,6 @@ if [ -n "$SPACK_CCACHE_BINARY" ]; then
|
||||
case "$lang_flags" in
|
||||
C|CXX) # ccache only supports C languages
|
||||
prepend full_command_list "${SPACK_CCACHE_BINARY}"
|
||||
# workaround for stage being a temp folder
|
||||
# see #3761#issuecomment-294352232
|
||||
export CCACHE_NOHASHDIR=yes
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
import spack.util.git
|
||||
|
||||
#: PEP440 canonical <major>.<minor>.<micro>.<devN> string
|
||||
__version__ = "0.24.0.dev0"
|
||||
__version__ = "1.0.0.dev0"
|
||||
spack_version = __version__
|
||||
|
||||
|
||||
|
||||
@@ -610,9 +610,11 @@ def set_wrapper_variables(pkg, env):
|
||||
if spack.config.get("config:ccache"):
|
||||
# Enable ccache in the compiler wrapper
|
||||
env.set(SPACK_CCACHE_BINARY, spack.util.executable.which_string("ccache", required=True))
|
||||
env.set("CCACHE_NOHASHDIR", "")
|
||||
env.set("CCACHE_BASEDIR", os.path.realpath(spack.stage.get_stage_root()))
|
||||
else:
|
||||
# Avoid cache pollution if a build system forces `ccache <compiler wrapper invocation>`.
|
||||
env.set("CCACHE_DISABLE", "1")
|
||||
env.set("CCACHE_DISABLE", "")
|
||||
|
||||
# Gather information about various types of dependencies
|
||||
rpath_hashes = set(s.dag_hash() for s in get_rpath_deps(pkg))
|
||||
|
||||
@@ -458,19 +458,18 @@ def cmake(
|
||||
) -> None:
|
||||
"""Runs ``cmake`` in the build directory"""
|
||||
|
||||
# skip cmake phase if it is an incremental develop build
|
||||
# These are the files that will re-run CMake that are generated from a successful
|
||||
# configure step
|
||||
primary_generator = _extract_primary_generator(self.generator)
|
||||
if primary_generator == "Unix Makefiles":
|
||||
configure_artifact = "Makefile"
|
||||
elif primary_generator == "Ninja":
|
||||
configure_artifact = "ninja.build"
|
||||
if spec.is_develop:
|
||||
# skip cmake phase if it is an incremental develop build
|
||||
|
||||
if spec.is_develop and os.path.isfile(
|
||||
os.path.join(self.build_directory, configure_artifact)
|
||||
):
|
||||
return
|
||||
# Determine the files that will re-run CMake that are generated from a successful
|
||||
# configure step based on state
|
||||
primary_generator = _extract_primary_generator(self.generator)
|
||||
configure_artifact = "Makefile"
|
||||
if primary_generator == "Ninja":
|
||||
configure_artifact = "ninja.build"
|
||||
|
||||
if os.path.isfile(os.path.join(self.build_directory, configure_artifact)):
|
||||
return
|
||||
|
||||
options = self.std_cmake_args
|
||||
options += self.cmake_args()
|
||||
|
||||
@@ -15,7 +15,7 @@ class CudaPackage(PackageBase):
|
||||
"""Auxiliary class which contains CUDA variant, dependencies and conflicts
|
||||
and is meant to unify and facilitate its usage.
|
||||
|
||||
Maintainers: ax3l, Rombur, davidbeckingsale
|
||||
Maintainers: ax3l, Rombur, davidbeckingsale, pauleonix
|
||||
"""
|
||||
|
||||
# https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#gpu-feature-list
|
||||
@@ -47,6 +47,12 @@ class CudaPackage(PackageBase):
|
||||
"89",
|
||||
"90",
|
||||
"90a",
|
||||
"100",
|
||||
"100a",
|
||||
"101",
|
||||
"101a",
|
||||
"120",
|
||||
"120a",
|
||||
)
|
||||
|
||||
# FIXME: keep cuda and cuda_arch separate to make usage easier until
|
||||
@@ -99,39 +105,56 @@ def compute_capabilities(arch_list: Iterable[str]) -> List[str]:
|
||||
# CUDA version vs Architecture
|
||||
# https://en.wikipedia.org/wiki/CUDA#GPUs_supported
|
||||
# https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#deprecated-features
|
||||
# Tesla support:
|
||||
depends_on("cuda@:6.0", when="cuda_arch=10")
|
||||
depends_on("cuda@:6.5", when="cuda_arch=11")
|
||||
depends_on("cuda@2.1:6.5", when="cuda_arch=12")
|
||||
depends_on("cuda@2.1:6.5", when="cuda_arch=13")
|
||||
|
||||
# Fermi support:
|
||||
depends_on("cuda@3.0:8.0", when="cuda_arch=20")
|
||||
depends_on("cuda@3.2:8.0", when="cuda_arch=21")
|
||||
|
||||
# Kepler support:
|
||||
depends_on("cuda@5.0:10.2", when="cuda_arch=30")
|
||||
depends_on("cuda@5.0:10.2", when="cuda_arch=32")
|
||||
depends_on("cuda@5.0:11.8", when="cuda_arch=35")
|
||||
depends_on("cuda@6.5:11.8", when="cuda_arch=37")
|
||||
|
||||
# Maxwell support:
|
||||
depends_on("cuda@6.0:", when="cuda_arch=50")
|
||||
depends_on("cuda@6.5:", when="cuda_arch=52")
|
||||
depends_on("cuda@6.5:", when="cuda_arch=53")
|
||||
|
||||
# Pascal support:
|
||||
depends_on("cuda@8.0:", when="cuda_arch=60")
|
||||
depends_on("cuda@8.0:", when="cuda_arch=61")
|
||||
depends_on("cuda@8.0:", when="cuda_arch=62")
|
||||
|
||||
# Volta support:
|
||||
depends_on("cuda@9.0:", when="cuda_arch=70")
|
||||
# Turing support:
|
||||
depends_on("cuda@9.0:", when="cuda_arch=72")
|
||||
depends_on("cuda@10.0:", when="cuda_arch=75")
|
||||
|
||||
# Ampere support:
|
||||
depends_on("cuda@11.0:", when="cuda_arch=80")
|
||||
depends_on("cuda@11.1:", when="cuda_arch=86")
|
||||
depends_on("cuda@11.4:", when="cuda_arch=87")
|
||||
# Ada support:
|
||||
depends_on("cuda@11.8:", when="cuda_arch=89")
|
||||
|
||||
# Hopper support:
|
||||
depends_on("cuda@12.0:", when="cuda_arch=90")
|
||||
depends_on("cuda@12.0:", when="cuda_arch=90a")
|
||||
|
||||
# Blackwell support:
|
||||
depends_on("cuda@12.8:", when="cuda_arch=100")
|
||||
depends_on("cuda@12.8:", when="cuda_arch=100a")
|
||||
depends_on("cuda@12.8:", when="cuda_arch=101")
|
||||
depends_on("cuda@12.8:", when="cuda_arch=101a")
|
||||
depends_on("cuda@12.8:", when="cuda_arch=120")
|
||||
depends_on("cuda@12.8:", when="cuda_arch=120a")
|
||||
# From the NVIDIA install guide we know of conflicts for particular
|
||||
# platforms (linux, darwin), architectures (x86, powerpc) and compilers
|
||||
# (gcc, clang). We don't restrict %gcc and %clang conflicts to
|
||||
@@ -163,6 +186,7 @@ def compute_capabilities(arch_list: Iterable[str]) -> List[str]:
|
||||
conflicts("%gcc@12:", when="+cuda ^cuda@:11.8")
|
||||
conflicts("%gcc@13:", when="+cuda ^cuda@:12.3")
|
||||
conflicts("%gcc@14:", when="+cuda ^cuda@:12.6")
|
||||
conflicts("%gcc@15:", when="+cuda ^cuda@:12.8")
|
||||
conflicts("%clang@12:", when="+cuda ^cuda@:11.4.0")
|
||||
conflicts("%clang@13:", when="+cuda ^cuda@:11.5")
|
||||
conflicts("%clang@14:", when="+cuda ^cuda@:11.7")
|
||||
@@ -171,6 +195,7 @@ def compute_capabilities(arch_list: Iterable[str]) -> List[str]:
|
||||
conflicts("%clang@17:", when="+cuda ^cuda@:12.3")
|
||||
conflicts("%clang@18:", when="+cuda ^cuda@:12.5")
|
||||
conflicts("%clang@19:", when="+cuda ^cuda@:12.6")
|
||||
conflicts("%clang@20:", when="+cuda ^cuda@:12.8")
|
||||
|
||||
# https://gist.github.com/ax3l/9489132#gistcomment-3860114
|
||||
conflicts("%gcc@10", when="+cuda ^cuda@:11.4.0")
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
import zipfile
|
||||
from collections import namedtuple
|
||||
from typing import Callable, Dict, List, Set
|
||||
from urllib.request import HTTPHandler, Request, build_opener
|
||||
from urllib.request import Request
|
||||
|
||||
import llnl.util.filesystem as fs
|
||||
import llnl.util.tty as tty
|
||||
@@ -62,6 +62,8 @@
|
||||
|
||||
PushResult = namedtuple("PushResult", "success url")
|
||||
|
||||
urlopen = web_util.urlopen # alias for mocking in tests
|
||||
|
||||
|
||||
def get_change_revisions():
|
||||
"""If this is a git repo get the revisions to use when checking
|
||||
@@ -627,29 +629,19 @@ def download_and_extract_artifacts(url, work_dir):
|
||||
if token:
|
||||
headers["PRIVATE-TOKEN"] = token
|
||||
|
||||
opener = build_opener(HTTPHandler)
|
||||
|
||||
request = Request(url, headers=headers)
|
||||
request.get_method = lambda: "GET"
|
||||
|
||||
response = opener.open(request, timeout=SPACK_CDASH_TIMEOUT)
|
||||
response_code = response.getcode()
|
||||
|
||||
if response_code != 200:
|
||||
msg = f"Error response code ({response_code}) in reproduce_ci_job"
|
||||
raise SpackError(msg)
|
||||
|
||||
request = Request(url, headers=headers, method="GET")
|
||||
artifacts_zip_path = os.path.join(work_dir, "artifacts.zip")
|
||||
os.makedirs(work_dir, exist_ok=True)
|
||||
|
||||
if not os.path.exists(work_dir):
|
||||
os.makedirs(work_dir)
|
||||
try:
|
||||
response = urlopen(request, timeout=SPACK_CDASH_TIMEOUT)
|
||||
with open(artifacts_zip_path, "wb") as out_file:
|
||||
shutil.copyfileobj(response, out_file)
|
||||
except OSError as e:
|
||||
raise SpackError(f"Error fetching artifacts: {e}")
|
||||
|
||||
with open(artifacts_zip_path, "wb") as out_file:
|
||||
shutil.copyfileobj(response, out_file)
|
||||
|
||||
zip_file = zipfile.ZipFile(artifacts_zip_path)
|
||||
zip_file.extractall(work_dir)
|
||||
zip_file.close()
|
||||
with zipfile.ZipFile(artifacts_zip_path) as zip_file:
|
||||
zip_file.extractall(work_dir)
|
||||
|
||||
os.remove(artifacts_zip_path)
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ def validate(configuration_file):
|
||||
# Set the default value of the concretization strategy to unify and
|
||||
# warn if the user explicitly set another value
|
||||
env_dict.setdefault("concretizer", {"unify": True})
|
||||
if not env_dict["concretizer"]["unify"] is True:
|
||||
if env_dict["concretizer"]["unify"] is not True:
|
||||
warnings.warn(
|
||||
'"concretizer:unify" is not set to "true", which means the '
|
||||
"generated image may contain different variants of the same "
|
||||
|
||||
@@ -814,7 +814,7 @@ def get_depflags(self, pkg: "spack.package_base.PackageBase") -> int:
|
||||
# Include build dependencies if pkg is going to be built from sources, or
|
||||
# if build deps are explicitly requested.
|
||||
if include_build_deps or not (
|
||||
cache_only or pkg.spec.installed and not pkg.spec.dag_hash() in self.overwrite
|
||||
cache_only or pkg.spec.installed and pkg.spec.dag_hash() not in self.overwrite
|
||||
):
|
||||
depflag |= dt.BUILD
|
||||
if self.run_tests(pkg):
|
||||
|
||||
@@ -64,7 +64,7 @@ def from_local_path(path: str):
|
||||
@staticmethod
|
||||
def from_url(url: str):
|
||||
"""Create an anonymous mirror by URL. This method validates the URL."""
|
||||
if not urllib.parse.urlparse(url).scheme in supported_url_schemes:
|
||||
if urllib.parse.urlparse(url).scheme not in supported_url_schemes:
|
||||
raise ValueError(
|
||||
f'"{url}" is not a valid mirror URL. '
|
||||
f"Scheme must be one of {supported_url_schemes}."
|
||||
|
||||
@@ -383,6 +383,7 @@ def create_opener():
|
||||
"""Create an opener that can handle OCI authentication."""
|
||||
opener = urllib.request.OpenerDirector()
|
||||
for handler in [
|
||||
urllib.request.ProxyHandler(),
|
||||
urllib.request.UnknownHandler(),
|
||||
urllib.request.HTTPSHandler(context=spack.util.web.ssl_create_default_context()),
|
||||
spack.util.web.SpackHTTPDefaultErrorHandler(),
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
# flake8: noqa: F401
|
||||
# flake8: noqa: F401, E402
|
||||
"""spack.package defines the public API for Spack packages, by re-exporting useful symbols from
|
||||
other modules. Packages should import this module, instead of importing from spack.* directly
|
||||
to ensure forward compatibility with future versions of Spack."""
|
||||
|
||||
@@ -697,9 +697,6 @@ class PackageBase(WindowsRPath, PackageViewMixin, metaclass=PackageMeta):
|
||||
#: Verbosity level, preserved across installs.
|
||||
_verbose = None
|
||||
|
||||
#: index of patches by sha256 sum, built lazily
|
||||
_patches_by_hash = None
|
||||
|
||||
#: Package homepage where users can find more information about the package
|
||||
homepage: Optional[str] = None
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Copyright Spack Project Developers. See COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
import codecs
|
||||
import collections
|
||||
import hashlib
|
||||
import os
|
||||
@@ -13,7 +14,7 @@
|
||||
import xml.sax.saxutils
|
||||
from typing import Dict, Optional
|
||||
from urllib.parse import urlencode
|
||||
from urllib.request import HTTPSHandler, Request, build_opener
|
||||
from urllib.request import Request
|
||||
|
||||
import llnl.util.tty as tty
|
||||
from llnl.util.filesystem import working_dir
|
||||
@@ -24,10 +25,10 @@
|
||||
import spack.spec
|
||||
import spack.tengine
|
||||
import spack.util.git
|
||||
import spack.util.web as web_util
|
||||
from spack.error import SpackError
|
||||
from spack.util.crypto import checksum
|
||||
from spack.util.log_parse import parse_log_events
|
||||
from spack.util.web import ssl_create_default_context
|
||||
|
||||
from .base import Reporter
|
||||
from .extract import extract_test_parts
|
||||
@@ -433,7 +434,6 @@ def upload(self, filename):
|
||||
# Compute md5 checksum for the contents of this file.
|
||||
md5sum = checksum(hashlib.md5, filename, block_size=8192)
|
||||
|
||||
opener = build_opener(HTTPSHandler(context=ssl_create_default_context()))
|
||||
with open(filename, "rb") as f:
|
||||
params_dict = {
|
||||
"build": self.buildname,
|
||||
@@ -443,26 +443,21 @@ def upload(self, filename):
|
||||
}
|
||||
encoded_params = urlencode(params_dict)
|
||||
url = "{0}&{1}".format(self.cdash_upload_url, encoded_params)
|
||||
request = Request(url, data=f)
|
||||
request = Request(url, data=f, method="PUT")
|
||||
request.add_header("Content-Type", "text/xml")
|
||||
request.add_header("Content-Length", os.path.getsize(filename))
|
||||
if self.authtoken:
|
||||
request.add_header("Authorization", "Bearer {0}".format(self.authtoken))
|
||||
try:
|
||||
# By default, urllib2 only support GET and POST.
|
||||
# CDash expects this file to be uploaded via PUT.
|
||||
request.get_method = lambda: "PUT"
|
||||
response = opener.open(request, timeout=SPACK_CDASH_TIMEOUT)
|
||||
response = web_util.urlopen(request, timeout=SPACK_CDASH_TIMEOUT)
|
||||
if self.current_package_name not in self.buildIds:
|
||||
resp_value = response.read()
|
||||
if isinstance(resp_value, bytes):
|
||||
resp_value = resp_value.decode("utf-8")
|
||||
resp_value = codecs.getreader("utf-8")(response).read()
|
||||
match = self.buildid_regexp.search(resp_value)
|
||||
if match:
|
||||
buildid = match.group(1)
|
||||
self.buildIds[self.current_package_name] = buildid
|
||||
except Exception as e:
|
||||
print("Upload to CDash failed: {0}".format(e))
|
||||
print(f"Upload to CDash failed: {e}")
|
||||
|
||||
def finalize_report(self):
|
||||
if self.buildIds:
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
# Copyright Spack Project Developers. See COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
import io
|
||||
import os
|
||||
import subprocess
|
||||
from urllib.error import HTTPError
|
||||
|
||||
import pytest
|
||||
|
||||
@@ -15,6 +17,7 @@
|
||||
import spack.paths as spack_paths
|
||||
import spack.repo as repo
|
||||
import spack.util.git
|
||||
from spack.test.conftest import MockHTTPResponse
|
||||
|
||||
pytestmark = [pytest.mark.usefixtures("mock_packages")]
|
||||
|
||||
@@ -162,38 +165,8 @@ def test_import_signing_key(mock_gnupghome):
|
||||
ci.import_signing_key(signing_key)
|
||||
|
||||
|
||||
class FakeWebResponder:
|
||||
def __init__(self, response_code=200, content_to_read=[]):
|
||||
self._resp_code = response_code
|
||||
self._content = content_to_read
|
||||
self._read = [False for c in content_to_read]
|
||||
|
||||
def open(self, request, data=None, timeout=object()):
|
||||
return self
|
||||
|
||||
def getcode(self):
|
||||
return self._resp_code
|
||||
|
||||
def read(self, length=None):
|
||||
if len(self._content) <= 0:
|
||||
return None
|
||||
|
||||
if not self._read[-1]:
|
||||
return_content = self._content[-1]
|
||||
if length:
|
||||
self._read[-1] = True
|
||||
else:
|
||||
self._read.pop()
|
||||
self._content.pop()
|
||||
return return_content
|
||||
|
||||
self._read.pop()
|
||||
self._content.pop()
|
||||
return None
|
||||
|
||||
|
||||
def test_download_and_extract_artifacts(tmpdir, monkeypatch, working_env):
|
||||
os.environ.update({"GITLAB_PRIVATE_TOKEN": "faketoken"})
|
||||
def test_download_and_extract_artifacts(tmpdir, monkeypatch):
|
||||
monkeypatch.setenv("GITLAB_PRIVATE_TOKEN", "faketoken")
|
||||
|
||||
url = "https://www.nosuchurlexists.itsfake/artifacts.zip"
|
||||
working_dir = os.path.join(tmpdir.strpath, "repro")
|
||||
@@ -201,10 +174,13 @@ def test_download_and_extract_artifacts(tmpdir, monkeypatch, working_env):
|
||||
spack_paths.test_path, "data", "ci", "gitlab", "artifacts.zip"
|
||||
)
|
||||
|
||||
with open(test_artifacts_path, "rb") as fd:
|
||||
fake_responder = FakeWebResponder(content_to_read=[fd.read()])
|
||||
def _urlopen_OK(*args, **kwargs):
|
||||
with open(test_artifacts_path, "rb") as f:
|
||||
return MockHTTPResponse(
|
||||
"200", "OK", {"Content-Type": "application/zip"}, io.BytesIO(f.read())
|
||||
)
|
||||
|
||||
monkeypatch.setattr(ci, "build_opener", lambda handler: fake_responder)
|
||||
monkeypatch.setattr(ci, "urlopen", _urlopen_OK)
|
||||
|
||||
ci.download_and_extract_artifacts(url, working_dir)
|
||||
|
||||
@@ -214,7 +190,11 @@ def test_download_and_extract_artifacts(tmpdir, monkeypatch, working_env):
|
||||
found_install = fs.find(working_dir, "install.sh")
|
||||
assert len(found_install) == 1
|
||||
|
||||
fake_responder._resp_code = 400
|
||||
def _urlopen_500(*args, **kwargs):
|
||||
raise HTTPError(url, 500, "Internal Server Error", {}, None)
|
||||
|
||||
monkeypatch.setattr(ci, "urlopen", _urlopen_500)
|
||||
|
||||
with pytest.raises(spack.error.SpackError):
|
||||
ci.download_and_extract_artifacts(url, working_dir)
|
||||
|
||||
|
||||
@@ -182,7 +182,7 @@ def test_requirement_adds_version_satisfies(
|
||||
|
||||
# Sanity check: early version of T does not include U
|
||||
s0 = spack.concretize.concretize_one("t@2.0")
|
||||
assert not ("u" in s0)
|
||||
assert "u" not in s0
|
||||
|
||||
conf_str = """\
|
||||
packages:
|
||||
|
||||
@@ -436,8 +436,8 @@ def _dump_annotated(handler, data, stream=None):
|
||||
width = max(clen(a) for a in _ANNOTATIONS)
|
||||
formats = ["%%-%ds %%s\n" % (width + cextra(a)) for a in _ANNOTATIONS]
|
||||
|
||||
for f, a, l in zip(formats, _ANNOTATIONS, lines):
|
||||
stream.write(f % (a, l))
|
||||
for fmt, annotation, line in zip(formats, _ANNOTATIONS, lines):
|
||||
stream.write(fmt % (annotation, line))
|
||||
|
||||
if getvalue:
|
||||
return getvalue()
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[project]
|
||||
name="spack"
|
||||
description="The spack package manager"
|
||||
requires-python=">=3.6"
|
||||
dependencies=[
|
||||
"clingo",
|
||||
"setuptools",
|
||||
@@ -67,9 +68,42 @@ features = [
|
||||
"ci",
|
||||
]
|
||||
|
||||
[tool.ruff]
|
||||
line-length = 99
|
||||
extend-include = ["bin/spack"]
|
||||
extend-exclude = ["lib/spack/external", "*.pyi"]
|
||||
|
||||
[tool.ruff.format]
|
||||
skip-magic-trailing-comma = true
|
||||
|
||||
[tool.ruff.lint]
|
||||
extend-select = ["I"]
|
||||
ignore = ["E731", "E203"]
|
||||
|
||||
[tool.ruff.lint.isort]
|
||||
split-on-trailing-comma = false
|
||||
section-order = [
|
||||
"future",
|
||||
"standard-library",
|
||||
"third-party",
|
||||
"archspec",
|
||||
"llnl",
|
||||
"spack",
|
||||
"first-party",
|
||||
"local-folder",
|
||||
]
|
||||
|
||||
[tool.ruff.lint.isort.sections]
|
||||
spack = ["spack"]
|
||||
archspec = ["archspec"]
|
||||
llnl = ["llnl"]
|
||||
|
||||
[tool.ruff.lint.per-file-ignores]
|
||||
"var/spack/repos/*/package.py" = ["F403", "F405", "F811", "F821"]
|
||||
"*-ci-package.py" = ["F403", "F405", "F821"]
|
||||
|
||||
[tool.black]
|
||||
line-length = 99
|
||||
target-version = ['py36', 'py37', 'py38', 'py39', 'py310']
|
||||
include = '(lib/spack|var/spack/repos)/.*\.pyi?$|bin/spack$'
|
||||
extend-exclude = 'lib/spack/external'
|
||||
skip_magic_trailing_comma = true
|
||||
|
||||
@@ -539,57 +539,6 @@ data-vis-sdk-build:
|
||||
- artifacts: True
|
||||
job: data-vis-sdk-generate
|
||||
|
||||
########################################
|
||||
# AWS ISC Applications (x86_64)
|
||||
########################################
|
||||
|
||||
# Call this AFTER .*-generate
|
||||
.aws-isc-overrides:
|
||||
# This controls image for generate step; build step is controlled by spack.yaml
|
||||
# Note that generator emits OS info for build so these should be the same.
|
||||
image: { "name": "ghcr.io/spack/e4s-amazonlinux-2:v2023-03-09", "entrypoint": [""] }
|
||||
|
||||
.aws-isc:
|
||||
extends: [ ".linux_x86_64_v3" ]
|
||||
variables:
|
||||
SPACK_CI_STACK_NAME: aws-isc
|
||||
|
||||
aws-isc-generate:
|
||||
extends: [ ".aws-isc", ".generate-x86_64", ".aws-isc-overrides", ".tags-x86_64_v4" ]
|
||||
|
||||
aws-isc-build:
|
||||
extends: [ ".aws-isc", ".build" ]
|
||||
trigger:
|
||||
include:
|
||||
- artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
|
||||
job: aws-isc-generate
|
||||
strategy: depend
|
||||
needs:
|
||||
- artifacts: True
|
||||
job: aws-isc-generate
|
||||
|
||||
# Parallel Pipeline for aarch64 (reuses override image, but generates and builds on aarch64)
|
||||
|
||||
.aws-isc-aarch64:
|
||||
extends: [ ".linux_aarch64" ]
|
||||
variables:
|
||||
SPACK_CI_STACK_NAME: aws-isc-aarch64
|
||||
|
||||
aws-isc-aarch64-generate:
|
||||
extends: [ ".aws-isc-aarch64", ".generate-aarch64", ".aws-isc-overrides" ]
|
||||
|
||||
aws-isc-aarch64-build:
|
||||
extends: [ ".aws-isc-aarch64", ".build" ]
|
||||
trigger:
|
||||
include:
|
||||
- artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
|
||||
job: aws-isc-aarch64-generate
|
||||
strategy: depend
|
||||
needs:
|
||||
- artifacts: True
|
||||
job: aws-isc-aarch64-generate
|
||||
|
||||
|
||||
########################################
|
||||
# Spack Tutorial
|
||||
########################################
|
||||
|
||||
@@ -1,141 +0,0 @@
|
||||
spack:
|
||||
view: false
|
||||
packages:
|
||||
all:
|
||||
providers:
|
||||
blas:
|
||||
- openblas
|
||||
mkl:
|
||||
- intel-oneapi-mkl
|
||||
mpi:
|
||||
- openmpi
|
||||
- mpich
|
||||
variants: +mpi
|
||||
tbb:
|
||||
require: intel-tbb
|
||||
binutils:
|
||||
variants: +ld +gold +headers +libiberty ~nls
|
||||
version:
|
||||
- 2.36.1
|
||||
doxygen:
|
||||
version:
|
||||
- 1.8.20
|
||||
elfutils:
|
||||
variants: ~nls
|
||||
hdf5:
|
||||
variants: +fortran +hl +shared
|
||||
libfabric:
|
||||
variants: fabrics=efa,tcp,udp,sockets,verbs,shm,mrail,rxd,rxm
|
||||
libunwind:
|
||||
variants: +pic +xz
|
||||
mesa:
|
||||
variants: ~llvm
|
||||
mpich:
|
||||
variants: ~wrapperrpath netmod=ofi device=ch4
|
||||
ncurses:
|
||||
variants: +termlib
|
||||
openblas:
|
||||
variants: threads=openmp
|
||||
openmpi:
|
||||
variants: fabrics=ofi +legacylaunchers
|
||||
openturns:
|
||||
version:
|
||||
- '1.18'
|
||||
relion:
|
||||
variants: ~mklfft
|
||||
# texlive:
|
||||
# version: [20210325]
|
||||
trilinos:
|
||||
variants: +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext
|
||||
+ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu
|
||||
+nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos
|
||||
+teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long
|
||||
xz:
|
||||
variants: +pic
|
||||
|
||||
definitions:
|
||||
|
||||
- compiler_specs:
|
||||
- gcc@11.2
|
||||
# Licensing OK?
|
||||
# - intel-oneapi-compilers@2022.1
|
||||
# - nvhpc
|
||||
|
||||
- app_specs:
|
||||
- bwa
|
||||
# Depends on simde which requires newer compiler?
|
||||
#- bowtie2
|
||||
# Requires x86_64 specific ASM
|
||||
#- cistem
|
||||
- cromwell
|
||||
- fastqc
|
||||
- flux-sched
|
||||
- flux-core
|
||||
- flux-pmix
|
||||
- gatk
|
||||
- gromacs
|
||||
- lammps
|
||||
- wrf build_type=dm+sm
|
||||
- mfem
|
||||
- mpas-model ^parallelio+pnetcdf
|
||||
- nextflow
|
||||
- octave
|
||||
- openfoam
|
||||
- osu-micro-benchmarks
|
||||
- parallel
|
||||
# - paraview
|
||||
- picard
|
||||
- quantum-espresso
|
||||
- raja
|
||||
# Depends on bowtie2 -> simde which requires newer compiler?
|
||||
#- rsem
|
||||
# Errors on texlive
|
||||
#- rstudio
|
||||
- salmon
|
||||
- samtools
|
||||
- seqtk
|
||||
- snakemake
|
||||
- star
|
||||
# Requires gcc@9:
|
||||
#- ufs-weather-model
|
||||
# requires LLVM which fails without constraint
|
||||
#- visit
|
||||
|
||||
- lib_specs:
|
||||
- openmpi fabrics=ofi
|
||||
- openmpi fabrics=ofi +legacylaunchers
|
||||
- openmpi fabrics=auto
|
||||
- mpich
|
||||
- libfabric
|
||||
|
||||
- compiler:
|
||||
- '%gcc@7.3.1'
|
||||
|
||||
- target:
|
||||
- target=aarch64
|
||||
|
||||
|
||||
specs:
|
||||
|
||||
- matrix:
|
||||
- - $app_specs
|
||||
- - $compiler
|
||||
- - $target
|
||||
|
||||
- matrix:
|
||||
- - $lib_specs
|
||||
- - $compiler
|
||||
- - $target
|
||||
|
||||
- matrix:
|
||||
- - $compiler_specs
|
||||
- - $compiler
|
||||
- - $target
|
||||
|
||||
ci:
|
||||
pipeline-gen:
|
||||
- build-job:
|
||||
image: {name: ghcr.io/spack/e4s-amazonlinux-2:v2023-03-09, entrypoint: ['']}
|
||||
|
||||
cdash:
|
||||
build-group: AWS Packages
|
||||
@@ -1,153 +0,0 @@
|
||||
spack:
|
||||
view: false
|
||||
packages:
|
||||
all:
|
||||
providers:
|
||||
blas:
|
||||
- openblas
|
||||
mkl:
|
||||
- intel-oneapi-mkl
|
||||
mpi:
|
||||
- openmpi
|
||||
- mpich
|
||||
variants: +mpi
|
||||
tbb:
|
||||
require: intel-tbb
|
||||
binutils:
|
||||
variants: +ld +gold +headers +libiberty ~nls
|
||||
version:
|
||||
- 2.36.1
|
||||
doxygen:
|
||||
version:
|
||||
- 1.8.20
|
||||
elfutils:
|
||||
variants: ~nls
|
||||
hdf5:
|
||||
variants: +fortran +hl +shared
|
||||
libfabric:
|
||||
variants: fabrics=efa,tcp,udp,sockets,verbs,shm,mrail,rxd,rxm
|
||||
libunwind:
|
||||
variants: +pic +xz
|
||||
mesa:
|
||||
variants: ~llvm
|
||||
mpich:
|
||||
variants: ~wrapperrpath netmod=ofi device=ch4
|
||||
ncurses:
|
||||
variants: +termlib
|
||||
openblas:
|
||||
variants: threads=openmp
|
||||
openmpi:
|
||||
variants: fabrics=ofi +legacylaunchers
|
||||
openturns:
|
||||
version:
|
||||
- '1.18'
|
||||
relion:
|
||||
variants: ~mklfft
|
||||
# texlive:
|
||||
# version: [20210325]
|
||||
trilinos:
|
||||
variants: +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext
|
||||
+ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu
|
||||
+nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos
|
||||
+teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long
|
||||
xz:
|
||||
variants: +pic
|
||||
|
||||
definitions:
|
||||
|
||||
- compiler_specs:
|
||||
- gcc@11.2
|
||||
# Licensing OK?
|
||||
# - intel-oneapi-compilers@2022.1
|
||||
# - nvhpc
|
||||
|
||||
- cuda_specs:
|
||||
# Disabled for consistency with aarch64
|
||||
#- relion +cuda cuda_arch=70
|
||||
- raja +cuda cuda_arch=70
|
||||
- mfem +cuda cuda_arch=70
|
||||
|
||||
- app_specs:
|
||||
- bwa
|
||||
# Disabled for consistency with aarch64
|
||||
#- bowtie2
|
||||
# Disabled for consistency with aarch64
|
||||
#- cistem
|
||||
- cromwell
|
||||
- fastqc
|
||||
- flux-sched
|
||||
- flux-core
|
||||
- flux-pmix
|
||||
- gatk
|
||||
- gromacs
|
||||
- lammps
|
||||
- wrf build_type=dm+sm
|
||||
- mfem
|
||||
- mpas-model ^parallelio+pnetcdf
|
||||
- nextflow
|
||||
- octave
|
||||
- openfoam
|
||||
- osu-micro-benchmarks
|
||||
- parallel
|
||||
# - paraview
|
||||
- picard
|
||||
- quantum-espresso
|
||||
# Build broken for gcc@7.3.1 x86_64_v4 (error: '_mm512_loadu_epi32' was not declared in this scope)
|
||||
#- raja
|
||||
# Disabled for consistency with aarch64
|
||||
#- rsem
|
||||
# Errors on texlive
|
||||
#- rstudio
|
||||
- salmon
|
||||
- samtools
|
||||
- seqtk
|
||||
- snakemake
|
||||
- star
|
||||
# Requires gcc@9:
|
||||
#- ufs-weather-model
|
||||
# Disabled for consistency with aarch64
|
||||
#- visit
|
||||
|
||||
- lib_specs:
|
||||
- openmpi fabrics=ofi
|
||||
- openmpi fabrics=ofi +legacylaunchers
|
||||
- openmpi fabrics=auto
|
||||
- mpich
|
||||
- libfabric
|
||||
|
||||
- compiler:
|
||||
- '%gcc@7.3.1'
|
||||
|
||||
- target:
|
||||
- target=x86_64_v3
|
||||
|
||||
|
||||
specs:
|
||||
|
||||
- matrix:
|
||||
- - $cuda_specs
|
||||
- - $compiler
|
||||
- - $target
|
||||
|
||||
- matrix:
|
||||
- - $app_specs
|
||||
- - $compiler
|
||||
- - $target
|
||||
|
||||
- matrix:
|
||||
- - $lib_specs
|
||||
- - $compiler
|
||||
- - $target
|
||||
|
||||
- matrix:
|
||||
- - $compiler_specs
|
||||
- - $compiler
|
||||
- - $target
|
||||
|
||||
ci:
|
||||
pipeline-gen:
|
||||
- build-job:
|
||||
image: {name: ghcr.io/spack/e4s-amazonlinux-2:v2023-03-09, entrypoint: ['']}
|
||||
|
||||
cdash:
|
||||
build-group: AWS Packages
|
||||
@@ -83,7 +83,7 @@ spack:
|
||||
- pythia8 +evtgen +fastjet +hdf5 +hepmc +hepmc3 +lhapdf ~madgraph5amc +python +rivet ~root # pythia8 and root circularly depend
|
||||
- rivet hepmc=3
|
||||
- root +davix +dcache +examples +fftw +fits +fortran +gdml +graphviz +gsl +http +math +minuit +mlp +mysql +opengl +postgres +pythia8 +python +r +roofit +root7 +rpath ~shadow +spectrum +sqlite +ssl +tbb +threads +tmva +unuran +vc +vdt +veccore +webgui +x +xml +xrootd
|
||||
- sherpa +analysis ~blackhat +gzip +hepmc3 +hepmc3root +lhapdf +lhole +openloops +pythia ~python ~recola ~rivet +root +ufo
|
||||
- sherpa +analysis ~blackhat +gzip +hepmc3 +hepmc3root +lhapdf +lhole +openloops +pythia ~python ~recola ~rivet +root +ufo cxxstd=20
|
||||
- tauola +hepmc3 +lhapdf cxxstd=20
|
||||
- thepeg hepmc=3 ~rivet
|
||||
- vecgeom +gdml +geant4 +root
|
||||
|
||||
@@ -18,7 +18,7 @@ spack:
|
||||
- hdf5+hl+mpi ^mpich
|
||||
- trilinos
|
||||
- trilinos +hdf5 ^hdf5+hl+mpi ^mpich
|
||||
- gcc@12.3.0
|
||||
- gcc@12
|
||||
- mpileaks
|
||||
- lmod@8.7.18
|
||||
- environment-modules
|
||||
|
||||
@@ -32,7 +32,7 @@ def edit(self, spec, prefix):
|
||||
# Dictionary mapping: compiler-name : ACE config-label
|
||||
supported = {"intel": "_icc", "gcc": ""}
|
||||
|
||||
if not (self.compiler.name in supported):
|
||||
if self.compiler.name not in supported:
|
||||
raise Exception(
|
||||
"compiler " + self.compiler.name + " not supported in ace spack-package"
|
||||
)
|
||||
|
||||
@@ -25,6 +25,7 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
|
||||
license("BSD-3-Clause")
|
||||
|
||||
version("develop", branch="development")
|
||||
version("25.02", sha256="2680a5a9afba04e211cd48d27799c5a25abbb36c6c3d2b6c13cd4757c7176b23")
|
||||
version("25.01", sha256="29eb35cf67d66b0fd0654282454c210abfadf27fcff8478b256e3196f237c74f")
|
||||
version("24.12", sha256="ca4b41ac73fabb9cf3600b530c9823eb3625f337d9b7b9699c1089e81c67fc67")
|
||||
version("24.11", sha256="31cc37b39f15e02252875815f6066046fc56a479bf459362b9889b0d6a202df6")
|
||||
@@ -360,7 +361,7 @@ def cmake_args(self):
|
||||
args.append("-DAMReX_GPU_BACKEND=SYCL")
|
||||
# SYCL GPU backend only supported with Intel's oneAPI or DPC++ compilers
|
||||
sycl_compatible_compilers = ["icpx"]
|
||||
if not (os.path.basename(self.compiler.cxx) in sycl_compatible_compilers):
|
||||
if os.path.basename(self.compiler.cxx) not in sycl_compatible_compilers:
|
||||
raise InstallError(
|
||||
"AMReX's SYCL GPU Backend requires the oneAPI CXX (icpx) compiler."
|
||||
)
|
||||
|
||||
@@ -140,7 +140,8 @@ def cmake_args(self):
|
||||
if spec.satisfies("+torch"):
|
||||
args.append("-DWITH_TORCH=On")
|
||||
args.append(
|
||||
"-DTorch_DIR={0}/lib/python{1}/site-packages/torch/share/cmake/Torch".format(
|
||||
"-DTorch_DIR={0}/lib/python{1}/site-packages"
|
||||
"/torch/share/cmake/Torch".format(
|
||||
spec["py-torch"].prefix, spec["python"].version.up_to(2)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -54,7 +54,7 @@ class Armcomputelibrary(SConsPackage):
|
||||
variant(
|
||||
"multi_isa",
|
||||
default=False,
|
||||
description="Build Multi ISA binary version of library. Note works only for armv8.2-a.",
|
||||
description="Build Multi ISA binary version of library." " Note works only for armv8.2-a.",
|
||||
)
|
||||
variant(
|
||||
"target_arch",
|
||||
|
||||
@@ -61,7 +61,7 @@ class Atlas(Package):
|
||||
"tune_cpu",
|
||||
default=-1,
|
||||
multi=False,
|
||||
description="Number of threads to tune to, -1 for autodetect, 0 for no threading",
|
||||
description="Number of threads to tune to, " "-1 for autodetect, 0 for no threading",
|
||||
)
|
||||
|
||||
conflicts(
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
|
||||
def async_api_validator(pkg_name, variant_name, values):
|
||||
if "none" in values and len(values) != 1:
|
||||
raise SpackError("The value 'none' is not usable with other async_api values.")
|
||||
raise SpackError("The value 'none' is not usable" " with other async_api values.")
|
||||
if "intel_cppr" in values and "cray_dw" in values:
|
||||
raise SpackError("The 'intel_cppr' and 'cray_dw' asynchronous APIs are incompatible.")
|
||||
raise SpackError("The 'intel_cppr' and 'cray_dw' asynchronous" " APIs are incompatible.")
|
||||
|
||||
|
||||
class Axl(CMakePackage):
|
||||
|
||||
@@ -376,7 +376,9 @@ def initconfig_hardware_entries(self):
|
||||
if "+fortran" in spec and self.is_fortran_compiler("xlf"):
|
||||
# Grab lib directory for the current fortran compiler
|
||||
libdir = pjoin(os.path.dirname(os.path.dirname(self.compiler.fc)), "lib")
|
||||
description = "Adds a missing rpath for libraries associated with the fortran compiler"
|
||||
description = (
|
||||
"Adds a missing rpath for libraries " "associated with the fortran compiler"
|
||||
)
|
||||
|
||||
linker_flags = "${BLT_EXE_LINKER_FLAGS} -Wl,-rpath," + libdir
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ class Bcftools(AutotoolsPackage):
|
||||
variant(
|
||||
"libgsl",
|
||||
default=False,
|
||||
description="build options that require the GNU scientific library",
|
||||
description="build options that require the GNU scientific " "library",
|
||||
)
|
||||
|
||||
variant(
|
||||
|
||||
@@ -118,7 +118,7 @@ class Berkeleygw(MakefilePackage):
|
||||
def edit(self, spec, prefix):
|
||||
# archive is a tar file, despite the .gz expension
|
||||
tar = which("tar")
|
||||
tar("-x", "-f", self.stage.archive_file, "--strip-components=1")
|
||||
tar("-x", "-o", "-f", self.stage.archive_file, "--strip-components=1")
|
||||
|
||||
# get generic arch.mk template
|
||||
if spec.satisfies("+mpi"):
|
||||
|
||||
@@ -38,7 +38,7 @@ def llnl_link_helpers(options, spec, compiler):
|
||||
options.append(cmake_cache_string("BLT_EXE_LINKER_FLAGS", flags, description))
|
||||
|
||||
if "cce" in compiler.cxx:
|
||||
description = "Adds a missing rpath for libraries associated with the fortran compiler"
|
||||
description = "Adds a missing rpath for libraries " "associated with the fortran compiler"
|
||||
# Here is where to find libs that work for fortran
|
||||
libdir = "/opt/cray/pe/cce/{0}/cce-clang/x86_64/lib".format(compiler.version)
|
||||
linker_flags = "${{BLT_EXE_LINKER_FLAGS}} -Wl,-rpath,{0}".format(libdir)
|
||||
|
||||
@@ -40,7 +40,9 @@ class Bohrium(CMakePackage, CudaPackage):
|
||||
variant("node", default=True, description="Build the node vector engine manager")
|
||||
variant("proxy", default=False, description="Build the proxy vector engine manager")
|
||||
variant(
|
||||
"python", default=True, description="Build the numpy-like bridge to enable use from python"
|
||||
"python",
|
||||
default=True,
|
||||
description="Build the numpy-like bridge " "to enable use from python",
|
||||
)
|
||||
variant("cbridge", default=True, description="Build the bridge interface towards plain C")
|
||||
|
||||
|
||||
@@ -237,7 +237,7 @@ def libs(self):
|
||||
values=("global", "protected", "hidden"),
|
||||
default="hidden",
|
||||
multi=False,
|
||||
description="Default symbol visibility in compiled libraries (1.69.0 or later)",
|
||||
description="Default symbol visibility in compiled libraries " "(1.69.0 or later)",
|
||||
)
|
||||
|
||||
# Unicode support
|
||||
|
||||
@@ -53,7 +53,7 @@ class Bzip2(Package, SourcewarePackage):
|
||||
@classmethod
|
||||
def determine_version(cls, exe):
|
||||
output = Executable(exe)("--help", output=str, error=str)
|
||||
match = re.search(r"bzip2, a block-sorting file compressor. Version ([^,]+)", output)
|
||||
match = re.search(r"bzip2, a block-sorting file compressor." " Version ([^,]+)", output)
|
||||
return match.group(1) if match else None
|
||||
|
||||
# override default implementation
|
||||
|
||||
@@ -71,7 +71,7 @@ class Care(CachedCMakePackage, CudaPackage, ROCmPackage):
|
||||
variant(
|
||||
"implicit_conversions",
|
||||
default=False,
|
||||
description="Enable implicit conversions to/from raw pointers",
|
||||
description="Enable implicit" "conversions to/from raw pointers",
|
||||
)
|
||||
variant("tests", default=False, description="Build tests")
|
||||
variant("benchmarks", default=False, description="Build benchmarks.")
|
||||
|
||||
@@ -61,7 +61,7 @@ class CcsQcd(MakefilePackage):
|
||||
def edit(self, spec, prefix):
|
||||
if spec.satisfies("%gcc") and spec.satisfies("arch=aarch64:"):
|
||||
chgopt = (
|
||||
"FFLAGS =-O3 -ffixed-line-length-132 -g -fopenmp -mcmodel=large -funderscoring"
|
||||
"FFLAGS =-O3 -ffixed-line-length-132 -g -fopenmp" " -mcmodel=large -funderscoring"
|
||||
)
|
||||
filter_file(
|
||||
"FFLAGS =.*",
|
||||
|
||||
@@ -131,7 +131,7 @@ class Cgal(CMakePackage):
|
||||
conflicts(
|
||||
"~header_only",
|
||||
when="@:4.9",
|
||||
msg="Header only builds became optional in 4.9, default thereafter",
|
||||
msg="Header only builds became optional in 4.9," " default thereafter",
|
||||
)
|
||||
|
||||
def url_for_version(self, version):
|
||||
|
||||
@@ -276,7 +276,7 @@ def charmarch(self):
|
||||
# build-target=LIBS backend={0}'.format(b))
|
||||
|
||||
def install(self, spec, prefix):
|
||||
if not ("backend=mpi" in self.spec) or not ("backend=netlrts" in self.spec):
|
||||
if "backend=mpi" not in self.spec or "backend=netlrts" not in self.spec:
|
||||
if self.spec.satisfies("+pthreads"):
|
||||
raise InstallError(
|
||||
"The pthreads option is only available on the Netlrts and MPI network layers."
|
||||
@@ -351,7 +351,7 @@ def install(self, spec, prefix):
|
||||
# This is a Charm++ limitation; it would lead to a
|
||||
# build error
|
||||
raise InstallError(
|
||||
"The +tcp variant requires the backend=netlrts communication mechanism"
|
||||
"The +tcp variant requires " "the backend=netlrts communication mechanism"
|
||||
)
|
||||
options.append("tcp")
|
||||
if spec.satisfies("+omp"):
|
||||
|
||||
@@ -31,9 +31,11 @@ def edit(self, spec, prefix):
|
||||
# Replace -fopenmp with self.compiler.openmp_flag
|
||||
makefile.filter("-fopenmp", self.compiler.openmp_flag)
|
||||
# Replace CXX with CXXFLAGS
|
||||
cxx11_flag = self.compiler.cxx11_flag
|
||||
makefile.filter(
|
||||
"CXX.*=.*", rf"CXXFLAGS = -DCNVNATOR_VERSION=\"$(VERSION)\" $(OMPFLAGS) {cxx11_flag}"
|
||||
"CXX.*=.*",
|
||||
r"CXXFLAGS = -DCNVNATOR_VERSION=\"$(VERSION)\""
|
||||
" $(OMPFLAGS)"
|
||||
" {0}".format(self.compiler.cxx11_flag),
|
||||
)
|
||||
makefile.filter("$(CXX)", "$(CXX) $(CXXFLAGS)", string=True)
|
||||
# Replace -I$(SAMDIR) with -I$(SAMINC)
|
||||
|
||||
@@ -78,7 +78,9 @@ def install(self, spec, prefix):
|
||||
# rewrite the Makefile to use Spack's options all the time
|
||||
if spec.satisfies("%gcc"):
|
||||
if not spec.satisfies("%gcc@6:"):
|
||||
raise InstallError("When using GCC, CosmoMC requires version gcc@6: for building")
|
||||
raise InstallError(
|
||||
"When using GCC, " "CosmoMC requires version gcc@6: for building"
|
||||
)
|
||||
choosecomp = "ifortErr=1" # choose gfortran
|
||||
elif spec.satisfies("%intel"):
|
||||
if not spec.satifies("%intel@14:"):
|
||||
|
||||
@@ -38,10 +38,11 @@ class Cp2k(MakefilePackage, CMakePackage, CudaPackage, ROCmPackage):
|
||||
git = "https://github.com/cp2k/cp2k.git"
|
||||
list_url = "https://github.com/cp2k/cp2k/releases"
|
||||
|
||||
maintainers("dev-zero", "mtaillefumier")
|
||||
maintainers("dev-zero", "mtaillefumier", "RMeli", "abussy")
|
||||
|
||||
license("GPL-2.0-or-later")
|
||||
|
||||
version("2025.1", sha256="65c8ad5488897b0f995919b9fa77f2aba4b61677ba1e3c19bb093d5c08a8ce1d")
|
||||
version("2024.3", sha256="a6eeee773b6b1fb417def576e4049a89a08a0ed5feffcd7f0b33c7d7b48f19ba")
|
||||
version("2024.2", sha256="cc3e56c971dee9e89b705a1103765aba57bf41ad39a11c89d3de04c8b8cdf473")
|
||||
version("2024.1", sha256="a7abf149a278dfd5283dc592a2c4ae803b37d040df25d62a5e35af5c4557668f")
|
||||
@@ -115,6 +116,7 @@ class Cp2k(MakefilePackage, CMakePackage, CudaPackage, ROCmPackage):
|
||||
)
|
||||
variant("pytorch", default=False, description="Enable libtorch support")
|
||||
variant("quip", default=False, description="Enable quip support")
|
||||
variant("dftd4", when="@2024.2:", default=False, description="Enable DFT-D4 support")
|
||||
variant("mpi_f08", default=False, description="Use MPI F08 module")
|
||||
variant("smeagol", default=False, description="Enable libsmeagol support", when="@2025.2:")
|
||||
|
||||
@@ -157,6 +159,7 @@ class Cp2k(MakefilePackage, CMakePackage, CudaPackage, ROCmPackage):
|
||||
)
|
||||
|
||||
depends_on("python@3", type="build")
|
||||
depends_on("pkgconfig", type="build", when="build_system=cmake")
|
||||
|
||||
depends_on("blas")
|
||||
depends_on("lapack")
|
||||
@@ -194,13 +197,14 @@ class Cp2k(MakefilePackage, CMakePackage, CudaPackage, ROCmPackage):
|
||||
)
|
||||
|
||||
with when("+libxc"):
|
||||
depends_on("pkgconfig", type="build", when="@7.0:")
|
||||
depends_on("pkgconfig", type="build", when="@7.0: ^libxc@:6")
|
||||
depends_on("libxc@4.0.3:4", when="@7.0:8.1")
|
||||
depends_on("libxc@5.1.3:5.1", when="@8.2:8")
|
||||
depends_on("libxc@5.1.7:5.1", when="@9:2022.2")
|
||||
depends_on("libxc@6.1:", when="@2023.1:")
|
||||
depends_on("libxc@6.2:", when="@2023.2:")
|
||||
depends_on("libxc@:6", when="@:2024.3")
|
||||
depends_on("libxc@7 build_system=cmake", when="@2025.2:")
|
||||
|
||||
with when("+spla"):
|
||||
depends_on("spla+cuda+fortran", when="+cuda")
|
||||
@@ -293,6 +297,8 @@ class Cp2k(MakefilePackage, CMakePackage, CudaPackage, ROCmPackage):
|
||||
|
||||
depends_on("spglib", when="+spglib")
|
||||
|
||||
depends_on("dftd4@3.6.0: build_system=cmake", when="+dftd4")
|
||||
|
||||
with when("build_system=cmake"):
|
||||
depends_on("cmake@3.22:", type="build")
|
||||
|
||||
@@ -624,6 +630,12 @@ def edit(self, pkg, spec, prefix):
|
||||
ldflags += [spglib.search_flags]
|
||||
libs.append(spglib.ld_flags)
|
||||
|
||||
if spec.satisfies("+dftd4"):
|
||||
cppflags += ["-D__DFTD4"]
|
||||
dftd4 = spec["dftd4"].libs
|
||||
ldflags += [dftd4.search_flags]
|
||||
libs.append(dftd4.ld_flags)
|
||||
|
||||
if spec.satisfies("+smeagol"):
|
||||
cppflags += ["-D__SMEAGOL"]
|
||||
smeagol = spec["libsmeagol"].libs
|
||||
@@ -801,10 +813,9 @@ def edit(self, pkg, spec, prefix):
|
||||
mkf.write("include {0}\n".format(self.pkg["plumed"].plumed_inc))
|
||||
|
||||
mkf.write("\n# COMPILER, LINKER, TOOLS\n\n")
|
||||
mkf.write(f"FC = {fc}\n")
|
||||
mkf.write(f"CC = {cc}\n")
|
||||
mkf.write(f"CXX = {cxx}\n")
|
||||
mkf.write(f"LD = {fc}\n")
|
||||
mkf.write(
|
||||
"FC = {0}\n" "CC = {1}\n" "CXX = {2}\n" "LD = {3}\n".format(fc, cc, cxx, fc)
|
||||
)
|
||||
|
||||
if spec.satisfies("%intel"):
|
||||
intel_bin_dir = ancestor(pkg.compiler.cc)
|
||||
@@ -1004,6 +1015,7 @@ def cmake_args(self):
|
||||
self.define_from_variant("CP2K_USE_VORI", "libvori"),
|
||||
self.define_from_variant("CP2K_USE_SPLA", "spla"),
|
||||
self.define_from_variant("CP2K_USE_QUIP", "quip"),
|
||||
self.define_from_variant("CP2K_USE_DFTD4", "dftd4"),
|
||||
self.define_from_variant("CP2K_USE_MPI_F08", "mpi_f08"),
|
||||
self.define_from_variant("CP2K_USE_LIBSMEAGOL", "smeagol"),
|
||||
]
|
||||
|
||||
@@ -15,6 +15,7 @@ class Cppgsl(CMakePackage):
|
||||
license("MIT")
|
||||
|
||||
version("main", branch="main")
|
||||
version("4.1.0", sha256="0a227fc9c8e0bf25115f401b9a46c2a68cd28f299d24ab195284eb3f1d7794bd")
|
||||
version("4.0.0", sha256="f0e32cb10654fea91ad56bde89170d78cfbf4363ee0b01d8f097de2ba49f6ce9")
|
||||
version("3.1.0", sha256="d3234d7f94cea4389e3ca70619b82e8fb4c2f33bb3a070799f1e18eef500a083")
|
||||
version("2.1.0", sha256="ef73814657b073e1be86c8f7353718771bf4149b482b6cb54f99e79b23ff899d")
|
||||
@@ -32,6 +33,7 @@ class Cppgsl(CMakePackage):
|
||||
)
|
||||
|
||||
depends_on("cmake@3.1.3:", type="build")
|
||||
depends_on("cmake@3.14:", type="build", when="@4.1:")
|
||||
|
||||
def cmake_args(self):
|
||||
return [
|
||||
|
||||
@@ -25,7 +25,7 @@ class Creduce(CMakePackage):
|
||||
depends_on("flex")
|
||||
depends_on("libxml2")
|
||||
depends_on("llvm")
|
||||
depends_on("llvm@8.0.0", when="@:2.10")
|
||||
depends_on("llvm@8.0", when="@:2.10")
|
||||
depends_on("perl")
|
||||
depends_on("perl-exporter-lite")
|
||||
depends_on("perl-file-which")
|
||||
|
||||
@@ -21,6 +21,16 @@
|
||||
# format returned by platform.system() and 'arch' by platform.machine()
|
||||
|
||||
_versions = {
|
||||
"12.8.0": {
|
||||
"Linux-aarch64": (
|
||||
"5bc211f00c4f544da6e3fc3a549b3eb0a7e038439f5f3de71caa688f2f6b132c",
|
||||
"https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda_12.8.0_570.86.10_linux_sbsa.run",
|
||||
),
|
||||
"Linux-x86_64": (
|
||||
"610867dcd6d94c4e36c4924f1d01b9db28ec08164e8af6c764f21b84200695f8",
|
||||
"https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda_12.8.0_570.86.10_linux.run",
|
||||
),
|
||||
},
|
||||
"12.6.3": {
|
||||
"Linux-aarch64": (
|
||||
"213ea63a6357020978a8b0a79a8c9d12a2a5941afa1cdc69d5a3f933fa8bed04",
|
||||
|
||||
@@ -19,7 +19,10 @@ class Cusz(CMakePackage, CudaPackage):
|
||||
conflicts("cuda_arch=none", when="+cuda")
|
||||
|
||||
version("develop", branch="develop")
|
||||
version("0.6.0", commit="cafed521dc338fe2159ebb5b09a36fc318524bf7")
|
||||
version("0.14.0", commit="e57fd7cd9df923164af9dd307b0b3d37dd9df137")
|
||||
version("0.9.0rc3", commit="c3c3a74d006c6de3c145255241fb181682bd1492")
|
||||
# 0.9.0rc1 was listed as 0.6.0 for a while in spack
|
||||
version("0.9.0rc1", commit="cafed521dc338fe2159ebb5b09a36fc318524bf7")
|
||||
version("0.3.1", commit="02be3cbd07db467decaf45ec9eb593ba6173c809")
|
||||
version("0.3", sha256="0feb4f7fd64879fe147624dd5ad164adf3983f79b2e0383d35724f8d185dcb11")
|
||||
|
||||
@@ -31,6 +34,10 @@ class Cusz(CMakePackage, CudaPackage):
|
||||
|
||||
depends_on("cub", when="^cuda@:10.2.89")
|
||||
|
||||
patch("thrust-includes.patch", when="@0.10:0.14 ^cuda@12.8:")
|
||||
patch("thrust-includes-0.9.patch", when="@0.9 ^cuda@12.8:")
|
||||
conflicts("^cuda@12.8:", when="@:0.8")
|
||||
|
||||
def cmake_args(self):
|
||||
cuda_arch = self.spec.variants["cuda_arch"].value
|
||||
args = ["-DBUILD_TESTING=OFF", ("-DCMAKE_CUDA_ARCHITECTURES=%s" % cuda_arch)]
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
diff --git a/src/stat/detail/compare.thrust.inl b/src/stat/detail/compare.thrust.inl
|
||||
index ce49408..ec8d650 100644
|
||||
--- a/src/stat/detail/compare.thrust.inl
|
||||
+++ b/src/stat/detail/compare.thrust.inl
|
||||
@@ -18,6 +18,9 @@
|
||||
// #include <thrust/iterator/constant_iterator.h>
|
||||
#include <thrust/device_ptr.h>
|
||||
#include <thrust/execution_policy.h>
|
||||
+#include <thrust/functional.h>
|
||||
+#include <thrust/iterator/zip_iterator.h>
|
||||
+#include <thrust/transform_reduce.h>
|
||||
#include <thrust/tuple.h>
|
||||
|
||||
#include "cusz/type.h"
|
||||
diff --git a/src/stat/detail/maxerr.thrust.inl b/src/stat/detail/maxerr.thrust.inl
|
||||
index 2415655..9b31e88 100644
|
||||
--- a/src/stat/detail/maxerr.thrust.inl
|
||||
+++ b/src/stat/detail/maxerr.thrust.inl
|
||||
@@ -18,6 +18,8 @@
|
||||
// #include <thrust/iterator/constant_iterator.h>
|
||||
#include <thrust/device_ptr.h>
|
||||
#include <thrust/execution_policy.h>
|
||||
+#include <thrust/extrema.h>
|
||||
+#include <thrust/transform.h>
|
||||
|
||||
#include "cusz/type.h"
|
||||
|
||||
27
var/spack/repos/builtin/packages/cusz/thrust-includes.patch
Normal file
27
var/spack/repos/builtin/packages/cusz/thrust-includes.patch
Normal file
@@ -0,0 +1,27 @@
|
||||
diff --git a/psz/src/stat/detail/compare.thrust.inl b/psz/src/stat/detail/compare.thrust.inl
|
||||
index f35c7df..719d68f 100644
|
||||
--- a/psz/src/stat/detail/compare.thrust.inl
|
||||
+++ b/psz/src/stat/detail/compare.thrust.inl
|
||||
@@ -11,6 +11,9 @@
|
||||
|
||||
#include <thrust/device_ptr.h>
|
||||
#include <thrust/execution_policy.h>
|
||||
+#include <thrust/functional.h>
|
||||
+#include <thrust/iterator/zip_iterator.h>
|
||||
+#include <thrust/transform_reduce.h>
|
||||
#include <thrust/tuple.h>
|
||||
|
||||
#include "cusz/type.h"
|
||||
diff --git a/psz/src/stat/detail/maxerr.thrust.inl b/psz/src/stat/detail/maxerr.thrust.inl
|
||||
index f7a4db5..ce7925a 100644
|
||||
--- a/psz/src/stat/detail/maxerr.thrust.inl
|
||||
+++ b/psz/src/stat/detail/maxerr.thrust.inl
|
||||
@@ -11,6 +11,8 @@
|
||||
|
||||
#include <thrust/device_ptr.h>
|
||||
#include <thrust/execution_policy.h>
|
||||
+#include <thrust/extrema.h>
|
||||
+#include <thrust/transform.h>
|
||||
|
||||
#include "cusz/type.h"
|
||||
#include "port.hh"
|
||||
@@ -30,7 +30,7 @@ def dav_sdk_depends_on(spec, when=None, propagate=None):
|
||||
# Map the propagated variants to the dependency variant. Some packages may need
|
||||
# overrides to propagate a dependency as something else, e.g., {"visit": "libsim"}.
|
||||
# Most call-sites will just use a list.
|
||||
if not type(propagate) is dict:
|
||||
if type(propagate) is not dict:
|
||||
propagate = dict([(v, v) for v in propagate])
|
||||
|
||||
# Determine the base variant
|
||||
@@ -153,7 +153,7 @@ class DavSdk(BundlePackage, CudaPackage, ROCmPackage):
|
||||
# ParaView needs @5.11: in order to use CUDA/ROCM, therefore it is the minimum
|
||||
# required version since GPU capability is desired for ECP
|
||||
dav_sdk_depends_on(
|
||||
"paraview@5.11:+mpi+openpmd+python+kits+shared+catalyst+libcatalyst use_vtkm=on",
|
||||
"paraview@5.11:+mpi+openpmd+python+kits+shared+catalyst+libcatalyst" " use_vtkm=on",
|
||||
when="+paraview",
|
||||
propagate=["adios2", "cuda", "hdf5", "rocm"] + amdgpu_target_variants + cuda_arch_variants,
|
||||
)
|
||||
|
||||
@@ -25,6 +25,7 @@ class Dd4hep(CMakePackage):
|
||||
license("LGPL-3.0-or-later")
|
||||
|
||||
version("master", branch="master")
|
||||
version("1.31", sha256="9c06a1b4462fc1b51161404889c74b37350162d0b0ac2154db27e3f102670bd1")
|
||||
version("1.30", sha256="02de46151e945eff58cffd84b4b86d35051f4436608199c3efb4d2e1183889fe")
|
||||
version("1.29", sha256="435d25a7ef093d8bf660f288b5a89b98556b4c1c293c55b93bf641fb4cba77e9")
|
||||
version("1.28", sha256="b28d671eda0154073873a044a384486e66f1f200065deca99537aa84f07328ad")
|
||||
@@ -118,13 +119,16 @@ class Dd4hep(CMakePackage):
|
||||
depends_on("tbb", when="+tbb")
|
||||
depends_on("intel-tbb@:2020.3", when="+tbb @:1.23")
|
||||
depends_on("lcio", when="+lcio")
|
||||
depends_on("edm4hep", when="+edm4hep")
|
||||
depends_on("podio", when="+edm4hep")
|
||||
depends_on("podio@:0.16.03", when="@:1.23 +edm4hep")
|
||||
depends_on("podio@0.16:", when="@1.24: +edm4hep")
|
||||
depends_on("podio@0.16.3:", when="@1.26: +edm4hep")
|
||||
depends_on("podio@:0", when="@:1.29 +edm4hep")
|
||||
depends_on("py-pytest", type=("build", "test"))
|
||||
with when("+edm4hep"):
|
||||
depends_on("edm4hep")
|
||||
depends_on("edm4hep@0.10.5:", when="@1.31:")
|
||||
depends_on("podio")
|
||||
depends_on("podio@:0.16.03", when="@:1.23")
|
||||
depends_on("podio@:0", when="@:1.29")
|
||||
depends_on("podio@0.16:", when="@1.24:")
|
||||
depends_on("podio@0.16.3:", when="@1.26:")
|
||||
depends_on("podio@0.16.7:", when="@1.31:")
|
||||
|
||||
# See https://github.com/AIDASoft/DD4hep/pull/771 and https://github.com/AIDASoft/DD4hep/pull/876
|
||||
conflicts(
|
||||
|
||||
@@ -418,16 +418,18 @@ class Dealii(CMakePackage, CudaPackage):
|
||||
conflicts(
|
||||
"+adol-c",
|
||||
when="^trilinos+chaco",
|
||||
msg="Symbol clash between the ADOL-C library and Trilinos SEACAS Chaco.",
|
||||
msg="Symbol clash between the ADOL-C library and " "Trilinos SEACAS Chaco.",
|
||||
)
|
||||
conflicts(
|
||||
"+adol-c",
|
||||
when="^trilinos+exodus",
|
||||
msg="Symbol clash between the ADOL-C library and Trilinos Netcdf.",
|
||||
msg="Symbol clash between the ADOL-C library and " "Trilinos Netcdf.",
|
||||
)
|
||||
|
||||
conflicts(
|
||||
"+slepc", when="~petsc", msg="It is not possible to enable slepc interfaces without petsc."
|
||||
"+slepc",
|
||||
when="~petsc",
|
||||
msg="It is not possible to enable slepc interfaces " "without petsc.",
|
||||
)
|
||||
|
||||
def cmake_args(self):
|
||||
|
||||
@@ -60,7 +60,7 @@ class Dftbplus(CMakePackage, MakefilePackage):
|
||||
"chimes",
|
||||
default=False,
|
||||
when="@21.2:",
|
||||
description="Whether repulsive corrections via the ChIMES library should be enabled.",
|
||||
description="Whether repulsive corrections" "via the ChIMES library should be enabled.",
|
||||
)
|
||||
variant(
|
||||
"elsi",
|
||||
@@ -70,7 +70,9 @@ class Dftbplus(CMakePackage, MakefilePackage):
|
||||
when="+mpi",
|
||||
)
|
||||
variant(
|
||||
"gpu", default=False, description="Use the MAGMA library for GPU accelerated computation"
|
||||
"gpu",
|
||||
default=False,
|
||||
description="Use the MAGMA library " "for GPU accelerated computation",
|
||||
)
|
||||
variant(
|
||||
"mbd",
|
||||
@@ -105,7 +107,7 @@ class Dftbplus(CMakePackage, MakefilePackage):
|
||||
variant(
|
||||
"sockets",
|
||||
default=False,
|
||||
description="Whether the socket library (external control) should be linked",
|
||||
description="Whether the socket library " "(external control) should be linked",
|
||||
)
|
||||
variant(
|
||||
"transport",
|
||||
@@ -128,7 +130,7 @@ class Dftbplus(CMakePackage, MakefilePackage):
|
||||
"dftd3",
|
||||
default=False,
|
||||
when="@:19.1",
|
||||
description="Use DftD3 dispersion library (if you need this dispersion model)",
|
||||
description="Use DftD3 dispersion library " "(if you need this dispersion model)",
|
||||
)
|
||||
|
||||
depends_on("cmake@3.16:", type="build", when="@20.1:")
|
||||
|
||||
@@ -73,7 +73,7 @@ class DlaFuture(CMakePackage, CudaPackage, ROCmPackage):
|
||||
generator("ninja")
|
||||
|
||||
depends_on("cmake@3.22:", type="build")
|
||||
depends_on("pkgconfig", type="build")
|
||||
depends_on("pkgconfig", type=("build", "link"))
|
||||
depends_on("doxygen", type="build", when="+doc")
|
||||
depends_on("mpi")
|
||||
|
||||
|
||||
@@ -75,7 +75,8 @@ def config_docbook(self):
|
||||
"--noout",
|
||||
"--add",
|
||||
"public",
|
||||
f"-//OASIS//ENTITIES DocBook XML Additional General Entities V{version}//EN",
|
||||
"-//OASIS//ENTITIES DocBook XML Additional General Entities "
|
||||
"V{0}//EN".format(version),
|
||||
f"file://{prefix}/dbgenent.mod",
|
||||
docbook,
|
||||
)
|
||||
@@ -115,7 +116,7 @@ def config_docbook(self):
|
||||
"--noout",
|
||||
"--add",
|
||||
"public",
|
||||
"ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN",
|
||||
"ISO 8879:1986//ENTITIES Added Math Symbols: Arrow " "Relations//EN",
|
||||
f"file://{ent_dir}/isoamsa.ent",
|
||||
docbook,
|
||||
)
|
||||
@@ -123,7 +124,7 @@ def config_docbook(self):
|
||||
"--noout",
|
||||
"--add",
|
||||
"public",
|
||||
"ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN",
|
||||
"ISO 8879:1986//ENTITIES Added Math Symbols: Binary " "Operators//EN",
|
||||
f"file://{ent_dir}/isoamsb.ent",
|
||||
docbook,
|
||||
)
|
||||
@@ -139,7 +140,7 @@ def config_docbook(self):
|
||||
"--noout",
|
||||
"--add",
|
||||
"public",
|
||||
"ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN",
|
||||
"ISO 8879:1986//ENTITIES Added Math Symbols: " "Negated Relations//EN",
|
||||
f"file://{ent_dir}/isoamsn.ent",
|
||||
docbook,
|
||||
)
|
||||
|
||||
@@ -56,7 +56,7 @@ class Dyninst(CMakePackage):
|
||||
variant(
|
||||
"openmp",
|
||||
default=True,
|
||||
description="Enable OpenMP support for ParseAPI (version 10.0.0 or later)",
|
||||
description="Enable OpenMP support for ParseAPI " "(version 10.0.0 or later)",
|
||||
)
|
||||
|
||||
variant("static", default=False, description="Build static libraries")
|
||||
|
||||
@@ -123,13 +123,13 @@ class Eccodes(CMakePackage):
|
||||
conflicts(
|
||||
"+netcdf",
|
||||
when="~tools",
|
||||
msg="Cannot enable the NetCDF conversion tool when the command line tools are disabled",
|
||||
msg="Cannot enable the NetCDF conversion tool " "when the command line tools are disabled",
|
||||
)
|
||||
|
||||
conflicts(
|
||||
"~tools",
|
||||
when="@:2.18.0",
|
||||
msg="The command line tools can be disabled only starting version 2.19.0",
|
||||
msg="The command line tools can be disabled " "only starting version 2.19.0",
|
||||
)
|
||||
|
||||
for center, definitions in _definitions.items():
|
||||
|
||||
@@ -65,7 +65,7 @@ class Eckit(CMakePackage):
|
||||
variant(
|
||||
"unicode",
|
||||
default=True,
|
||||
description="Enable support for Unicode characters in Yaml/JSON parsers",
|
||||
description="Enable support for Unicode characters in Yaml/JSON" "parsers",
|
||||
)
|
||||
variant("aio", default=True, description="Enable asynchronous IO")
|
||||
variant("fismahigh", default=False, description="Apply patching for FISMA-high compliance")
|
||||
|
||||
@@ -30,7 +30,7 @@ def dav_sdk_depends_on(spec, when=None, propagate=None):
|
||||
# Map the propagated variants to the dependency variant. Some packages may need
|
||||
# overrides to propagate a dependency as something else, e.g., {"visit": "libsim"}.
|
||||
# Most call-sites will just use a list.
|
||||
if not type(propagate) is dict:
|
||||
if type(propagate) is not dict:
|
||||
propagate = dict([(v, v) for v in propagate])
|
||||
|
||||
# Determine the base variant
|
||||
@@ -170,7 +170,7 @@ class EcpDataVisSdk(BundlePackage, CudaPackage, ROCmPackage):
|
||||
# ParaView needs @5.11: in order to use CUDA/ROCM, therefore it is the minimum
|
||||
# required version since GPU capability is desired for ECP
|
||||
dav_sdk_depends_on(
|
||||
"paraview@5.11:+mpi+openpmd+python+kits+shared+catalyst+libcatalyst use_vtkm=on",
|
||||
"paraview@5.11:+mpi+openpmd+python+kits+shared+catalyst+libcatalyst" " use_vtkm=on",
|
||||
when="+paraview",
|
||||
propagate=["adios2", "cuda", "hdf5", "rocm"] + amdgpu_target_variants + cuda_arch_variants,
|
||||
)
|
||||
|
||||
@@ -39,7 +39,7 @@ class Elemental(CMakePackage):
|
||||
variant(
|
||||
"int64_blas",
|
||||
default=False,
|
||||
description="Use 64bit integers for BLAS. Requires local build of BLAS library.",
|
||||
description="Use 64bit integers for BLAS." " Requires local build of BLAS library.",
|
||||
)
|
||||
variant("scalapack", default=False, description="Build with ScaLAPACK library")
|
||||
variant(
|
||||
@@ -57,7 +57,7 @@ class Elemental(CMakePackage):
|
||||
variant(
|
||||
"mpfr",
|
||||
default=False,
|
||||
description="Support GNU MPFR's arbitrary-precision floating-point arithmetic",
|
||||
description="Support GNU MPFR's" "arbitrary-precision floating-point arithmetic",
|
||||
)
|
||||
|
||||
# Note that #1712 forces us to enumerate the different blas variants
|
||||
|
||||
@@ -12,7 +12,7 @@ class Embree(CMakePackage):
|
||||
url = "https://github.com/embree/embree/archive/v3.7.0.tar.gz"
|
||||
maintainers("aumuell")
|
||||
|
||||
license("Apache-2.0")
|
||||
license("Apache-2.0", checked_by="wdconinc")
|
||||
|
||||
version("4.3.3", sha256="8a3bc3c3e21aa209d9861a28f8ba93b2f82ed0dc93341dddac09f1f03c36ef2d")
|
||||
version("4.3.2", sha256="dc7bb6bac095b2e7bc64321435acd07c6137d6d60e4b79ec07bb0b215ddf81cb")
|
||||
@@ -60,9 +60,10 @@ def cmake_args(self):
|
||||
spec = self.spec
|
||||
|
||||
args = [
|
||||
"-DBUILD_TESTING=OFF",
|
||||
"-DEMBREE_TUTORIALS=OFF",
|
||||
"-DEMBREE_IGNORE_CMAKE_CXX_FLAGS=ON",
|
||||
self.define("BUILD_TESTING", self.run_tests),
|
||||
self.define("EMBREE_TUTORIALS", self.run_tests),
|
||||
self.define("EMBREE_TUTORIALS_GLFW", False),
|
||||
self.define("EMBREE_IGNORE_CMAKE_CXX_FLAGS", True),
|
||||
self.define_from_variant("EMBREE_ISPC_SUPPORT", "ispc"),
|
||||
]
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ def patch(self):
|
||||
)
|
||||
edit = FileFilter("CMakeLists.txt")
|
||||
edit.filter(
|
||||
r"\${CMAKE_CURRENT_SOURCE_DIR}/../bamtools/lib/libbamtools.a",
|
||||
r"\${CMAKE_CURRENT_SOURCE_DIR}/../bamtools/lib/" "libbamtools.a",
|
||||
"%s" % self.spec["bamtools"].libs,
|
||||
)
|
||||
|
||||
|
||||
@@ -14,12 +14,10 @@ class Fcgi(AutotoolsPackage):
|
||||
homepage = "https://fastcgi-archives.github.io/"
|
||||
url = "https://github.com/FastCGI-Archives/fcgi2/archive/refs/tags/2.4.2.tar.gz"
|
||||
|
||||
depends_on("autoconf", type="build")
|
||||
depends_on("automake", type="build")
|
||||
depends_on("libtool", type="build")
|
||||
|
||||
license("OML")
|
||||
|
||||
version("2.4.4", sha256="c0e0d9cc7d1e456d7278c974e2826f593ef5ca555783eba81e7e9c1a07ae0ecc")
|
||||
version("2.4.3", sha256="5273bc54c28215d81b9bd78f937a9bcdd4fe94e41ccd8d7c991aa8a01b50b70e")
|
||||
version("2.4.2", sha256="1fe83501edfc3a7ec96bb1e69db3fd5ea1730135bd73ab152186fd0b437013bc")
|
||||
version(
|
||||
"2.4.1-SNAP-0910052249",
|
||||
@@ -27,7 +25,10 @@ class Fcgi(AutotoolsPackage):
|
||||
url="https://github.com/FastCGI-Archives/FastCGI.com/raw/master/original_snapshot/fcgi-2.4.1-SNAP-0910052249.tar.gz",
|
||||
)
|
||||
|
||||
depends_on("c", type="build") # generated
|
||||
depends_on("cxx", type="build") # generated
|
||||
depends_on("c", type="build")
|
||||
depends_on("cxx", type="build")
|
||||
depends_on("autoconf", type="build")
|
||||
depends_on("automake", type="build")
|
||||
depends_on("libtool", type="build")
|
||||
|
||||
parallel = False
|
||||
|
||||
@@ -31,12 +31,12 @@ class Flamemaster(CMakePackage):
|
||||
variant(
|
||||
"bilin_omega",
|
||||
default=True,
|
||||
description="Compile with bilinear interpolation for collision integrals (omega)",
|
||||
description="Compile with bilinear interpolation" "for collision integrals (omega)",
|
||||
)
|
||||
variant(
|
||||
"combustion",
|
||||
default=False,
|
||||
description="Integrate comustion libraries for kinetics, thermodynamics, and transport",
|
||||
description="Integrate comustion libraries" "for kinetics, thermodynamics, and transport",
|
||||
)
|
||||
variant(
|
||||
"fortran_code",
|
||||
@@ -109,7 +109,7 @@ class Flamemaster(CMakePackage):
|
||||
variant(
|
||||
"tests",
|
||||
default=False,
|
||||
description="Install google-test framework for unit tests and enable units tests.",
|
||||
description="Install google-test framework for unit tests" "and enable units tests.",
|
||||
)
|
||||
variant(
|
||||
"third_party_in_build_dir",
|
||||
|
||||
@@ -63,7 +63,7 @@ class Flexi(CMakePackage):
|
||||
"parabolic",
|
||||
default=True,
|
||||
description=(
|
||||
"Defines whether the parabolic part of the chosen system should be included or not"
|
||||
"Defines whether the parabolic part of the chosen system " "should be included or not"
|
||||
),
|
||||
)
|
||||
variant(
|
||||
|
||||
@@ -66,7 +66,7 @@ class Fortrilinos(CMakePackage):
|
||||
depends_on("trilinos gotype=long_long")
|
||||
# Full trilinos dependencies
|
||||
depends_on(
|
||||
"trilinos+amesos2+anasazi+belos+kokkos+ifpack2+muelu+nox+tpetra+stratimikos", when="+hl"
|
||||
"trilinos+amesos2+anasazi+belos+kokkos+ifpack2+muelu+nox+tpetra" "+stratimikos", when="+hl"
|
||||
)
|
||||
|
||||
@run_before("cmake")
|
||||
|
||||
@@ -35,7 +35,9 @@ class Freeipmi(AutotoolsPackage):
|
||||
def configure_args(self):
|
||||
# FIXME: If root checking of root installation is added fix this:
|
||||
# Discussed in issue #4432
|
||||
tty.warn("Requires 'root' for bmc-watchdog.service installation to /lib/systemd/system/ !")
|
||||
tty.warn(
|
||||
"Requires 'root' for bmc-watchdog.service installation to" " /lib/systemd/system/ !"
|
||||
)
|
||||
|
||||
args = [
|
||||
"--prefix={0}".format(prefix),
|
||||
|
||||
45
var/spack/repos/builtin/packages/func/package.py
Normal file
45
var/spack/repos/builtin/packages/func/package.py
Normal file
@@ -0,0 +1,45 @@
|
||||
# Copyright Spack Project Developers. See COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class Func(CMakePackage):
|
||||
"""(Function Comparator) is a C++ tool for quickly profiling the performance
|
||||
of various different abstracted implementations of mathematical function evaluations"""
|
||||
|
||||
homepage = "https://github.com/uofs-simlab/func"
|
||||
url = "https://github.com/uofs-simlab/func/archive/refs/tags/v2.0.tar.gz"
|
||||
git = "https://github.com/uofs-simlab/func"
|
||||
|
||||
license("GPL/LGPL")
|
||||
maintainers("Chrismarsh")
|
||||
|
||||
version("master", branch="master")
|
||||
version("2.2.0", sha256="bd4ecbc27096fa0b913fb46059e02298a96afd4912d549eb68b5c4c090999976")
|
||||
version("2.1.0", sha256="150cc53fe90df16a1b06f34c3293f4aef4557ce42b30e1095e7570b1c367b9f7")
|
||||
version("2.0", sha256="ca25b960c72bebc5b0be0fedc189ef24e669d21a7571fd59f751a187fb6c1cea")
|
||||
version("1.0", sha256="60dbc353f82208efde08eeaea1fabd15e805b6c517a8e033d168027c89884fbf")
|
||||
|
||||
variant(
|
||||
"armadillo",
|
||||
default=True,
|
||||
description="Use Armadillo to enable ChebyInterpTables or PadeTable tables.",
|
||||
)
|
||||
variant("openmp", default=True, description="Enable OpenMP")
|
||||
variant("examples", default=False, description="Build examples")
|
||||
|
||||
depends_on("cxx", type="build")
|
||||
|
||||
depends_on("boost")
|
||||
depends_on("armadillo", when="+armadillo")
|
||||
depends_on("llvm-openmp", when="%apple-clang +openmp")
|
||||
|
||||
def cmake_args(self):
|
||||
args = [
|
||||
self.define_from_variant("FUNC_USE_OPENMP", "openmp"),
|
||||
self.define_from_variant("FUNC_USE_ARMADILLO", "armadillo"),
|
||||
self.define_from_variant("BUILD_EXAMPLES", "examples"),
|
||||
]
|
||||
return args
|
||||
36
var/spack/repos/builtin/packages/g4vg/package.py
Normal file
36
var/spack/repos/builtin/packages/g4vg/package.py
Normal file
@@ -0,0 +1,36 @@
|
||||
# Copyright Spack Project Developers. See COPYRIGHT file for details.
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
class G4vg(CMakePackage):
|
||||
"""Generate VecGeom geometry representations from in-memory Geant4 geometry."""
|
||||
|
||||
homepage = "https://github.com/celeritas-project/g4vg"
|
||||
url = "https://github.com/celeritas-project/g4vg/releases/download/v1.0.1/g4vg-1.0.1.tar.gz"
|
||||
|
||||
maintainers("sethrj", "drbenmorgan")
|
||||
|
||||
license("Apache-2.0", checked_by="sethrj")
|
||||
|
||||
version("1.0.1", sha256="add7ce4bc37889cac2101323a997cea8574b18da6cbeffdab44a2b714d134e99")
|
||||
|
||||
variant("debug", default=False, description="Enable runtime debug assertions")
|
||||
variant("shared", default=True, description="Build shared libraries")
|
||||
|
||||
depends_on("cxx", type="build")
|
||||
depends_on("vecgeom@1.2.8:")
|
||||
depends_on("geant4")
|
||||
|
||||
def cmake_args(self):
|
||||
define = self.define
|
||||
from_variant = self.define_from_variant
|
||||
args = [
|
||||
from_variant("BUILD_SHARED_LIBS", "shared"),
|
||||
from_variant("G4VG_DEBUG", "debug"),
|
||||
define("G4VG_BUILD_TESTS", False),
|
||||
]
|
||||
|
||||
return args
|
||||
@@ -38,69 +38,99 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage, CompilerPackage):
|
||||
version("master", branch="master")
|
||||
|
||||
version("14.2.0", sha256="a7b39bc69cbf9e25826c5a60ab26477001f7c08d85cec04bc0e29cabed6f3cc9")
|
||||
version("14.1.0", sha256="e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840")
|
||||
|
||||
version("13.3.0", sha256="0845e9621c9543a13f484e94584a49ffc0129970e9914624235fc1d061a0c083")
|
||||
version("13.2.0", sha256="e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da")
|
||||
version("13.1.0", sha256="61d684f0aa5e76ac6585ad8898a2427aade8979ed5e7f85492286c4dfc13ee86")
|
||||
|
||||
version("12.4.0", sha256="704f652604ccbccb14bdabf3478c9511c89788b12cb3bbffded37341916a9175")
|
||||
version("12.3.0", sha256="949a5d4f99e786421a93b532b22ffab5578de7321369975b91aec97adfda8c3b")
|
||||
version("12.2.0", sha256="e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff")
|
||||
version("12.1.0", sha256="62fd634889f31c02b64af2c468f064b47ad1ca78411c45abe6ac4b5f8dd19c7b")
|
||||
|
||||
version("11.5.0", sha256="a6e21868ead545cf87f0c01f84276e4b5281d672098591c1c896241f09363478")
|
||||
version("11.4.0", sha256="3f2db222b007e8a4a23cd5ba56726ef08e8b1f1eb2055ee72c1402cea73a8dd9")
|
||||
version("11.3.0", sha256="b47cf2818691f5b1e21df2bb38c795fac2cfbd640ede2d0a5e1c89e338a3ac39")
|
||||
version("11.2.0", sha256="d08edc536b54c372a1010ff6619dd274c0f1603aa49212ba20f7aa2cda36fa8b")
|
||||
version("11.1.0", sha256="4c4a6fb8a8396059241c2e674b85b351c26a5d678274007f076957afa1cc9ddf")
|
||||
|
||||
version("10.5.0", sha256="25109543fdf46f397c347b5d8b7a2c7e5694a5a51cce4b9c6e1ea8a71ca307c1")
|
||||
version("10.4.0", sha256="c9297d5bcd7cb43f3dfc2fed5389e948c9312fd962ef6a4ce455cff963ebe4f1")
|
||||
version("10.3.0", sha256="64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344")
|
||||
version("10.2.0", sha256="b8dd4368bb9c7f0b98188317ee0254dd8cc99d1e3a18d0ff146c855fe16c1d8c")
|
||||
version("10.1.0", sha256="b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2")
|
||||
|
||||
version("9.5.0", sha256="27769f64ef1d4cd5e2be8682c0c93f9887983e6cfd1a927ce5a0a2915a95cf8f")
|
||||
version("9.4.0", sha256="c95da32f440378d7751dd95533186f7fc05ceb4fb65eb5b85234e6299eb9838e")
|
||||
version("9.3.0", sha256="71e197867611f6054aa1119b13a0c0abac12834765fe2d81f35ac57f84f742d1")
|
||||
version("9.2.0", sha256="ea6ef08f121239da5695f76c9b33637a118dcf63e24164422231917fa61fb206")
|
||||
version("9.1.0", sha256="79a66834e96a6050d8fe78db2c3b32fb285b230b855d0a66288235bc04b327a0")
|
||||
|
||||
version("8.5.0", sha256="d308841a511bb830a6100397b0042db24ce11f642dab6ea6ee44842e5325ed50")
|
||||
version("8.4.0", sha256="e30a6e52d10e1f27ed55104ad233c30bd1e99cfb5ff98ab022dc941edd1b2dd4")
|
||||
version("8.3.0", sha256="64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c")
|
||||
version("8.2.0", sha256="196c3c04ba2613f893283977e6011b2345d1cd1af9abeac58e916b1aab3e0080")
|
||||
version("8.1.0", sha256="1d1866f992626e61349a1ccd0b8d5253816222cdc13390dcfaa74b093aa2b153")
|
||||
|
||||
version("7.5.0", sha256="b81946e7f01f90528a1f7352ab08cc602b9ccc05d4e44da4bd501c5a189ee661")
|
||||
version("7.4.0", sha256="eddde28d04f334aec1604456e536416549e9b1aa137fc69204e65eb0c009fe51")
|
||||
version("7.3.0", sha256="832ca6ae04636adbb430e865a1451adf6979ab44ca1c8374f61fba65645ce15c")
|
||||
version("7.2.0", sha256="1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a")
|
||||
version("7.1.0", sha256="8a8136c235f64c6fef69cac0d73a46a1a09bb250776a050aec8f9fc880bebc17")
|
||||
|
||||
version("6.5.0", sha256="7ef1796ce497e89479183702635b14bb7a46b53249209a5e0f999bebf4740945")
|
||||
version("6.4.0", sha256="850bf21eafdfe5cd5f6827148184c08c4a0852a37ccf36ce69855334d2c914d4")
|
||||
version("6.3.0", sha256="f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f")
|
||||
version("6.2.0", sha256="9944589fc722d3e66308c0ce5257788ebd7872982a718aa2516123940671b7c5")
|
||||
version("6.1.0", sha256="09c4c85cabebb971b1de732a0219609f93fc0af5f86f6e437fd8d7f832f1a351")
|
||||
|
||||
version("5.5.0", sha256="530cea139d82fe542b358961130c69cfde8b3d14556370b65823d2f91f0ced87")
|
||||
version("5.4.0", sha256="608df76dec2d34de6558249d8af4cbee21eceddbcb580d666f7a5a583ca3303a")
|
||||
version("5.3.0", sha256="b84f5592e9218b73dbae612b5253035a7b34a9a1f7688d2e1bfaaf7267d5c4db")
|
||||
version("5.2.0", sha256="5f835b04b5f7dd4f4d2dc96190ec1621b8d89f2dc6f638f9f8bc1b1014ba8cad")
|
||||
version("5.1.0", sha256="b7dafdf89cbb0e20333dbf5b5349319ae06e3d1a30bf3515b5488f7e89dca5ad")
|
||||
|
||||
version("4.9.4", sha256="6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092")
|
||||
version("4.9.3", sha256="2332b2a5a321b57508b9031354a8503af6fdfb868b8c1748d33028d100a8b67e")
|
||||
version("4.9.2", sha256="2020c98295856aa13fda0f2f3a4794490757fc24bcca918d52cc8b4917b972dd")
|
||||
version("4.9.1", sha256="d334781a124ada6f38e63b545e2a3b8c2183049515a1abab6d513f109f1d717e")
|
||||
version("4.8.5", sha256="22fb1e7e0f68a63cee631d85b20461d1ea6bda162f03096350e38c8d427ecf23")
|
||||
version("4.8.4", sha256="4a80aa23798b8e9b5793494b8c976b39b8d9aa2e53cd5ed5534aff662a7f8695")
|
||||
version("4.7.4", sha256="92e61c6dc3a0a449e62d72a38185fda550168a86702dea07125ebd3ec3996282")
|
||||
version("4.6.4", sha256="35af16afa0b67af9b8eb15cafb76d2bc5f568540552522f5dc2c88dd45d977e8")
|
||||
version("4.5.4", sha256="eef3f0456db8c3d992cbb51d5d32558190bc14f3bc19383dd93acc27acc6befc")
|
||||
|
||||
with default_args(deprecated=True):
|
||||
version(
|
||||
"14.1.0", sha256="e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840"
|
||||
)
|
||||
|
||||
version(
|
||||
"13.2.0", sha256="e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da"
|
||||
)
|
||||
version(
|
||||
"13.1.0", sha256="61d684f0aa5e76ac6585ad8898a2427aade8979ed5e7f85492286c4dfc13ee86"
|
||||
)
|
||||
|
||||
version(
|
||||
"12.3.0", sha256="949a5d4f99e786421a93b532b22ffab5578de7321369975b91aec97adfda8c3b"
|
||||
)
|
||||
version(
|
||||
"12.2.0", sha256="e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff"
|
||||
)
|
||||
version(
|
||||
"12.1.0", sha256="62fd634889f31c02b64af2c468f064b47ad1ca78411c45abe6ac4b5f8dd19c7b"
|
||||
)
|
||||
|
||||
version(
|
||||
"11.4.0", sha256="3f2db222b007e8a4a23cd5ba56726ef08e8b1f1eb2055ee72c1402cea73a8dd9"
|
||||
)
|
||||
version(
|
||||
"11.3.0", sha256="b47cf2818691f5b1e21df2bb38c795fac2cfbd640ede2d0a5e1c89e338a3ac39"
|
||||
)
|
||||
version(
|
||||
"11.2.0", sha256="d08edc536b54c372a1010ff6619dd274c0f1603aa49212ba20f7aa2cda36fa8b"
|
||||
)
|
||||
version(
|
||||
"11.1.0", sha256="4c4a6fb8a8396059241c2e674b85b351c26a5d678274007f076957afa1cc9ddf"
|
||||
)
|
||||
|
||||
version(
|
||||
"10.4.0", sha256="c9297d5bcd7cb43f3dfc2fed5389e948c9312fd962ef6a4ce455cff963ebe4f1"
|
||||
)
|
||||
version(
|
||||
"10.3.0", sha256="64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344"
|
||||
)
|
||||
version(
|
||||
"10.2.0", sha256="b8dd4368bb9c7f0b98188317ee0254dd8cc99d1e3a18d0ff146c855fe16c1d8c"
|
||||
)
|
||||
version(
|
||||
"10.1.0", sha256="b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2"
|
||||
)
|
||||
|
||||
version("9.4.0", sha256="c95da32f440378d7751dd95533186f7fc05ceb4fb65eb5b85234e6299eb9838e")
|
||||
version("9.3.0", sha256="71e197867611f6054aa1119b13a0c0abac12834765fe2d81f35ac57f84f742d1")
|
||||
version("9.2.0", sha256="ea6ef08f121239da5695f76c9b33637a118dcf63e24164422231917fa61fb206")
|
||||
version("9.1.0", sha256="79a66834e96a6050d8fe78db2c3b32fb285b230b855d0a66288235bc04b327a0")
|
||||
|
||||
version("8.4.0", sha256="e30a6e52d10e1f27ed55104ad233c30bd1e99cfb5ff98ab022dc941edd1b2dd4")
|
||||
version("8.3.0", sha256="64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c")
|
||||
version("8.2.0", sha256="196c3c04ba2613f893283977e6011b2345d1cd1af9abeac58e916b1aab3e0080")
|
||||
version("8.1.0", sha256="1d1866f992626e61349a1ccd0b8d5253816222cdc13390dcfaa74b093aa2b153")
|
||||
|
||||
version("7.4.0", sha256="eddde28d04f334aec1604456e536416549e9b1aa137fc69204e65eb0c009fe51")
|
||||
version("7.3.0", sha256="832ca6ae04636adbb430e865a1451adf6979ab44ca1c8374f61fba65645ce15c")
|
||||
version("7.2.0", sha256="1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a")
|
||||
version("7.1.0", sha256="8a8136c235f64c6fef69cac0d73a46a1a09bb250776a050aec8f9fc880bebc17")
|
||||
|
||||
version("6.4.0", sha256="850bf21eafdfe5cd5f6827148184c08c4a0852a37ccf36ce69855334d2c914d4")
|
||||
version("6.3.0", sha256="f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f")
|
||||
version("6.2.0", sha256="9944589fc722d3e66308c0ce5257788ebd7872982a718aa2516123940671b7c5")
|
||||
version("6.1.0", sha256="09c4c85cabebb971b1de732a0219609f93fc0af5f86f6e437fd8d7f832f1a351")
|
||||
|
||||
version("5.4.0", sha256="608df76dec2d34de6558249d8af4cbee21eceddbcb580d666f7a5a583ca3303a")
|
||||
version("5.3.0", sha256="b84f5592e9218b73dbae612b5253035a7b34a9a1f7688d2e1bfaaf7267d5c4db")
|
||||
version("5.2.0", sha256="5f835b04b5f7dd4f4d2dc96190ec1621b8d89f2dc6f638f9f8bc1b1014ba8cad")
|
||||
version("5.1.0", sha256="b7dafdf89cbb0e20333dbf5b5349319ae06e3d1a30bf3515b5488f7e89dca5ad")
|
||||
|
||||
version("4.9.3", sha256="2332b2a5a321b57508b9031354a8503af6fdfb868b8c1748d33028d100a8b67e")
|
||||
version("4.9.2", sha256="2020c98295856aa13fda0f2f3a4794490757fc24bcca918d52cc8b4917b972dd")
|
||||
version("4.9.1", sha256="d334781a124ada6f38e63b545e2a3b8c2183049515a1abab6d513f109f1d717e")
|
||||
version("4.8.4", sha256="4a80aa23798b8e9b5793494b8c976b39b8d9aa2e53cd5ed5534aff662a7f8695")
|
||||
|
||||
depends_on("c", type="build")
|
||||
depends_on("cxx", type="build")
|
||||
|
||||
@@ -548,6 +578,9 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage, CompilerPackage):
|
||||
when="@13.2.0 target=aarch64:",
|
||||
)
|
||||
|
||||
# see https://gcc.gnu.org/gcc-11/changes.html 11.5 Caveats
|
||||
patch("patch-5522dec054cb940fe83661b96249aa12c54c1d77.patch", when="@11.5.0 target=aarch64:")
|
||||
|
||||
build_directory = "spack-build"
|
||||
|
||||
compiler_languages = ["c", "cxx", "fortran", "d", "go"]
|
||||
@@ -599,7 +632,9 @@ def determine_variants(cls, exes, version_str):
|
||||
@classmethod
|
||||
def validate_detected_spec(cls, spec, extra_attributes):
|
||||
# For GCC 'compilers' is a mandatory attribute
|
||||
msg = f"the extra attribute 'compilers' must be set for the detected spec '{spec}'"
|
||||
msg = 'the extra attribute "compilers" must be set for ' 'the detected spec "{0}"'.format(
|
||||
spec
|
||||
)
|
||||
assert "compilers" in extra_attributes, msg
|
||||
|
||||
compilers = extra_attributes["compilers"]
|
||||
@@ -798,11 +833,6 @@ def configure_args(self):
|
||||
"--with-as=" + binutils.join("as"),
|
||||
]
|
||||
)
|
||||
elif spec.satisfies("%apple-clang@15:"):
|
||||
# https://github.com/iains/gcc-darwin-arm64/issues/117
|
||||
# https://github.com/iains/gcc-12-branch/issues/22
|
||||
# https://github.com/iains/gcc-13-branch/issues/8
|
||||
options.append("--with-ld=/Library/Developer/CommandLineTools/usr/bin/ld-classic")
|
||||
|
||||
# enable_bootstrap
|
||||
if spec.satisfies("+bootstrap"):
|
||||
@@ -1088,7 +1118,8 @@ def detect_gdc(self):
|
||||
return candidate_gdc
|
||||
else:
|
||||
raise InstallError(
|
||||
f"Can't resolve ambiguity when detecting GDC for %{self.compiler.spec}",
|
||||
"Cannot resolve ambiguity when detecting GDC that belongs to "
|
||||
"%{0}".format(self.compiler.spec),
|
||||
long_msg="The candidates are:{0}{0}{1}{0}".format(
|
||||
error_nl,
|
||||
error_nl.join(
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
From 5522dec054cb940fe83661b96249aa12c54c1d77 Mon Sep 17 00:00:00 2001
|
||||
From: Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||||
Date: Fri, 8 Apr 2022 15:12:23 +0100
|
||||
Subject: [PATCH] aarch64: PR target/105157 Increase number of cores
|
||||
TARGET_CPU_DEFAULT can encode
|
||||
|
||||
This addresses the compile-time increase seen in the PR target/105157. This was
|
||||
being caused by selecting the wrong core tuning, as when we added the latest
|
||||
AArch64 the TARGET_CPU_generic tuning was pushed beyond the 0x3f mask we used
|
||||
to encode both target cpu and attributes into TARGET_CPU_DEFAULT.
|
||||
|
||||
gcc/ChangeLog:
|
||||
|
||||
PR target/105157
|
||||
* config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
|
||||
* config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
|
||||
(TARGET_CPU_MASK): Likewise.
|
||||
(TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
|
||||
* config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
|
||||
(aarch64_get_arch): Likewise.
|
||||
(aarch64_override_options): Use TARGET_CPU_NBITS.
|
||||
---
|
||||
gcc/config.gcc | 2 +-
|
||||
gcc/config/aarch64/aarch64.cc | 14 +++++++++-----
|
||||
gcc/config/aarch64/aarch64.h | 8 +++++++-
|
||||
3 files changed, 17 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/gcc/config.gcc b/gcc/config.gcc
|
||||
index 7b58e1314ff0dc57701a77a7433de1a6e263c259..5382788e267214ccc1015d0bed85b718ebf00011 100644
|
||||
--- a/gcc/config.gcc
|
||||
+++ b/gcc/config.gcc
|
||||
@@ -4261,7 +4261,7 @@ case "${target}" in
|
||||
ext_val=`echo $ext_val | sed -e 's/[a-z0-9]\+//'`
|
||||
done
|
||||
|
||||
- ext_mask="(("$ext_mask") << 6)"
|
||||
+ ext_mask="(("$ext_mask") << TARGET_CPU_NBITS)"
|
||||
if [ x"$base_id" != x ]; then
|
||||
target_cpu_cname="TARGET_CPU_$base_id | $ext_mask"
|
||||
fi
|
||||
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
|
||||
index 3e2a6fb64725d4e37ddd89f6987795733cfff35c..cf62bdd023b5799284fdcc337a50c01ccd21493f 100644
|
||||
--- a/gcc/config/aarch64/aarch64.c
|
||||
+++ b/gcc/config/aarch64/aarch64.c
|
||||
@@ -18053,6 +18053,9 @@ aarch64_validate_mtune (const char *str, const struct processor **res)
|
||||
return false;
|
||||
}
|
||||
|
||||
+static_assert (TARGET_CPU_generic < TARGET_CPU_MASK,
|
||||
+ "TARGET_CPU_NBITS is big enough");
|
||||
+
|
||||
/* Return the CPU corresponding to the enum CPU.
|
||||
If it doesn't specify a cpu, return the default. */
|
||||
|
||||
@@ -18062,12 +18065,12 @@ aarch64_get_tune_cpu (enum aarch64_processor cpu)
|
||||
if (cpu != aarch64_none)
|
||||
return &all_cores[cpu];
|
||||
|
||||
- /* The & 0x3f is to extract the bottom 6 bits that encode the
|
||||
- default cpu as selected by the --with-cpu GCC configure option
|
||||
+ /* The & TARGET_CPU_MASK is to extract the bottom TARGET_CPU_NBITS bits that
|
||||
+ encode the default cpu as selected by the --with-cpu GCC configure option
|
||||
in config.gcc.
|
||||
???: The whole TARGET_CPU_DEFAULT and AARCH64_CPU_DEFAULT_FLAGS
|
||||
flags mechanism should be reworked to make it more sane. */
|
||||
- return &all_cores[TARGET_CPU_DEFAULT & 0x3f];
|
||||
+ return &all_cores[TARGET_CPU_DEFAULT & TARGET_CPU_MASK];
|
||||
}
|
||||
|
||||
/* Return the architecture corresponding to the enum ARCH.
|
||||
@@ -18079,7 +18082,8 @@ aarch64_get_arch (enum aarch64_arch arch)
|
||||
if (arch != aarch64_no_arch)
|
||||
return &all_architectures[arch];
|
||||
|
||||
- const struct processor *cpu = &all_cores[TARGET_CPU_DEFAULT & 0x3f];
|
||||
+ const struct processor *cpu
|
||||
+ = &all_cores[TARGET_CPU_DEFAULT & TARGET_CPU_MASK];
|
||||
|
||||
return &all_architectures[cpu->arch];
|
||||
}
|
||||
@@ -18166,7 +18170,7 @@ aarch64_override_options (void)
|
||||
{
|
||||
/* Get default configure-time CPU. */
|
||||
selected_cpu = aarch64_get_tune_cpu (aarch64_none);
|
||||
- aarch64_isa_flags = TARGET_CPU_DEFAULT >> 6;
|
||||
+ aarch64_isa_flags = TARGET_CPU_DEFAULT >> TARGET_CPU_NBITS;
|
||||
}
|
||||
|
||||
if (selected_tune)
|
||||
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
|
||||
index efa46ac0b8799b5849b609d591186e26e5cb37ff..359b6e8561faa38f53a806b8c114c83ae37e7e17 100644
|
||||
--- a/gcc/config/aarch64/aarch64.h
|
||||
+++ b/gcc/config/aarch64/aarch64.h
|
||||
@@ -813,10 +813,16 @@ enum target_cpus
|
||||
TARGET_CPU_generic
|
||||
};
|
||||
|
||||
+/* Define how many bits are used to represent the CPU in TARGET_CPU_DEFAULT.
|
||||
+ This needs to be big enough to fit the value of TARGET_CPU_generic.
|
||||
+ All bits after this are used to represent the AARCH64_CPU_DEFAULT_FLAGS. */
|
||||
+#define TARGET_CPU_NBITS 8
|
||||
+#define TARGET_CPU_MASK ((1 << TARGET_CPU_NBITS) - 1)
|
||||
+
|
||||
/* If there is no CPU defined at configure, use generic as default. */
|
||||
#ifndef TARGET_CPU_DEFAULT
|
||||
#define TARGET_CPU_DEFAULT \
|
||||
- (TARGET_CPU_generic | (AARCH64_CPU_DEFAULT_FLAGS << 6))
|
||||
+ (TARGET_CPU_generic | (AARCH64_CPU_DEFAULT_FLAGS << TARGET_CPU_NBITS))
|
||||
#endif
|
||||
|
||||
/* If inserting NOP before a mult-accumulate insn remember to adjust the
|
||||
@@ -12,7 +12,7 @@ class GhostscriptFonts(Package, SourceforgePackage):
|
||||
|
||||
homepage = "https://ghostscript.com/"
|
||||
sourceforge_mirror_path = (
|
||||
"gs-fonts/gs-fonts/8.11%20%28base%2035%2C%20GPL%29/ghostscript-fonts-std-8.11.tar.gz"
|
||||
"gs-fonts/gs-fonts/8.11%20%28base%2035%2C%20GPL%29/" "ghostscript-fonts-std-8.11.tar.gz"
|
||||
)
|
||||
|
||||
license("GPL-2.0-or-later")
|
||||
|
||||
@@ -226,7 +226,7 @@ def cmake_args(self):
|
||||
|
||||
if self.spec.satisfies("+sycl"):
|
||||
sycl_compatible_compilers = ["icpx"]
|
||||
if not (os.path.basename(self.compiler.cxx) in sycl_compatible_compilers):
|
||||
if os.path.basename(self.compiler.cxx) not in sycl_compatible_compilers:
|
||||
raise InstallError("ginkgo +sycl requires icpx compiler.")
|
||||
return args
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ class Graphviz(AutotoolsPackage):
|
||||
variant(
|
||||
lang,
|
||||
default=False,
|
||||
description="Enable for optional {0} language bindings".format(lang),
|
||||
description="Enable for optional {0} language " "bindings".format(lang),
|
||||
)
|
||||
|
||||
# Feature variants
|
||||
@@ -147,7 +147,7 @@ class Graphviz(AutotoolsPackage):
|
||||
conflicts(
|
||||
"%gcc@:5.9",
|
||||
when="@2.40.1+qt ^qt@5:",
|
||||
msg="graphviz-2.40.1 needs gcc-6 or greater to compile with QT5 suppport",
|
||||
msg="graphviz-2.40.1 needs gcc-6 or greater to compile with QT5 " "suppport",
|
||||
)
|
||||
|
||||
def autoreconf(self, spec, prefix):
|
||||
|
||||
@@ -53,7 +53,7 @@ class Grpc(CMakePackage):
|
||||
variant(
|
||||
"codegen",
|
||||
default=True,
|
||||
description="Builds code generation plugins for protobuf compiler (protoc)",
|
||||
description="Builds code generation plugins for protobuf " "compiler (protoc)",
|
||||
)
|
||||
variant(
|
||||
"cxxstd",
|
||||
|
||||
@@ -602,7 +602,7 @@ def ensure_parallel_compiler_wrappers(self):
|
||||
# 1.10.6 and 1.12.0. The current develop versions do not produce 'h5pfc'
|
||||
# at all. Here, we make sure that 'h5pfc' is available when Fortran and
|
||||
# MPI support are enabled (only for versions that generate 'h5fc').
|
||||
if self.spec.satisfies("@1.8.22:1.8, 1.10.6:1.10.9, 1.12.0:1.12.2 +fortran+mpi"):
|
||||
if self.spec.satisfies("@1.8.22:1.8," "1.10.6:1.10.9," "1.12.0:1.12.2" "+fortran+mpi"):
|
||||
with working_dir(self.prefix.bin):
|
||||
# No try/except here, fix the condition above instead:
|
||||
symlink("h5fc", "h5pfc")
|
||||
|
||||
@@ -26,7 +26,7 @@ class Hicops(CMakePackage):
|
||||
variant(
|
||||
"timemory",
|
||||
default=False,
|
||||
description="Enable timemory interface. Requires timemory installation.",
|
||||
description="Enable timemory interface. Requires timemory " "installation.",
|
||||
)
|
||||
variant(
|
||||
"mpip",
|
||||
@@ -37,7 +37,7 @@ class Hicops(CMakePackage):
|
||||
variant(
|
||||
"tailfit",
|
||||
default=True,
|
||||
description="Use the tailfit method instead of Gumbelfit for e-value computation.",
|
||||
description="Use the tailfit method instead of Gumbelfit " "for e-value computation.",
|
||||
)
|
||||
variant("progress", default=True, description="Display HiCOPS progress marks.")
|
||||
variant(
|
||||
@@ -50,14 +50,14 @@ class Hicops(CMakePackage):
|
||||
variant(
|
||||
"qalen",
|
||||
default="100",
|
||||
description="Maximum number of top K peaks to keep when spectrum preprocess.",
|
||||
description="Maximum number of top K peaks to keep when " "spectrum preprocess.",
|
||||
values=int,
|
||||
multi=False,
|
||||
)
|
||||
variant(
|
||||
"qchunk",
|
||||
default="10000",
|
||||
description="Max size of each batch extracted from the dataset.",
|
||||
description="Max size of each batch extracted from the " "dataset.",
|
||||
values=int,
|
||||
multi=False,
|
||||
)
|
||||
|
||||
@@ -85,7 +85,7 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage):
|
||||
variant(
|
||||
"deepchecking",
|
||||
default=False,
|
||||
description="Ultra safety checks - used for increased robustness and self-diagnostics",
|
||||
description="Ultra safety checks - " "used for increased robustness and self-diagnostics",
|
||||
)
|
||||
variant("ginkgo", default=False, description="Enable/disable ginkgo solver")
|
||||
variant(
|
||||
|
||||
@@ -322,7 +322,7 @@ def configure_args(self):
|
||||
if spec.satisfies("+sycl"):
|
||||
configure_args.append("--with-sycl")
|
||||
sycl_compatible_compilers = ["icpx"]
|
||||
if not (os.path.basename(self.compiler.cxx) in sycl_compatible_compilers):
|
||||
if os.path.basename(self.compiler.cxx) not in sycl_compatible_compilers:
|
||||
raise InstallError(
|
||||
"Hypre's SYCL GPU Backend requires the oneAPI CXX (icpx) compiler."
|
||||
)
|
||||
|
||||
@@ -181,8 +181,7 @@ def configure_args(self):
|
||||
"--with-openjdk-checksum=no",
|
||||
"--with-nashorn-src-zip=" + self.stage[8].archive_file,
|
||||
"--with-nashorn-checksum=no",
|
||||
"--disable-maintainer-mode",
|
||||
"--disable-downloading",
|
||||
"--disable-maintainer-mode" "--disable-downloading",
|
||||
"--disable-system-pcsc",
|
||||
"--disable-system-sctp",
|
||||
"--disable-system-kerberos",
|
||||
|
||||
@@ -19,6 +19,8 @@ class Icu4c(AutotoolsPackage, MSBuildPackage):
|
||||
|
||||
license("Unicode-TOU")
|
||||
|
||||
version("76.1", sha256="dfacb46bfe4747410472ce3e1144bf28a102feeaa4e3875bac9b4c6cf30f4f3e")
|
||||
version("75.1", sha256="cb968df3e4d2e87e8b11c49a5d01c787bd13b9545280fc6642f826527618caef")
|
||||
version("74.2", sha256="68db082212a96d6f53e35d60f47d38b962e9f9d207a74cfac78029ae8ff5e08c")
|
||||
version("67.1", sha256="94a80cd6f251a53bd2a997f6f1b5ac6653fe791dfab66e1eb0227740fb86d5dc")
|
||||
version("66.1", sha256="52a3f2209ab95559c1cf0a14f24338001f389615bf00e2585ef3dbc43ecf0a2e")
|
||||
@@ -40,7 +42,7 @@ class Icu4c(AutotoolsPackage, MSBuildPackage):
|
||||
variant(
|
||||
"cxxstd",
|
||||
default="11",
|
||||
values=("11", "14", "17"),
|
||||
values=(conditional("11", "14", when="@:74"), "17"),
|
||||
multi=False,
|
||||
description="Use the specified C++ standard when building",
|
||||
)
|
||||
|
||||
@@ -30,6 +30,7 @@ class IsaL(AutotoolsPackage):
|
||||
version("master", branch="master")
|
||||
|
||||
# Current
|
||||
version("2.31.1", sha256="e1d5573a4019738243b568ab1e1422e6ab7557c5cae33cc8686944d327ad6bb4")
|
||||
version("2.30.0", sha256="bcf592c04fdfa19e723d2adf53d3e0f4efd5b956bb618fed54a1108d76a6eb56")
|
||||
version("2.29.0", sha256="832d9747ef3f0c8c05d39e3d7fd6ee5299a844e1ee7382fc8c8b52a268f36eda")
|
||||
version("2.28.0", sha256="589202efdcfe437b1786750ec81bf93055e3b88a4bdf909d3b519f2a7134034b")
|
||||
|
||||
@@ -38,7 +38,7 @@ class JsonC(CMakePackage, AutotoolsPackage):
|
||||
def patch(self):
|
||||
filter_file(
|
||||
"-Wextra",
|
||||
"-Wextra -Wno-error=implicit-fallthrough -Wno-error=unused-but-set-variable",
|
||||
"-Wextra -Wno-error=implicit-fallthrough " "-Wno-error=unused-but-set-variable",
|
||||
"Makefile.in",
|
||||
)
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ class Jsoncpp(CMakePackage, MesonPackage):
|
||||
def patch(self):
|
||||
filter_file(
|
||||
"return d >= min && d <= max;",
|
||||
"return d >= static_cast<double>(min) && d <= static_cast<double>(max);",
|
||||
"return d >= static_cast<double>(min) && " "d <= static_cast<double>(max);",
|
||||
"src/lib_json/json_value.cpp",
|
||||
)
|
||||
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
import os
|
||||
|
||||
from spack.package import *
|
||||
|
||||
|
||||
@@ -14,6 +16,7 @@ class Leptonica(CMakePackage):
|
||||
|
||||
license("custom")
|
||||
|
||||
version("1.85.0", sha256="c01376bce0379d4ea4bc2ec5d5cbddaa49e2f06f88242619ab8c059e21adf233")
|
||||
version("1.84.1", sha256="ecd7a868403b3963c4e33623595d77f2c87667e2cfdd9b370f87729192061bef")
|
||||
version("1.83.1", sha256="4289d0a4224b614010072253531c0455a33a4d7c7a0017fe7825ed382290c0da")
|
||||
version("1.81.0", sha256="70ebc04ff8b9684205bd1d01843c635a8521255b74813bf7cce9a33368f7952c")
|
||||
@@ -36,3 +39,9 @@ def cmake_args(self):
|
||||
args = [self.define("BUILD_SHARED_LIBS", "ON")]
|
||||
|
||||
return args
|
||||
|
||||
@run_after("install")
|
||||
def pkgconfig_fixup(self):
|
||||
with working_dir(self.prefix.lib.pkgconfig):
|
||||
if not os.path.exists("lept.pc"):
|
||||
symlink(f"lept_{self.spec.variants['build_type'].value}.pc", "lept.pc")
|
||||
|
||||
@@ -45,7 +45,7 @@ class Libcint(CMakePackage):
|
||||
variant(
|
||||
"pypzpx",
|
||||
default=False,
|
||||
description="Enforce PYPZPX ordering of p-orbitals instead of PXPYPZ.",
|
||||
description="Enforce PYPZPX ordering of p-orbitals " "instead of PXPYPZ.",
|
||||
)
|
||||
variant("test", default=False, description="Build test programs")
|
||||
variant("shared", default=True, description="Build the shared library")
|
||||
|
||||
@@ -20,6 +20,7 @@ class Libdrm(AutotoolsPackage, MesonPackage):
|
||||
|
||||
license("MIT")
|
||||
|
||||
version("2.4.124", sha256="ac36293f61ca4aafaf4b16a2a7afff312aa4f5c37c9fbd797de9e3c0863ca379")
|
||||
version("2.4.123", sha256="a2b98567a149a74b0f50e91e825f9c0315d86e7be9b74394dae8b298caadb79e")
|
||||
version("2.4.122", sha256="d9f5079b777dffca9300ccc56b10a93588cdfbc9dde2fae111940dfb6292f251")
|
||||
version("2.4.121", sha256="909084a505d7638887f590b70791b3bbd9069c710c948f5d1f1ce6d080cdfcab")
|
||||
|
||||
@@ -59,7 +59,7 @@ class Libint(AutotoolsPackage):
|
||||
"fma",
|
||||
default=False,
|
||||
description=(
|
||||
"Generate code utilizing FMA (requires capable CPU and recent enough compiler)"
|
||||
"Generate code utilizing FMA" " (requires capable CPU and recent enough compiler)"
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@@ -309,7 +309,7 @@ class Libpressio(CMakePackage, CudaPackage):
|
||||
depends_on("sz3@3.1.8:", when="@0.98.1: +sz3")
|
||||
depends_on("bzip2", when="+bzip2")
|
||||
depends_on("qoz", when="+qoz")
|
||||
depends_on("cusz@0.6.0:", when="+cusz")
|
||||
depends_on("cusz@0.9", when="+cusz")
|
||||
|
||||
extends("python", when="+python")
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ class Libsm(AutotoolsPackage, XorgPackage):
|
||||
|
||||
maintainers("wdconinc")
|
||||
|
||||
version("1.2.5", sha256="a11c3d23b60dce0c13256a8ce9478c1ea330719c0747b5adfbce60571198fa57")
|
||||
version("1.2.4", sha256="51464ce1abce323d5b6707ceecf8468617106e1a8a98522f8342db06fd024c15")
|
||||
version("1.2.3", sha256="1e92408417cb6c6c477a8a6104291001a40b3bb56a4a60608fdd9cd2c5a0f320")
|
||||
version("1.2.2", sha256="14bb7c669ce2b8ff712fbdbf48120e3742a77edcd5e025d6b3325ed30cf120f4")
|
||||
|
||||
@@ -73,7 +73,9 @@ class Libunwind(AutotoolsPackage):
|
||||
variant("xz", default=False, description="Support xz (lzma) compressed symbol tables.")
|
||||
|
||||
variant(
|
||||
"zlib", default=False, description="Support zlib compressed symbol tables (1.5 and later)."
|
||||
"zlib",
|
||||
default=False,
|
||||
description="Support zlib compressed symbol tables " "(1.5 and later).",
|
||||
)
|
||||
|
||||
# The libunwind releases contain the autotools generated files,
|
||||
|
||||
@@ -55,7 +55,7 @@ class LlvmDoe(CMakePackage, CudaPackage):
|
||||
variant(
|
||||
"polly",
|
||||
default=True,
|
||||
description="Build the LLVM polyhedral optimization plugin, only builds for 3.7.0+",
|
||||
description="Build the LLVM polyhedral optimization plugin, " "only builds for 3.7.0+",
|
||||
)
|
||||
variant("libcxx", default=True, description="Build the LLVM C++ standard library")
|
||||
variant(
|
||||
@@ -288,7 +288,9 @@ def determine_variants(cls, exes, version_str):
|
||||
@classmethod
|
||||
def validate_detected_spec(cls, spec, extra_attributes):
|
||||
# For LLVM 'compilers' is a mandatory attribute
|
||||
msg = f"the extra attribute 'compilers' must be set for the detected spec '{spec}'"
|
||||
msg = 'the extra attribute "compilers" must be set for ' 'the detected spec "{0}"'.format(
|
||||
spec
|
||||
)
|
||||
assert "compilers" in extra_attributes, msg
|
||||
compilers = extra_attributes["compilers"]
|
||||
for key in ("c", "cxx"):
|
||||
|
||||
@@ -55,70 +55,160 @@ class Llvm(CMakePackage, CudaPackage, LlvmDetection, CompilerPackage):
|
||||
|
||||
version("main", branch="main")
|
||||
version("19.1.7", sha256="59abea1c22e64933fad4de1671a61cdb934098793c7a31b333ff58dc41bff36c")
|
||||
version("19.1.6", sha256="f07fdcbb27b2b67aa95e5ddadf45406b33228481c250e65175066d36536a1ee2")
|
||||
version("19.1.5", sha256="e2204b9903cd9d7ee833a2f56a18bef40a33df4793e31cc090906b32cbd8a1f5")
|
||||
version("19.1.4", sha256="010e1fd3cabee8799bd2f8a6fbc68f28207494f315cf9da7057a2820f79fd531")
|
||||
version("19.1.3", sha256="e5106e2bef341b3f5e41340e4b6c6a58259f4021ad801acf14e88f1a84567b05")
|
||||
version("19.1.2", sha256="622cb6c5e95a3bb7e9876c4696a65671f235bd836cfd0c096b272f6c2ada41e7")
|
||||
version("19.1.1", sha256="115dfd98a353d05bffdab3f80db22f159da48aca0124e8c416f437adcd54b77f")
|
||||
version("19.1.0", sha256="0a08341036ca99a106786f50f9c5cb3fbe458b3b74cab6089fd368d0edb2edfe")
|
||||
version("18.1.8", sha256="09c08693a9afd6236f27a2ebae62cda656eba19021ef3f94d59e931d662d4856")
|
||||
version("18.1.7", sha256="b60df7cbe02cef2523f7357120fb0d46cbb443791cde3a5fb36b82c335c0afc9")
|
||||
version("18.1.6", sha256="01390edfae5b809e982b530ff9088e674c62b13aa92cb9dc1e067fa2cf501083")
|
||||
version("18.1.5", sha256="d543309f55ae3f9b422108302b45c40f5696c96862f4bda8f5526955daa54284")
|
||||
version("18.1.4", sha256="deca5a29e8b1d103ecc4badb3c304aca50d5cac6453364d88ee415dc55699dfb")
|
||||
version("18.1.3", sha256="fc5a2fd176d73ceb17f4e522f8fe96d8dde23300b8c233476d3609f55d995a7a")
|
||||
version("18.1.2", sha256="8d686d5ece6f12b09985cb382a3a530dc06bb6e7eb907f57c7f8bf2d868ebb0b")
|
||||
version("18.1.1", sha256="62439f733311869dbbaf704ce2e02141d2a07092d952fc87ef52d1d636a9b1e4")
|
||||
version("18.1.0", sha256="eb18f65a68981e94ea1a5aae4f02321b17da9e99f76bfdb983b953f4ba2d3550")
|
||||
version("17.0.6", sha256="81494d32e6f12ea6f73d6d25424dbd2364646011bb8f7e345ca870750aa27de1")
|
||||
version("17.0.5", sha256="432c1eda3d1c9379cd52a9bee8e0ea6f7b204bff5075895f963fd8e575aa4fb8")
|
||||
version("17.0.4", sha256="46200b79f52a02fe26d0a43fd856ab6ceff49ab2a0b7c240ac4b700a6ada700c")
|
||||
version("17.0.3", sha256="1e3d9d04fb5fbd8d0080042ad72c7e2a5c68788b014b186647a604dbbdd625d2")
|
||||
version("17.0.2", sha256="dcba3eb486973dce45b6edfe618f3f29b703ae7e6ef9df65182fb50fb6fe4235")
|
||||
version("17.0.1", sha256="d51b10be66c10a6a81f4c594b554ffbf1063ffbadcb810af37d1f88d6e0b49dd")
|
||||
version("16.0.6", sha256="56b2f75fdaa95ad5e477a246d3f0d164964ab066b4619a01836ef08e475ec9d5")
|
||||
version("16.0.5", sha256="e0fbca476693fcafa125bc71c8535587b6d9950293122b66b262bb4333a03942")
|
||||
version("16.0.4", sha256="10c3fe1757d2e4f1cd7745dc548ecf687680a71824ec81701c38524c2a0753e2")
|
||||
version("16.0.3", sha256="0bd71bc687a4e5a250c40afb0decefc50c85178fcce726137b682039de63919b")
|
||||
version("16.0.2", sha256="97c3c6aafb53c4bb0ed2781a18d6f05e75445e24bb1dc57a32b74f8d710ac19f")
|
||||
version("16.0.1", sha256="b5a9ff1793b1e2d388a3819bf35797002b1d2e40bb35a10c65605e0ea1435271")
|
||||
version("16.0.0", sha256="cba969a0782a3a398658d439f047b5e548ea04724f4fbfdbe17cfc946f4cd3ed")
|
||||
version("15.0.7", sha256="42a0088f148edcf6c770dfc780a7273014a9a89b66f357c761b4ca7c8dfa10ba")
|
||||
version("15.0.6", sha256="4d857d7a180918bdacd09a5910bf9743c9861a1e49cb065a85f7a990f812161d")
|
||||
version("15.0.5", sha256="c47640269e0251e009ae18a25162df4e20e175885286e21d28c054b084b991a4")
|
||||
version("15.0.4", sha256="e24b4d3bf7821dcb1c901d1e09096c1f88fb00095c5a6ef893baab4836975e52")
|
||||
version("15.0.3", sha256="8ac8e4c0982bf236526d737d385db5e1e66543ab217a9355d54159659eae3774")
|
||||
version("15.0.2", sha256="dc11d35e60ab61792baa607dff080c993b39de23fb93b3d3369ba15b0601c307")
|
||||
version("15.0.1", sha256="20bccb964e39f604fdc16d1258f94d2053fbdcdab2b2f6d5e20e6095ec403c00")
|
||||
version("15.0.0", sha256="36d83cd84e1caf2bcfda1669c029e2b949adb9860cff01e7d3246ac2348b11ae")
|
||||
version("14.0.6", sha256="98f15f842700bdb7220a166c8d2739a03a72e775b67031205078f39dd756a055")
|
||||
version("14.0.5", sha256="a4a57f029cb81f04618e05853f05fc2d21b64353c760977d8e7799bf7218a23a")
|
||||
version("14.0.4", sha256="1333236f9bee38658762076be4236cb5ebf15ae9b7f2bfce6946b96ae962dc73")
|
||||
version("14.0.3", sha256="0e1d049b050127ecf6286107e9a4400b0550f841d5d2288b9d31fd32ed0683d5")
|
||||
version("14.0.2", sha256="ca52232b3451c8e017f00eb882277707c13e30fac1271ec97015f6d0eeb383d1")
|
||||
version("14.0.1", sha256="c8be00406e872c8a24f8571cf6f5517b73ae707104724b1fd1db2f0af9544019")
|
||||
version("14.0.0", sha256="87b1a068b370df5b79a892fdb2935922a8efb1fddec4cc506e30fe57b6a1d9c4")
|
||||
version("13.0.1", sha256="09c50d558bd975c41157364421820228df66632802a4a6a7c9c17f86a7340802")
|
||||
version("13.0.0", sha256="a1131358f1f9f819df73fa6bff505f2c49d176e9eef0a3aedd1fdbce3b4630e8")
|
||||
version("12.0.1", sha256="66b64aa301244975a4aea489f402f205cde2f53dd722dad9e7b77a0459b4c8df")
|
||||
version("12.0.0", sha256="8e6c99e482bb16a450165176c2d881804976a2d770e0445af4375e78a1fbf19c")
|
||||
version("11.1.0", sha256="53a0719f3f4b0388013cfffd7b10c7d5682eece1929a9553c722348d1f866e79")
|
||||
version("11.0.1", sha256="9c7ad8e8ec77c5bde8eb4afa105a318fd1ded7dff3747d14f012758719d7171b")
|
||||
version("11.0.0", sha256="8ad4ddbafac4f2c8f2ea523c2c4196f940e8e16f9e635210537582a48622a5d5")
|
||||
version("10.0.1", sha256="c7ccb735c37b4ec470f66a6c35fbae4f029c0f88038f6977180b1a8ddc255637")
|
||||
version("10.0.0", sha256="b81c96d2f8f40dc61b14a167513d87c0d813aae0251e06e11ae8a4384ca15451")
|
||||
version("9.0.1", sha256="be7b034641a5fda51ffca7f5d840b1a768737779f75f7c4fd18fe2d37820289a")
|
||||
version("9.0.0", sha256="7807fac25330e24e9955ca46cd855dd34bbc9cc4fdba8322366206654d1036f2")
|
||||
version("8.0.1", sha256="5b18f6111c7aee7c0933c355877d4abcfe6cb40c1a64178f28821849c725c841")
|
||||
version("8.0.0", sha256="d81238b4a69e93e29f74ce56f8107cbfcf0c7d7b40510b7879e98cc031e25167")
|
||||
version("7.1.0", sha256="71c93979f20e01f1a1cc839a247945f556fa5e63abf2084e8468b238080fd839")
|
||||
version("7.0.1", sha256="f17a6cd401e8fd8f811fbfbb36dcb4f455f898c9d03af4044807ad005df9f3c0")
|
||||
version("6.0.1", sha256="aefadceb231f4c195fe6d6cd3b1a010b269c8a22410f339b5a089c2e902aa177")
|
||||
version("6.0.0", sha256="1946ec629c88d30122afa072d3c6a89cc5d5e4e2bb28dc63b2f9ebcc7917ee64")
|
||||
version("5.0.2", sha256="fe87aa11558c08856739bfd9bd971263a28657663cb0c3a0af01b94f03b0b795")
|
||||
version("5.0.1", sha256="84ca454abf262579814a2a2b846569f6e0cb3e16dc33ca3642b4f1dff6fbafd3")
|
||||
version("5.0.0", sha256="1f1843315657a4371d8ca37f01265fa9aae17dbcf46d2d0a95c1fdb3c6a4bab6")
|
||||
|
||||
with default_args(deprecated=True):
|
||||
version(
|
||||
"19.1.6", sha256="f07fdcbb27b2b67aa95e5ddadf45406b33228481c250e65175066d36536a1ee2"
|
||||
)
|
||||
version(
|
||||
"19.1.5", sha256="e2204b9903cd9d7ee833a2f56a18bef40a33df4793e31cc090906b32cbd8a1f5"
|
||||
)
|
||||
version(
|
||||
"19.1.4", sha256="010e1fd3cabee8799bd2f8a6fbc68f28207494f315cf9da7057a2820f79fd531"
|
||||
)
|
||||
version(
|
||||
"19.1.3", sha256="e5106e2bef341b3f5e41340e4b6c6a58259f4021ad801acf14e88f1a84567b05"
|
||||
)
|
||||
version(
|
||||
"19.1.2", sha256="622cb6c5e95a3bb7e9876c4696a65671f235bd836cfd0c096b272f6c2ada41e7"
|
||||
)
|
||||
version(
|
||||
"19.1.1", sha256="115dfd98a353d05bffdab3f80db22f159da48aca0124e8c416f437adcd54b77f"
|
||||
)
|
||||
version(
|
||||
"19.1.0", sha256="0a08341036ca99a106786f50f9c5cb3fbe458b3b74cab6089fd368d0edb2edfe"
|
||||
)
|
||||
version(
|
||||
"18.1.7", sha256="b60df7cbe02cef2523f7357120fb0d46cbb443791cde3a5fb36b82c335c0afc9"
|
||||
)
|
||||
version(
|
||||
"18.1.6", sha256="01390edfae5b809e982b530ff9088e674c62b13aa92cb9dc1e067fa2cf501083"
|
||||
)
|
||||
version(
|
||||
"18.1.5", sha256="d543309f55ae3f9b422108302b45c40f5696c96862f4bda8f5526955daa54284"
|
||||
)
|
||||
version(
|
||||
"18.1.4", sha256="deca5a29e8b1d103ecc4badb3c304aca50d5cac6453364d88ee415dc55699dfb"
|
||||
)
|
||||
version(
|
||||
"18.1.3", sha256="fc5a2fd176d73ceb17f4e522f8fe96d8dde23300b8c233476d3609f55d995a7a"
|
||||
)
|
||||
version(
|
||||
"18.1.2", sha256="8d686d5ece6f12b09985cb382a3a530dc06bb6e7eb907f57c7f8bf2d868ebb0b"
|
||||
)
|
||||
version(
|
||||
"18.1.1", sha256="62439f733311869dbbaf704ce2e02141d2a07092d952fc87ef52d1d636a9b1e4"
|
||||
)
|
||||
version(
|
||||
"18.1.0", sha256="eb18f65a68981e94ea1a5aae4f02321b17da9e99f76bfdb983b953f4ba2d3550"
|
||||
)
|
||||
version(
|
||||
"17.0.5", sha256="432c1eda3d1c9379cd52a9bee8e0ea6f7b204bff5075895f963fd8e575aa4fb8"
|
||||
)
|
||||
version(
|
||||
"17.0.4", sha256="46200b79f52a02fe26d0a43fd856ab6ceff49ab2a0b7c240ac4b700a6ada700c"
|
||||
)
|
||||
version(
|
||||
"17.0.3", sha256="1e3d9d04fb5fbd8d0080042ad72c7e2a5c68788b014b186647a604dbbdd625d2"
|
||||
)
|
||||
version(
|
||||
"17.0.2", sha256="dcba3eb486973dce45b6edfe618f3f29b703ae7e6ef9df65182fb50fb6fe4235"
|
||||
)
|
||||
version(
|
||||
"17.0.1", sha256="d51b10be66c10a6a81f4c594b554ffbf1063ffbadcb810af37d1f88d6e0b49dd"
|
||||
)
|
||||
version(
|
||||
"16.0.5", sha256="e0fbca476693fcafa125bc71c8535587b6d9950293122b66b262bb4333a03942"
|
||||
)
|
||||
version(
|
||||
"16.0.4", sha256="10c3fe1757d2e4f1cd7745dc548ecf687680a71824ec81701c38524c2a0753e2"
|
||||
)
|
||||
version(
|
||||
"16.0.3", sha256="0bd71bc687a4e5a250c40afb0decefc50c85178fcce726137b682039de63919b"
|
||||
)
|
||||
version(
|
||||
"16.0.2", sha256="97c3c6aafb53c4bb0ed2781a18d6f05e75445e24bb1dc57a32b74f8d710ac19f"
|
||||
)
|
||||
version(
|
||||
"16.0.1", sha256="b5a9ff1793b1e2d388a3819bf35797002b1d2e40bb35a10c65605e0ea1435271"
|
||||
)
|
||||
version(
|
||||
"16.0.0", sha256="cba969a0782a3a398658d439f047b5e548ea04724f4fbfdbe17cfc946f4cd3ed"
|
||||
)
|
||||
version(
|
||||
"15.0.6", sha256="4d857d7a180918bdacd09a5910bf9743c9861a1e49cb065a85f7a990f812161d"
|
||||
)
|
||||
version(
|
||||
"15.0.5", sha256="c47640269e0251e009ae18a25162df4e20e175885286e21d28c054b084b991a4"
|
||||
)
|
||||
version(
|
||||
"15.0.4", sha256="e24b4d3bf7821dcb1c901d1e09096c1f88fb00095c5a6ef893baab4836975e52"
|
||||
)
|
||||
version(
|
||||
"15.0.3", sha256="8ac8e4c0982bf236526d737d385db5e1e66543ab217a9355d54159659eae3774"
|
||||
)
|
||||
version(
|
||||
"15.0.2", sha256="dc11d35e60ab61792baa607dff080c993b39de23fb93b3d3369ba15b0601c307"
|
||||
)
|
||||
version(
|
||||
"15.0.1", sha256="20bccb964e39f604fdc16d1258f94d2053fbdcdab2b2f6d5e20e6095ec403c00"
|
||||
)
|
||||
version(
|
||||
"15.0.0", sha256="36d83cd84e1caf2bcfda1669c029e2b949adb9860cff01e7d3246ac2348b11ae"
|
||||
)
|
||||
version(
|
||||
"14.0.5", sha256="a4a57f029cb81f04618e05853f05fc2d21b64353c760977d8e7799bf7218a23a"
|
||||
)
|
||||
version(
|
||||
"14.0.4", sha256="1333236f9bee38658762076be4236cb5ebf15ae9b7f2bfce6946b96ae962dc73"
|
||||
)
|
||||
version(
|
||||
"14.0.3", sha256="0e1d049b050127ecf6286107e9a4400b0550f841d5d2288b9d31fd32ed0683d5"
|
||||
)
|
||||
version(
|
||||
"14.0.2", sha256="ca52232b3451c8e017f00eb882277707c13e30fac1271ec97015f6d0eeb383d1"
|
||||
)
|
||||
version(
|
||||
"14.0.1", sha256="c8be00406e872c8a24f8571cf6f5517b73ae707104724b1fd1db2f0af9544019"
|
||||
)
|
||||
version(
|
||||
"14.0.0", sha256="87b1a068b370df5b79a892fdb2935922a8efb1fddec4cc506e30fe57b6a1d9c4"
|
||||
)
|
||||
version(
|
||||
"13.0.0", sha256="a1131358f1f9f819df73fa6bff505f2c49d176e9eef0a3aedd1fdbce3b4630e8"
|
||||
)
|
||||
version(
|
||||
"12.0.0", sha256="8e6c99e482bb16a450165176c2d881804976a2d770e0445af4375e78a1fbf19c"
|
||||
)
|
||||
version(
|
||||
"11.0.1", sha256="9c7ad8e8ec77c5bde8eb4afa105a318fd1ded7dff3747d14f012758719d7171b"
|
||||
)
|
||||
version(
|
||||
"11.0.0", sha256="8ad4ddbafac4f2c8f2ea523c2c4196f940e8e16f9e635210537582a48622a5d5"
|
||||
)
|
||||
version(
|
||||
"10.0.0", sha256="b81c96d2f8f40dc61b14a167513d87c0d813aae0251e06e11ae8a4384ca15451"
|
||||
)
|
||||
version("9.0.0", sha256="7807fac25330e24e9955ca46cd855dd34bbc9cc4fdba8322366206654d1036f2")
|
||||
version("8.0.0", sha256="d81238b4a69e93e29f74ce56f8107cbfcf0c7d7b40510b7879e98cc031e25167")
|
||||
version("7.0.1", sha256="f17a6cd401e8fd8f811fbfbb36dcb4f455f898c9d03af4044807ad005df9f3c0")
|
||||
version("6.0.0", sha256="1946ec629c88d30122afa072d3c6a89cc5d5e4e2bb28dc63b2f9ebcc7917ee64")
|
||||
version("5.0.1", sha256="84ca454abf262579814a2a2b846569f6e0cb3e16dc33ca3642b4f1dff6fbafd3")
|
||||
version("5.0.0", sha256="1f1843315657a4371d8ca37f01265fa9aae17dbcf46d2d0a95c1fdb3c6a4bab6")
|
||||
|
||||
depends_on("c", type="build")
|
||||
depends_on("cxx", type="build")
|
||||
@@ -724,7 +814,9 @@ def determine_variants(cls, exes, version_str):
|
||||
@classmethod
|
||||
def validate_detected_spec(cls, spec, extra_attributes):
|
||||
# For LLVM 'compilers' is a mandatory attribute
|
||||
msg = f"the extra attribute 'compilers' must be set for the detected spec '{spec}'"
|
||||
msg = 'the extra attribute "compilers" must be set for ' 'the detected spec "{0}"'.format(
|
||||
spec
|
||||
)
|
||||
assert "compilers" in extra_attributes, msg
|
||||
compilers = extra_attributes["compilers"]
|
||||
for key in ("c", "cxx"):
|
||||
|
||||
@@ -41,7 +41,7 @@ class Mariadb(CMakePackage):
|
||||
variant(
|
||||
"nonblocking",
|
||||
default=True,
|
||||
description="Allow non blocking operations in the mariadb client library.",
|
||||
description="Allow non blocking " "operations in the mariadb client library.",
|
||||
)
|
||||
|
||||
provides("mariadb-client")
|
||||
|
||||
@@ -56,7 +56,7 @@ def patch(self):
|
||||
# workaround anonymous version tag linker error for the NVIDIA
|
||||
# compilers
|
||||
filter_file(
|
||||
"${wl}-version-script ${wl}$output_objdir/$libname.ver",
|
||||
"${wl}-version-script " "${wl}$output_objdir/$libname.ver",
|
||||
"",
|
||||
"configure",
|
||||
string=True,
|
||||
|
||||
@@ -83,7 +83,7 @@ class Mvapich2(MpichEnvironmentModifications, AutotoolsPackage):
|
||||
description="List of the process managers to activate",
|
||||
values=disjoint_sets(("auto",), ("slurm",), ("hydra", "gforker", "remshell"))
|
||||
.prohibit_empty_set()
|
||||
.with_error("'slurm' or 'auto' cannot be activated along with other process managers")
|
||||
.with_error("'slurm' or 'auto' cannot be activated along with " "other process managers")
|
||||
.with_default("auto")
|
||||
.with_non_feature_values("auto"),
|
||||
)
|
||||
|
||||
@@ -182,7 +182,7 @@ def construct_ldflags(self):
|
||||
spec = self.spec
|
||||
xpmem_ldflags = ""
|
||||
if "feature=basic-xpmem" in spec or "feature=advanced-xpmem" in spec:
|
||||
xpmem_ldflags = " -Wl,-rpath,/opt/xpmem/lib -L/opt/xpmem/lib -lxpmem"
|
||||
xpmem_ldflags = " -Wl,-rpath,/opt/xpmem/lib " "-L/opt/xpmem/lib -lxpmem"
|
||||
|
||||
# Add default LDFLAGS and combine together
|
||||
LDFLAGS = "LDFLAGS=-Wl,-rpath,XORIGIN/placeholder"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user