Compare commits

..

61 Commits

Author SHA1 Message Date
Gregory Becker
89b4d2a33e wrote test case backwards 2025-02-10 15:20:46 -08:00
Gregory Becker
546e5a9a54 expand test further 2025-02-07 15:01:51 -08:00
Gregory Becker
401c183de9 expand on test and add comments on expected behaviors 2025-02-07 15:00:33 -08:00
Gregory Becker
b757500d9e add clarifying comment 2025-02-07 14:51:07 -08:00
Gregory Becker
2b759cf853 reuse: allow filtering by namespace 2025-02-07 10:54:49 +01:00
Massimiliano Culpo
a8e2da5bb8 Fix regression due to dyninst update (#48935) 2025-02-07 10:46:42 +01:00
Harmen Stoppels
97750189b6 clingo-bootstrap: fix +optimized build (#48931)
* fix regression `apple-clang` vs `%apple-clang`
* use f-strings
* remove --verbose flag from LDFLAGS
2025-02-07 09:46:05 +01:00
Teague Sterling
bcd40835a0 py-maturin: add v1.8.2 and refined dependencies (#48915) 2025-02-07 01:23:33 -07:00
John W. Parent
2c3f2c5733 Windows: Update default config for stage location (#48511)
Current location is within the Spack prefix, which causes builds to
pollute VCS with stage artifacts and generally inflates the Spack
install prefix.

This PR moves it to the user cache location now that we can
consistently support paths with spaces on Windows.
2025-02-06 23:25:11 -08:00
Massimiliano Culpo
302d74394b dyninst: cleanup package (#47637)
* Use more idiomatic construct, shorten recipe
* Remove deprecated versions, and associated patches
* Remove v10.0.0
2025-02-07 08:20:05 +01:00
Vinícius
cf94dc7823 simgrid: add v3.36 (#48909) 2025-02-06 21:03:00 -07:00
Rocco Meli
4411ee3382 dla-future-fortran: add v0.3.0 (#48900) 2025-02-06 18:56:10 -07:00
John W. Parent
f790ce0f72 icu4c: no cxxstd flag option on Windows (#48510)
* ICU4C: Don't reference a spec variant on a platform on which it's not defined

* icu4c: no cxx flag on Windows
2025-02-06 18:55:57 -07:00
Mikael Simberg
64d53037db pika: Add 0.32.0 (#48897) 2025-02-06 18:49:55 -07:00
Chris Marsh
4aef50739b Add new version of r-curl (#48912) 2025-02-06 18:38:09 -07:00
Wouter Deconinck
a6e966f6f2 dcap: depends_on libxcrypt (#48903) 2025-02-06 18:37:51 -07:00
psakievich
1f428c4188 Add a message for CMake incremental build (#48905)
* Add a message for CMake incremental build

Requested message to explain CMake phase is getting skipped.

* [@spackbot] updating style on behalf of psakievich

* Update import

---------

Co-authored-by: psakievich <psakievich@users.noreply.github.com>
2025-02-07 01:32:06 +00:00
Thomas Madlener
731e48b1bd lcio: add v2.22.4 (#48895) 2025-02-06 18:20:34 -07:00
Wouter Deconinck
74ff9ad821 hep stack: build also with cuda and rocm where possible (#48528) 2025-02-06 17:09:15 -07:00
Alberto Invernizzi
16a4eff689 nvpl-blas, nvpl-lapack: add v0.4.0.1, v0.3.0 (#48901) 2025-02-06 15:27:28 -07:00
Alberto Sartori
d0b0d8db50 justbuild: add v1.4.3 (#48898) 2025-02-06 15:21:16 -07:00
AMD Toolchain Support
54f591cce5 amdfftw: fix broken build, adjust flags for performance tuning (#48754)
With CFLAGS, the code path in the amdfftw build system will bypass the logic around AMD_ARCH.

---------

Co-authored-by: vijay kallesh <Vijay-teekinavar.Kallesh@amd.com>
2025-02-06 15:14:44 -07:00
Chris Marsh
8677bb4d43 py-numba: Add version 0.61 (#48837) 2025-02-06 07:54:53 -08:00
SXS Bot
b66b80a96a spectre: add v2025.01.30 (#48803)
Co-authored-by: sxs-bot <sxs-bot@users.noreply.github.com>
2025-02-06 13:49:46 +01:00
Adam J. Stewart
10e21f399c py-shapely: add v2.0.7 (#48810) 2025-02-06 13:45:08 +01:00
Matt Thompson
56892f6140 fms: add 2025.01, 2024.03 (#48812) 2025-02-06 13:44:46 +01:00
George Young
7eddc4b1f8 mummer4: patching to allow building with %gcc@13: (#38292)
Co-authored-by: LMS Bioinformatics <bioinformatics@lms.mrc.ac.uk>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2025-02-06 13:37:42 +01:00
Adam J. Stewart
3c7392bbcc PyTorch: add v2.6.0 (#48794) 2025-02-06 13:32:53 +01:00
ddement
bb0517f4d9 openturbine: add new package (#48683) 2025-02-06 13:32:14 +01:00
Izaak "Zaak" Beekman
c8994ee50f salt: add v0.3.0 (#48877)
* salt: Add v0.3.0 of SALT

This version contains important bug fixes for building and parsing
projects containing Fortran

* salt: Be more explicit about dependency types

 - llvm+clang+flang is needed at build, link and runtime for the
   correct operation of SALT
 - Testing with llvm@master ( llvm > 19.x ) shows that SALT is
   currently incompatible with the latest llvm API so an updated salt
   will be required when LLVM 20 is released
2025-02-06 13:02:08 +01:00
Wouter Deconinck
4b2f5638f2 sherpa: +hepmc3root only when +root (#48827)
* sherpa: +hepmc3root only when +root

* sherpa: fix style
2025-02-06 12:33:27 +01:00
Richard Berger
31312a379f spiner: add v1.6.3 (#48871)
* spiner: update package logic

* singularity-eos: remove spiner cuda_arch propagation

* spiner: add version 1.6.3
2025-02-06 11:47:44 +01:00
Harmen Stoppels
b0d5f272b0 llvm: fix @15 %apple-clang@16 (#48887) 2025-02-06 10:52:36 +01:00
Harmen Stoppels
1c93fef160 spec.py: ensure == is false if true modulo precomputed dag hash (#48889) 2025-02-06 09:55:27 +01:00
Axel Huebl
8bb5f4faf4 enzyme: add v0.0.172 (#48881) 2025-02-06 09:40:14 +01:00
Dom Heinzeller
f76ab5f72f Update py-arch, py-statsmodels (add 0.14.1), py-patsy (add 0.5.4) to be able to use py-cython@3 (#48769)
* Add py-patsy@0.5.4
* Correct py-numpy dependency in py-arch
* Add py-statsmodels@0.14.1 and update dependencies
* Add climbfuji as maintainer for py-patsy
* Add climbfuji as maintainer for py-statsmodels
* Update var/spack/repos/builtin/packages/py-statsmodels/package.py
2025-02-05 16:23:33 -08:00
Richard Berger
49c831edc3 flecsi: new version 2.3.1 (#48867)
* flecsi: add new version 2.3.1, remove develop
* flecsi: remove kokkos and openmp variants moving forward
* flecsi: propagate cuda and rocm settings from kokkos
* Update var/spack/repos/builtin/packages/flecsi/package.py
   Co-authored-by: Davis Herring <herring@lanl.gov>
* flecsi: remove redundant depends_on lines
* flecsi: correct legion dependency
* flecsi: deprecate v2.0.0 and v2.1.0
* flecsi: force +openmp if ^kokkos+openmp

---------

Co-authored-by: Davis Herring <herring@lanl.gov>
2025-02-05 16:18:58 -08:00
afzpatel
c943c8c1d2 hip-tests: new package (#47273)
* hip-tests: add new package
* remove hip-tests from hip recipe
* remove old versions
* fix style
* add missing import
* bump hip-tests to 6.3.1
* fix style
2025-02-05 15:35:04 -08:00
Harmen Stoppels
e0e6f29584 relocate.py: don't warn about symlinks (#48904)
`relocate_links` warns when the target is absolute and not matched by
any prefix from the prefix to prefix map.

This can lead to false positives, cause the prefix to prefix map does
not contain trivial/identity entries whenever a package is installed to
its original location.

Since relocate_links is the odd one out there (we don't warn about
similar issues with rpaths, etc), just remove the warning.
2025-02-05 12:33:44 -07:00
Wouter Deconinck
72bc3bb803 libice: add v1.1.2 (#48861) 2025-02-05 10:35:34 -08:00
Wouter Deconinck
dba8fe2b96 harfbuzz: add v10.2.0 (#48857) 2025-02-05 10:35:18 -08:00
Harmen Stoppels
4487598d60 spec.py: ensure spec.extra_attributes is {} if is null in json (#48896) 2025-02-05 17:55:53 +01:00
Stephen Nicholas Swatman
495537cf56 acts: add v39.0.0 (#48839)
This commit adds version 39.0.0 of the ACTS package which, as far as I
can tell, doesn't require any dependency updates.
2025-02-05 09:39:21 -06:00
George Young
22c3b4099f code-server: update to v4.96.4 (#48828) 2025-02-05 04:38:11 -07:00
japlews
13978d11a0 Scotch: add v7.0.6, add testing option (#48781) 2025-02-05 12:04:00 +01:00
Alec Scott
a22114b20b bash: add autotools dependencies (#48874) 2025-02-05 11:26:43 +01:00
Chris Marsh
c10624390f Fix esmf usage, add new version (#48835) 2025-02-05 11:24:48 +01:00
Felix Thaler
fb3d9de80b nnn: new package (#46174)
Co-authored-by: Bernhard Kaindl <bernhardkaindl7@gmail.com>
2025-02-05 11:23:28 +01:00
Harmen Stoppels
fbb688af07 spec.py: fix hash change due to None vs {} (#48854)
* Fix hash change due to None vs {}

* Enforce null for empty list of external_modules
2025-02-05 09:48:00 +01:00
Chris Marsh
d34b709425 py-elevation: new package (#48836) 2025-02-05 09:46:49 +01:00
rfbgo
cb0b188cf6 pfind: new package (#48685) 2025-02-05 09:31:10 +01:00
Harmen Stoppels
9a2b0aca66 ci: bump import-check (#48883) 2025-02-05 09:17:01 +01:00
Todd Gamblin
89a8ab3233 ci: add codecov token secret to coverage upload job (#48880)
Codecov needs to see the token secret when uploading, so we have to
add this line to the workflow YAML:

```yaml
  with:
    token: ${{ secrets.CODECOV_TOKEN }}
```

Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2025-02-05 01:18:02 +00:00
Harmen Stoppels
5d87166c07 gha: standalone import-check (#48873) 2025-02-04 22:18:30 +01:00
Taillefumier Mathieu
15c989b3fe sirius: add v7.6.2 (#48797)
Co-authored-by: Mathieu Taillefumier <mathieu.taillefumier@free.fr>
Co-authored-by: Rocco Meli <r.meli@bluemail.ch>
2025-02-04 13:08:02 -07:00
psakievich
b7f556e4b4 Remove variable from cmake.py (#48824)
* Remove variable from cmake.py

#48775 left a dangling variable that was not caught in CI but by the eyes of @haampie. Restructure variable to local method.

* [@spackbot] updating style on behalf of psakievich

* Update cmake.py

* Update lib/spack/spack/build_systems/cmake.py

* Update lib/spack/spack/build_systems/cmake.py

---------

Co-authored-by: psakievich <psakievich@users.noreply.github.com>
2025-02-04 15:20:15 +01:00
Zack Galbreath
36f32ceda3 Remove ISC stacks environment files (#48851)
Follow-up to #48811
2025-02-04 10:31:40 +01:00
Piotr Sacharuk
01d77ed915 Apply workaround for oneAPI compiler for upcxx problem with a template argument list (#48843)
* Fix upcxx problem with  a template argument list is expected after a name prefixed by the template keyword

* Revert "Fix upcxx problem with  a template argument list is expected after a name prefixed by the template keyword"

This reverts commit faf9b8ce85.

* Apply workaround for oneAPI compiler

* style problem resolved

* use spec.satisfies syntax

---------

Co-authored-by: eugeneswalker <eugenesunsetwalker@gmail.com>
2025-02-04 09:26:44 +01:00
Wouter Deconinck
0049f8332d libsm: add v1.2.5 (#48862) 2025-02-03 23:03:10 -07:00
Wouter Deconinck
39c10c3116 dd4hep: add v1.31 (#48850) 2025-02-03 22:48:17 -07:00
Todd Gamblin
71d1901831 update pyproject.toml for ruff format (#48823)
Add ruff configuration to `pyproject.toml`.

This allows `ruff format` in the Spack repository to format all the files we care about, 
with our line length of 99, the exceptions we already put in place, and excluding things
we don't auto-format, like vendored dependencies.

Right now it'll reformat 175 or so files, but only slightly, in places where `ruff` differs from
`black`. For the most part I like the ruff format decisions better than `black`, but none of
the changes seem too severe.

This does not change `spack style` -- I figure that can come later but this at least will
let people start playing with `ruff`.

---------

Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2025-02-03 20:56:05 -08:00
283 changed files with 993 additions and 1633 deletions

View File

@@ -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() }}

View File

@@ -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
View 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"

View File

@@ -86,49 +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: 38c5473f619493d060d813c72c80eac86b3d2aeb
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"
# Further style checks from pylint
pylint:

View File

@@ -1,5 +1,5 @@
config:
locks: false
build_stage::
- '$spack/.staging'
- '$user_cache_path/stage'
stage_name: '{name}-{version}-{hash:7}'

View File

@@ -34,6 +34,7 @@ an object, with the following keys:
1. ``roots``: if ``true`` root specs are reused, if ``false`` only dependencies of root specs are reused
2. ``from``: list of sources from which reused specs are taken
3. ``namespaces``: list of namespaces from which to reuse specs, or the string ``"any"``.
Each source in ``from`` is itself an object:
@@ -56,6 +57,7 @@ For instance, the following configuration:
concretizer:
reuse:
roots: true
namespaces: [builtin]
from:
- type: local
include:
@@ -63,7 +65,8 @@ For instance, the following configuration:
- "%clang"
tells the concretizer to reuse all specs compiled with either ``gcc`` or ``clang``, that are installed
in the local store. Any spec from remote buildcaches is disregarded.
in the local store. Any spec from remote buildcaches is disregarded. Any spec from a namespace other than
Spack's builtin repo is disregarded.
To reduce the boilerplate in configuration files, default values for the ``include`` and
``exclude`` options can be pushed up one level:

View File

@@ -11,6 +11,7 @@
from typing import Any, List, Optional, Tuple
import llnl.util.filesystem as fs
from llnl.util import tty
from llnl.util.lang import stable_partition
import spack.builder
@@ -458,19 +459,23 @@ 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)):
tty.msg(
"Incremental build criteria satisfied."
"Skipping CMake configure step. To force configuration run"
f" `spack clean {pkg.name}`"
)
return
options = self.std_cmake_args
options += self.cmake_args()

View File

@@ -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."""

View File

@@ -236,22 +236,15 @@ def relocate_elf_binaries(binaries: Iterable[str], prefix_to_prefix: Dict[str, s
_set_elf_rpaths_and_interpreter(path, rpaths=rpaths, interpreter=interpreter)
def _warn_if_link_cant_be_relocated(link: str, target: str):
if not os.path.isabs(target):
return
tty.warn(f'Symbolic link at "{link}" to "{target}" cannot be relocated')
def relocate_links(links: Iterable[str], prefix_to_prefix: Dict[str, str]) -> None:
"""Relocate links to a new install prefix."""
regex = re.compile("|".join(re.escape(p) for p in prefix_to_prefix.keys()))
for link in links:
old_target = readlink(link)
if not os.path.isabs(old_target):
continue
match = regex.match(old_target)
# No match.
if match is None:
_warn_if_link_cant_be_relocated(link, old_target)
continue
new_target = prefix_to_prefix[match.group()] + old_target[match.end() :]

View File

@@ -25,6 +25,12 @@
"roots": {"type": "boolean"},
"include": LIST_OF_SPECS,
"exclude": LIST_OF_SPECS,
"namespaces": {
"oneOf": [
{"type": "string", "enum": ["any"]},
{"type": "array", "items": {"type": "string"}},
]
},
"from": {
"type": "array",
"items": {

View File

@@ -3986,6 +3986,7 @@ def __init__(self, configuration: spack.config.Configuration) -> None:
self.configuration = configuration
self.store = spack.store.create(configuration)
self.reuse_strategy = ReuseStrategy.ROOTS
self.reuse_namespaces = "any"
reuse_yaml = self.configuration.get("concretizer:reuse", False)
self.reuse_sources = []
@@ -4016,6 +4017,7 @@ def __init__(self, configuration: spack.config.Configuration) -> None:
self.reuse_strategy = ReuseStrategy.ROOTS
else:
self.reuse_strategy = ReuseStrategy.DEPENDENCIES
self.reuse_namespaces = reuse_yaml.get("namespaces", "any")
default_include = reuse_yaml.get("include", [])
default_exclude = reuse_yaml.get("exclude", [])
default_sources = [{"type": "local"}, {"type": "buildcache"}]
@@ -4083,6 +4085,9 @@ def reusable_specs(self, specs: List[spack.spec.Spec]) -> List[spack.spec.Spec]:
if self.reuse_strategy == ReuseStrategy.DEPENDENCIES:
result = [spec for spec in result if not any(root in spec for root in specs)]
if self.reuse_namespaces != "any":
result = [spec for spec in result if spec.namespace in self.reuse_namespaces]
return result

View File

@@ -1527,9 +1527,8 @@ def __init__(self, spec_like=None, *, external_path=None, external_modules=None)
self._external_path = external_path
self.external_modules = Spec._format_module_list(external_modules)
# This attribute is used to store custom information for
# external specs. None signal that it was not set yet.
self.extra_attributes = None
# This attribute is used to store custom information for external specs.
self.extra_attributes: dict = {}
# This attribute holds the original build copy of the spec if it is
# deployed differently than it was built. None signals that the spec
@@ -2351,15 +2350,10 @@ def to_node_dict(self, hash=ht.dag_hash):
)
if self.external:
if self.extra_attributes:
extra_attributes = syaml.sorted_dict(self.extra_attributes)
else:
extra_attributes = None
d["external"] = {
"path": self.external_path,
"module": self.external_modules,
"extra_attributes": extra_attributes,
"module": self.external_modules or None,
"extra_attributes": syaml.sorted_dict(self.extra_attributes),
}
if not self._concrete:
@@ -3861,6 +3855,13 @@ def _cmp_iter(self):
for item in self._cmp_node():
yield item
# If there is ever a breaking change to hash computation, whether accidental or purposeful,
# two specs can be identical modulo DAG hash, depending on what time they were concretized
# From the perspective of many operation in Spack (database, build cache, etc) a different
# DAG hash means a different spec. Here we ensure that two otherwise identical specs, one
# serialized before the hash change and one after, are considered different.
yield self.dag_hash() if self.concrete else None
# This needs to be in _cmp_iter so that no specs with different process hashes
# are considered the same by `__hash__` or `__eq__`.
#
@@ -4908,7 +4909,7 @@ def from_node_dict(cls, node):
spec.external_modules = node["external"]["module"]
if spec.external_modules is False:
spec.external_modules = None
spec.extra_attributes = node["external"].get("extra_attributes", {})
spec.extra_attributes = node["external"].get("extra_attributes") or {}
# specs read in are concrete unless marked abstract
if node.get("concrete", True):

View File

@@ -1460,6 +1460,35 @@ def test_no_reuse_when_variant_condition_does_not_hold(self, mutable_database, m
new2 = spack.concretize.concretize_one("conditional-variant-pkg +two_whens")
assert new2.satisfies("@2 +two_whens +version_based")
def test_reuse_by_namespace(self, mutable_database, mock_packages):
spack.config.set("concretizer:reuse", True)
# Set spack to prefer an older version when doing new builds, but prioritize reuse higher
spack.config.set("packages:libelf", {"version": ["0.8.10"]})
# Expected behavior is to reuse the libelf@0.8.13 from mutable database
# despite configured preference for older version
reuse = spack.concretize.concretize_one("libelf")
assert reuse.installed
assert reuse.satisfies("@0.8.13")
# Reuse is turned off, so preference will be respected
spack.config.set("concretizer:reuse", {"namespaces": []})
noreuse = spack.concretize.concretize_one("libelf")
assert not noreuse.installed
assert noreuse.satisfies("@0.8.10")
# Expected behavior same as first concretization
spack.config.set("concretizer:reuse", {"namespaces": ["builtin.mock"]})
noreuse = spack.concretize.concretize_one("libelf")
assert noreuse.installed
assert noreuse.satisfies("@0.8.13")
# Expected behavior same as second concretization
spack.config.set("concretizer:reuse", {"namespaces": ["foobar"]})
noreuse = spack.concretize.concretize_one("libelf")
assert not noreuse.installed
assert noreuse.satisfies("@0.8.10")
def test_reuse_with_flags(self, mutable_database, mutable_config):
spack.config.set("concretizer:reuse", True)
spec = spack.concretize.concretize_one("pkg-a cflags=-g cxxflags=-g")

View File

@@ -1989,3 +1989,26 @@ def test_equality_discriminate_on_propagation(lhs, rhs):
def test_comparison_multivalued_variants():
assert Spec("x=a") < Spec("x=a,b") < Spec("x==a,b") < Spec("x==a,b,c")
def test_comparison_after_breaking_hash_change():
# We simulate a breaking change in DAG hash computation in Spack. We have two specs that are
# entirely equal modulo DAG hash. When deserializing these specs, we don't want them to compare
# as equal, because DAG hash is used throughout in Spack to distinguish between specs
# (e.g. database, build caches, install dir).
s = Spec("example@=1.0")
s._mark_concrete(True)
# compute the dag hash and a change to it
dag_hash = s.dag_hash()
new_dag_hash = f"{'b' if dag_hash[0] == 'a' else 'a'}{dag_hash[1:]}"
before_breakage = s.to_dict()
after_breakage = s.to_dict()
after_breakage["spec"]["nodes"][0]["hash"] = new_dag_hash
assert before_breakage != after_breakage
x = Spec.from_dict(before_breakage)
y = Spec.from_dict(after_breakage)
assert x != y
assert len({x, y}) == 2

View File

@@ -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

View File

@@ -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
# 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

View File

@@ -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
# 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

View File

@@ -13,29 +13,41 @@ spack:
mpi: [mpich]
tbb: [intel-tbb]
variants: +mpi
acts:
require: +analysis +dd4hep +edm4hep +examples +fatras +geant4 +hepmc3 +podio +pythia8 +python ~svg +tgeo cxxstd=20
celeritas:
require: +geant4 +hepmc3 +root +shared cxxstd=20
hip:
require: '@5.7.1 +rocm'
root:
require: +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 +tmva-cpu +unuran +vc +vdt +veccore +webgui +x +xml +xrootd # cxxstd=20
# note: root cxxstd=20 not concretizable within sherpa
vecgeom:
require: +gdml +geant4 +root +shared cxxstd=20
# Mark geant4 data as external to prevent wasting bandwidth on GB-scale files
geant4-data:
buildable: false
externals:
- spec: geant4-data@11.3.0
prefix: /usr
- spec: geant4-data@11.2.2
prefix: /usr
- spec: geant4-data@11.2.0
prefix: /usr
- spec: geant4-data@11.1.0
prefix: /usr
- spec: geant4-data@11.0.0
prefix: /usr
- spec: geant4-data@11.3.0
prefix: /usr
- spec: geant4-data@11.2.2
prefix: /usr
- spec: geant4-data@11.2.0
prefix: /usr
- spec: geant4-data@11.1.0
prefix: /usr
- spec: geant4-data@11.0.0
prefix: /usr
specs:
# CPU
- acts +analysis +dd4hep +edm4hep +examples +fatras +geant4 +hepmc3 +podio +pythia8 +python +tgeo cxxstd=20
- acts ~cuda
#- agile # fails on c++>11 compiler
- alpgen
- ampt
- apfel +lhapdf +python
- celeritas +geant4 +hepmc3 +openmp +root +shared +vecgeom cxxstd=20
- celeritas ~cuda +openmp ~rocm +vecgeom
- cepgen
- cernlib +shared
- collier
@@ -82,19 +94,28 @@ spack:
- py-vector
- 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
- root ~cuda
- 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
- vecgeom ~cuda
- whizard +fastjet +gosam hepmc=3 +lcio +lhapdf +openloops +openmp +pythia8
- xrootd +davix +http +krb5 +python +readline +scitokens-cpp
- yoda +root
# CUDA
#- acts +cuda +traccc cuda_arch=80
#- celeritas +cuda ~openmp +vecgeom cuda_arch=80
- root +cuda +cudnn +tmva-gpu
- vecgeom +cuda cuda_arch=80
# ROCm
- celeritas +rocm amdgpu_target=gfx90a ~openmp ~vecgeom # only available with ORANGE
ci:
pipeline-gen:
- build-job:
image: "ghcr.io/spack/spack/ubuntu22.04-runner-amd64-gcc-11.4:2024.03.01"
image: ghcr.io/spack/spack/ubuntu22.04-runner-amd64-gcc-11.4:2024.03.01
cdash:
build-group: HEP

View File

@@ -36,7 +36,7 @@ bin/spack -h
bin/spack help -a
# Profile and print top 20 lines for a simple call to spack spec
spack -p --lines 20 spec mpileaks%gcc ^dyninst@10.0.0 ^elfutils@0.170
spack -p --lines 20 spec mpileaks%gcc
$coverage_run $(which spack) bootstrap status --dev --optional
# Check that we can import Spack packages directly as a first import

View File

@@ -40,6 +40,7 @@ class Acts(CMakePackage, CudaPackage):
# Supported Acts versions
version("main", branch="main")
version("master", branch="main", deprecated=True) # For compatibility
version("39.0.0", commit="b055202e2fbdd509bc186eb4782714bc46f38f3f", submodules=True)
version("38.2.0", commit="9cb8f4494656553fd9b85955938b79b2fac4c9b0", submodules=True)
version("38.1.0", commit="8a20c88808f10bf4fcdfd7c6e077f23614c3ab90", submodules=True)
version("38.0.0", commit="0a6b5155e29e3b755bf351b8a76067fff9b4214b", submodules=True)

View File

@@ -4,7 +4,6 @@
import os
from spack.build_environment import optimization_flags
from spack.package import *
from spack.pkg.builtin.fftw import FftwBase
@@ -95,14 +94,14 @@ class Amdfftw(FftwBase):
)
variant(
"amd-dynamic-dispatcher",
default=True,
default=False,
when="@4.1: %aocc@4.1.0:",
description="Single portable optimized library"
" to execute on different x86 CPU architectures",
)
variant(
"amd-dynamic-dispatcher",
default=True,
default=False,
when="@3.2: %gcc",
description="Single portable optimized library"
" to execute on different x86 CPU architectures",
@@ -203,11 +202,10 @@ def configure(self, spec, prefix):
if not self.compiler.f77 or not self.compiler.fc:
options.append("--disable-fortran")
# Cross compilation is supported in amd-fftw by making use of target
# variable to set AMD_ARCH configure option.
# Spack user can not directly use AMD_ARCH for this purpose but should
# use target variable to set appropriate -march option in AMD_ARCH.
options.append(f"AMD_ARCH={optimization_flags(self.compiler, spec.target)}")
if "avx512" in spec.target:
options.append("CFLAGS=-mprefer-vector-width=512")
else:
options.append("CFLAGS=-mprefer-vector-width=256")
# Specific SIMD support.
# float and double precisions are supported

View File

@@ -23,6 +23,10 @@ class Bash(AutotoolsPackage, GNUMirrorPackage):
depends_on("c", type="build") # generated
depends_on("autoconf", type="build")
depends_on("automake", type="build")
depends_on("libtool", type="build")
depends_on("ncurses")
depends_on("readline@8.2:", when="@5.2:")
depends_on("readline@5.0:")

View File

@@ -2,6 +2,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.build_systems.cmake import CMakeBuilder
from spack.package import *
@@ -81,13 +82,22 @@ class Celeritas(CMakePackage, CudaPackage, ROCmPackage):
depends_on("py-breathe", type="build", when="+doc")
depends_on("py-sphinx", type="build", when="+doc")
with when("+cuda"):
depends_on("thrust")
with when("+rocm"):
depends_on("hiprand")
depends_on("rocprim")
depends_on("rocrand")
depends_on("rocthrust")
for _std in _cxxstd_values:
depends_on("geant4 cxxstd=" + _std, when="+geant4 cxxstd=" + _std)
depends_on("root cxxstd=" + _std, when="+root cxxstd=" + _std)
depends_on("vecgeom cxxstd=" + _std, when="+vecgeom cxxstd=" + _std)
depends_on("vecgeom +cuda cuda_arch=none", when="+vecgeom +cuda cuda_arch=none")
for _arch in CudaPackage.cuda_arch_values:
depends_on("vecgeom+cuda cuda_arch=" + _arch, when="+vecgeom +cuda cuda_arch=" + _arch)
depends_on(f"vecgeom +cuda cuda_arch={_arch}", when=f"+vecgeom +cuda cuda_arch={_arch}")
conflicts("+rocm", when="+cuda", msg="AMD and NVIDIA accelerators are incompatible")
conflicts("+rocm", when="+vecgeom", msg="HIP support is only available with ORANGE")
@@ -111,7 +121,7 @@ def cmake_args(self):
from_variant("CELERITAS_BUILD_DOCS", "doc"),
define("CELERITAS_BUILD_DEMOS", False),
define("CELERITAS_BUILD_TESTS", False),
from_variant("Celeritas_USE_HIP", "rocm"),
from_variant("CELERITAS_USE_HIP", "rocm"),
define("CELERITAS_USE_MPI", False),
define("CELERITAS_USE_Python", True),
]
@@ -119,6 +129,22 @@ def cmake_args(self):
for pkg in ["CUDA", "Geant4", "HepMC3", "OpenMP", "ROOT", "SWIG", "VecGeom"]:
args.append(from_variant("CELERITAS_USE_" + pkg, pkg.lower()))
if self.spec.satisfies("+cuda"):
args.append(CMakeBuilder.define_cuda_architectures(self))
if self.spec.satisfies("+rocm"):
args.append(CMakeBuilder.define_hip_architectures(self))
args.append(
define(
"CMAKE_HIP_FLAGS",
" ".join(
[
f"-I{self.spec[p].prefix.include}"
for p in ["hiprand", "rocprim", "rocrand", "rocthrust"]
]
),
)
)
if self.version < Version("0.5"):
# JSON is required for 0.5 and later
args.append(define("CELERITAS_USE_JSON", True))

View File

@@ -92,9 +92,9 @@ def pgo_train(self):
# Set PGO training flags.
generate_mods = EnvironmentModifications()
generate_mods.append_flags("CFLAGS", "-fprofile-generate={}".format(reports))
generate_mods.append_flags("CXXFLAGS", "-fprofile-generate={}".format(reports))
generate_mods.append_flags("LDFLAGS", "-fprofile-generate={} --verbose".format(reports))
generate_mods.append_flags("CFLAGS", f"-fprofile-generate={reports}")
generate_mods.append_flags("CXXFLAGS", f"-fprofile-generate={reports}")
generate_mods.append_flags("LDFLAGS", f"-fprofile-generate={reports}")
with working_dir(self.build_directory, create=True):
cmake(*cmake_options, sources, extra_env=generate_mods)
@@ -118,14 +118,14 @@ def pgo_train(self):
# Clean the build dir.
rmtree(self.build_directory, ignore_errors=True)
if self.spec.satisfies("%clang") or self.spec.satisfies("apple-clang"):
if self.spec.satisfies("%clang") or self.spec.satisfies("%apple-clang"):
# merge reports
use_report = join_path(reports, "merged.prof")
raw_files = glob.glob(join_path(reports, "*.profraw"))
llvm_profdata("merge", "--output={}".format(use_report), *raw_files)
use_flag = "-fprofile-instr-use={}".format(use_report)
llvm_profdata("merge", f"--output={use_report}", *raw_files)
use_flag = f"-fprofile-instr-use={use_report}"
else:
use_flag = "-fprofile-use={}".format(reports)
use_flag = f"-fprofile-use={reports}"
# Set PGO use flags for next cmake phase.
use_mods = EnvironmentModifications()

View File

@@ -12,58 +12,11 @@ class CodeServer(Package):
homepage = "https://coder.com/docs/code-server/latest"
url = "https://github.com/coder/code-server/releases/download/v4.4.0/code-server-4.4.0-linux-amd64.tar.gz"
version("4.12.0", sha256="d50ee947c4144a6ff2656e664ecbb3f70b75168b8a6e8c3eef47787f3c240c26")
version("4.11.0", sha256="4eb233054941ec298caec6fc84dfba0a72c1bc5fadc0fe4896b10f3f4a291d51")
version("4.10.1", sha256="f34ce611a9c058982a5e9d200fdf009788e3a564e970b053f4145574bce21b09")
version("4.4.0", sha256="e3dd265acb18c2230c72d19bbce619ac5c1bd800ebb26e5e169c4d613069500d")
version("4.3.0", sha256="42c71e98de85270b164b023ef8eb0692cf7700c03081ba5a44eaca014a92eb57")
version("4.2.0", sha256="98be5bc43ac604c49ae11da259e318b581757a59a25edeee5cf55317ca589ec6")
version("4.1.0", sha256="f720b20d1f615b78f3a1be9b1614f3d99ed722b8da3047a4143dbe5835e52ce3")
version("4.0.2", sha256="68c11afa3288707a6880920013d8bac7404cd590eb4f63cac92979d0b0bf4fd1")
version("4.0.1", sha256="5fe6d26e9d19e685946f0f392d9c822e5303a800cac3ac54a6a2c26104d239fd")
version("3.12.0", sha256="d3ca41a55e36d73d80300702af2687e25d440cff6b613bb58a2c88d9b8a0a38f")
version("3.11.1", sha256="d34b0b79582196d59d44ac971aabb7f15cb05d837318b94f62470dc8475665e9")
version("3.11.0", sha256="dddb97f044ed615a4b8a526328fca6ad703b9c671a28a6090d84668a18755589")
version("3.10.2", sha256="47154a6b9e61a0313ba499dd5d948613a17841c2f580612f9721c31964622bf5")
version("3.10.1", sha256="18175624df78976488dbcc2a26f2582a71cef5ca0a419e691b1b70da0b27c7ef")
version("3.10.0", sha256="5dfce848747f3dd5074cba435cca6730ac99d6d3aa3f50e0a9bf222ad12d3e97")
version("3.9.3", sha256="eba42eaf868c2144795b1ac54929e3b252ae35403bf8553b3412a5ac4f365a41")
version("3.9.2", sha256="5dbda5ac598223006f72bcb700b133a752aabe4468ed8105806d1d69b5364408")
version("3.9.1", sha256="f2648a4387c5a5be8666fb82a7b8a58274c45b91942251ab337e202e078ae8a5")
version("3.9.0", sha256="229b0fb95d78a7f7ff0dd55bc151a7521fcd699af50151faf67f6c7ce51110f4")
version("3.8.1", sha256="130cf94e3921d0e2adfa33e875bf1aa81fd28548aac94fd31fbc589baa68d45f")
version("3.8.0", sha256="70b069f26b30c38cca5fa07b5f25db4d15976de80af3a644b9105d1b5e23e7d5")
version("3.7.4", sha256="01ca0e48df44df70cdf702644b013102024a5b30edf6c1fbb2e10b0310056382")
version("3.7.3", sha256="7a90f3171c9bc6f65266066e35cc34d48a032910c136ea21116d28f3d7214547")
version("3.7.2", sha256="c3054f214392b1b2eb4c77c57cb950ac5d733d349a426975e8bf32028e65a226")
version("3.7.1", sha256="bebd9e0c46e0fd4b4f295fd91fc2db135a694614db972095e9842bf7969f4cee")
version("3.7.0", sha256="5f8df8ed3924e8e594674d73fb50b00a06efa529f96a0495a5ee8c39c68f3ce1")
version("3.6.2", sha256="fd4ac7d61f3e1b2a5034f1706e409c77fad299adef0ede204828d8ecfe317e45")
version("3.6.1", sha256="bbe4ef9585e093b3521deb34a0820d2136172271862d6396df21c2e9a26c6374")
version("3.6.0", sha256="d1ae4f7263741e0551358d3ed77dad587b33b352d827623d4df25e98f9e21019")
version("3.5.0", sha256="90c19c84611becac4af1fb0bd5324ab30f9200769fa7914cd10ccb6b88c657bb")
version("3.4.1", sha256="afdb89f4dc7201c03cb35d4f8dc1ccb6060bd0da324a6789089de264d3406817")
version("3.4.0", sha256="918c28696b73b96dc9361977f93e788d5c8884b5d4a088d206f05d5b8bccb738")
version("3.3.1", sha256="57b9855b20f511e22776ee8a53d1ff30f864498814c4c0b0af3510f71d7a2969")
version("3.3.0", sha256="6ca5148a447b41753d5151c5a49a8af24122c7b0808609782aec454e66be4f2c")
version("3.2.0", sha256="a8157e8766d6a0e255c72db25e8677a57adb8d889d653e78750b4d26a6ff7400")
version("3.1.1", sha256="5dd922d28b2e351c146081849d987fb1e439ee7d53b941434b2eecb2a194da71")
version("3.1.0", sha256="5ef85c8f280ce781a176a8b77386b333efe892755a5c325a1782e4eac6016e59")
version("3.0.2", sha256="04367cfeb23991f3dc3f1ef8e3dfe5e9d683bb50c9e1fa69e3c21757facfd7ee")
version("4.96.4", sha256="b3f9025d00f2cdf61caf83945ef7225d4a3eb576c4c007e45868f45713e39c8e")
depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated
def url_for_version(self, version):
if version <= Version("3.2.0"):
return "https://github.com/coder/code-server/releases/download/{0}/code-server-{0}-linux-x86_64.tar.gz".format(
version
)
else:
return "https://github.com/coder/code-server/releases/download/v{0}/code-server-{0}-linux-amd64.tar.gz".format(
version
)
def install(self, spec, prefix):
install_tree(".", prefix)

View File

@@ -18,7 +18,8 @@ class Cpuinfo(CMakePackage):
license("BSD-2-Clause")
version("main", branch="main")
version("2024-09-06", commit="094fc30b9256f54dad5ad23bcbfb5de74781422f") # py-torch@2.5.1:
version("2024-09-26", commit="1e83a2fdd3102f65c6f1fb602c1b320486218a99") # py-torch@2.6:
version("2024-09-06", commit="094fc30b9256f54dad5ad23bcbfb5de74781422f") # py-torch@2.5.1
version("2024-08-30", commit="fa1c679da8d19e1d87f20175ae1ec10995cd3dd3") # py-torch@2.5.0
version("2023-11-04", commit="d6860c477c99f1fce9e28eb206891af3c0e1a1d7") # py-torch@2.3:2.4
version("2023-01-13", commit="6481e8bef08f606ddd627e4d3be89f64d62e1b8a") # py-torch@2.1:2.2

View File

@@ -25,6 +25,7 @@ class Dcap(AutotoolsPackage):
depends_on("m4", type="build")
depends_on("openssl")
depends_on("libxcrypt")
depends_on("zlib-api")
variant("plugins", default=True, description="Build plugins")

View File

@@ -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(

View File

@@ -20,6 +20,7 @@ class DlaFutureFortran(CMakePackage):
license("BSD-3-Clause")
version("main", branch="main")
version("0.3.0", sha256="404ce0d2d3df9317764450158901fd6cb2198b37f5687e9616519100ad6e9ece")
version("0.2.0", sha256="7fd3e1779c111b35f0d2701a024398b4f6e8dea4af523b6c8617d28c0b7ae61a")
version("0.1.0", sha256="9fd8a105cbb2f3e1daf8a49910f98fce68ca0b954773dba98a91464cf2e7c1da")
@@ -36,6 +37,7 @@ class DlaFutureFortran(CMakePackage):
depends_on("dla-future@0.4.1:0.5 +scalapack", when="@0.1.0")
depends_on("dla-future@0.6.0: +scalapack", when="@0.2.0:")
depends_on("dla-future@0.7.3: +scalapack", when="@0.3:")
depends_on("dla-future +shared", when="+shared")
depends_on("mpi", when="+test")

View File

@@ -33,60 +33,30 @@ class Dyninst(CMakePackage):
version("10.2.1", sha256="8077c6c7a12577d2ffdcd07521c1eb1b7367da94d9a7ef10bf14053aeaae7ba1")
version("10.2.0", sha256="4212b93bef4563c7de7dce4258e899bcde52315a571087e87fde9f8040123b43")
version("10.1.0", sha256="4a121d70c1bb020408a7a697d74602e18250c3c85800f230566fcccd593c0129")
version("10.0.0", sha256="542fccf5c57c4fe784b1a9a9e3db01d40b16ad04e7174dc6f7eb23440485ba06")
version(
"9.3.2", tag="v9.3.2", commit="5d2ddacb273682daa014ae22f17f3575e05b411e", deprecated=True
)
version(
"9.3.0", tag="v9.3.0", commit="9b8e9c1f16d4616b827d2d36955604a8e3fb915c", deprecated=True
)
version(
"9.2.0", tag="v9.2.0", commit="3a6ad66df7294417cf61618acdcfcc0fecccb045", deprecated=True
)
version(
"9.1.0", tag="v9.1.0", commit="df6d090061bae7ff2ba5a6bd57bb2ecbf538ef7a", deprecated=True
)
version(
"8.2.1", tag="v8.2.1", commit="939afcbad1a8273636a3686a31b51dae4f1f0c11", deprecated=True
)
depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated
depends_on("c", type="build")
depends_on("cxx", type="build")
variant(
"openmp",
default=True,
description="Enable OpenMP support for ParseAPI " "(version 10.0.0 or later)",
)
variant("openmp", default=True, description="Enable OpenMP support for ParseAPI ")
variant("static", default=False, description="Build static libraries")
variant("stat_dysect", default=False, description="Patch for STAT's DySectAPI")
boost_libs = (
"+atomic+chrono+date_time+filesystem+system+thread+timer+container+random+exception"
depends_on(
"boost+atomic+chrono+date_time+filesystem+system+thread+timer+container+random+exception"
)
depends_on("boost@1.61.0:" + boost_libs, when="@10.1.0:")
depends_on("boost@1.61.0:1.69" + boost_libs, when="@:10.0")
depends_on("boost@1.67.0:" + boost_libs, when="@11.0.0:")
depends_on("boost@1.70.0:" + boost_libs, when="@12:12.3.0")
depends_on("boost@1.71.0:" + boost_libs, when="@13:")
depends_on("boost@1.61.0:", when="@10.1.0:")
depends_on("boost@1.67.0:", when="@11.0.0:")
depends_on("boost@1.70.0:", when="@12:12.3.0")
depends_on("boost@1.71.0:", when="@13:")
depends_on("libiberty+pic")
# Dyninst uses elfutils starting with 9.3.0, and used libelf
# before that.
# NB: Parallel DWARF parsing in Dyninst 10.2.0 requires a thread-
# safe libdw
# Parallel DWARF parsing requires a thread-safe libdw
depends_on("elfutils", type="link")
depends_on("elfutils@0.186:", type="link", when="@12.0.1:")
depends_on("elfutils@0.178:", type="link", when="@10.2.0:")
depends_on("elfutils", type="link", when="@9.3.0:10.1")
depends_on("libelf", type="link", when="@:9.2")
# Dyninst uses libdw from elfutils starting with 10.0, and used
# libdwarf before that.
depends_on("libdwarf", when="@:9")
with when("@:12.3.0"):
# findtbb.cmake in the dynist repo does not work with recent tbb
@@ -95,21 +65,16 @@ class Dyninst(CMakePackage):
conflicts("^intel-oneapi-tbb@2021.1:")
conflicts("^intel-parallel-studio")
depends_on("intel-tbb@2019.9:", when="@13.0.0:")
depends_on("tbb@2018.6.0:", when="@10.0.0:12.3.0")
depends_on("tbb")
requires("^[virtuals=tbb] intel-tbb@2019.9:", when="@13.0.0:")
with when("@13.0.0:"):
depends_on("cmake@3.14.0:", type="build")
conflicts("cmake@3.19.0")
depends_on("cmake@3.4.0:", type="build", when="@10.1.0:")
depends_on("cmake@3.0.0:", type="build", when="@10.0.0:10.0")
depends_on("cmake@2.8:", type="build", when="@:9")
patch("stat_dysect.patch", when="+stat_dysect")
patch("stackanalysis_h.patch", when="@9.2.0")
patch("v9.3.2-auto.patch", when="@9.3.2 %gcc@:4.7")
patch("tribool.patch", when="@9.3.0:10.0.0 ^boost@1.69:")
patch(
"missing_include_deque.patch",
when="@10.0.0:12.2.0",
@@ -124,92 +89,21 @@ class Dyninst(CMakePackage):
# Version 11.0 requires a C++11-compliant ABI
conflicts("%gcc@:5", when="@11.0.0:")
# Versions 9.3.x used cotire, but have no knob to turn it off.
# Cotire has no real use for one-time builds and can break
# parallel builds with both static and shared libs.
@when("@9.3.0:9.3")
def patch(self):
filter_file("USE_COTIRE true", "USE_COTIRE false", "cmake/shared.cmake")
# New style cmake args, starting with 10.1.
@when("@10.1.0:")
def cmake_args(self):
spec = self.spec
args = [
"-DBoost_ROOT_DIR=%s" % spec["boost"].prefix,
"-DElfUtils_ROOT_DIR=%s" % spec["elf"].prefix,
"-DLibIberty_ROOT_DIR=%s" % spec["libiberty"].prefix,
"-DTBB_ROOT_DIR=%s" % spec["tbb"].prefix,
self.define("Boost_ROOT_DIR", spec["boost"].prefix),
self.define("ElfUtils_ROOT_DIR", spec["elfutils"].prefix),
self.define("LibIberty_ROOT_DIR", spec["libiberty"].prefix),
self.define("TBB_ROOT_DIR", spec["tbb"].prefix),
self.define("LibIberty_LIBRARIES", spec["libiberty"].libs),
self.define_from_variant("USE_OpenMP", "openmp"),
self.define_from_variant("ENABLE_STATIC_LIBS", "static"),
]
if spec.satisfies("+openmp"):
args.append("-DUSE_OpenMP=ON")
else:
args.append("-DUSE_OpenMP=OFF")
if spec.satisfies("+static"):
args.append("-DENABLE_STATIC_LIBS=YES")
else:
args.append("-DENABLE_STATIC_LIBS=NO")
# Make sure Dyninst doesn't try to build its own dependencies
# outside of Spack
# Make sure Dyninst doesn't try to build its own dependencies outside of Spack
if spec.satisfies("@10.2.0:12.3.0"):
args.append("-DSTERILE_BUILD=ON")
return args
# Old style cmake args, up through 10.0.
@when("@:10.0")
def cmake_args(self):
spec = self.spec
# Elf -- the directory containing libelf.h.
elf = spec["elf"].prefix
elf_include = os.path.dirname(find_headers("libelf", elf.include, recursive=True)[0])
# Dwarf -- the directory containing elfutils/libdw.h or
# libdwarf.h, and the path to libdw.so or libdwarf.so.
if spec.satisfies("@10.0.0:"):
dwarf_include = elf.include
dwarf_lib = find_libraries("libdw", elf, recursive=True)
else:
dwarf_include = spec["libdwarf"].prefix.include
dwarf_lib = spec["libdwarf"].libs
args = [
"-DPATH_BOOST=%s" % spec["boost"].prefix,
"-DIBERTY_LIBRARIES=%s" % spec["libiberty"].libs,
"-DLIBELF_INCLUDE_DIR=%s" % elf_include,
"-DLIBELF_LIBRARIES=%s" % spec["elf"].libs,
"-DLIBDWARF_INCLUDE_DIR=%s" % dwarf_include,
"-DLIBDWARF_LIBRARIES=%s" % dwarf_lib,
]
# TBB include and lib directories, version 10.x or later.
if spec.satisfies("@10.0.0:"):
args.extend(
[
"-DTBB_INCLUDE_DIRS=%s" % spec["tbb"].prefix.include,
"-DTBB_LIBRARY=%s" % spec["tbb"].prefix.lib,
]
)
# Openmp applies to version 10.x or later.
if spec.satisfies("@10.0.0:"):
if spec.satisfies("+openmp"):
args.append("-DUSE_OpenMP=ON")
else:
args.append("-DUSE_OpenMP=OFF")
# Static libs started with version 9.1.0.
if spec.satisfies("@9.1.0:"):
if spec.satisfies("+static"):
args.append("-DENABLE_STATIC_LIBS=1")
else:
args.append("-DENABLE_STATIC_LIBS=NO")
args.append(self.define("STERILE_BUILD", True))
return args

View File

@@ -1,11 +0,0 @@
--- a/dataflowAPI/h/stackanalysis.h 2016-06-29 14:54:14.000000000 -0700
+++ b/dataflowAPI/h/stackanalysis.h 2016-08-02 09:50:13.619079000 -0700
@@ -331,7 +331,7 @@
// To build intervals, we must replay the effect of each instruction.
// To avoid sucking enormous time, we keep those transfer functions around...
- typedef std::map<ParseAPI::Block *, std::map<Offset, TransferFuncs>>
+ typedef std::map<ParseAPI::Block *, std::map<Offset, TransferFuncs> >
InstructionEffects;
DATAFLOW_EXPORT StackAnalysis();

View File

@@ -1,34 +0,0 @@
Add explicit casts from boost::tribool to bool. Starting with 1.69,
tribool added 'explicit' to the conversion operator to bool, and this
was breaking the build when using boost >= 1.69.
Patch is from: https://github.com/dyninst/dyninst/commit/54a2debd9
diff --git a/dataflowAPI/rose/util/Message.C b/dataflowAPI/rose/util/Message.C
index a8a66ad4c..5e276f97d 100644
--- a/dataflowAPI/rose/util/Message.C
+++ b/dataflowAPI/rose/util/Message.C
@@ -1123,7 +1123,7 @@ StreamBuf::bake() {
destination_->bakeDestinations(message_.properties(), baked_/*out*/);
anyUnbuffered_ = false;
for (BakedDestinations::const_iterator bi=baked_.begin(); bi!=baked_.end() && !anyUnbuffered_; ++bi)
- anyUnbuffered_ = !bi->second.isBuffered;
+ anyUnbuffered_ = static_cast<bool>(!bi->second.isBuffered);
isBaked_ = true;
}
}
diff --git a/dataflowAPI/rose/util/Message.h b/dataflowAPI/rose/util/Message.h
index 816f68d2e..03592cb97 100644
--- a/dataflowAPI/rose/util/Message.h
+++ b/dataflowAPI/rose/util/Message.h
@@ -386,7 +386,8 @@ struct SAWYER_EXPORT ColorSpec {
ColorSpec(AnsiColor fg, AnsiColor bg, bool bold): foreground(fg), background(bg), bold(bold) {}
/** Returns true if this object is in its default-constructed state. */
- bool isDefault() const { return COLOR_DEFAULT==foreground && COLOR_DEFAULT==background && !bold; }
+ bool isDefault() const { return COLOR_DEFAULT==foreground && COLOR_DEFAULT==background
+ && static_cast<bool>(!bold); }
};
/** Colors to use for each message importance.

View File

@@ -1,73 +0,0 @@
Change some 'for (const auto& t: type)' usage to the older but
equivalent 'for (auto t = type.begin(); ...)'. This patch allows
dyninst 9.3.2 to build with gcc 4.4 which doesn't support the newer
syntax.
diff --git a/dyninstAPI/src/BPatch.C b/dyninstAPI/src/BPatch.C
index ebf7db0c4..49fe69f9a 100644
--- a/dyninstAPI/src/BPatch.C
+++ b/dyninstAPI/src/BPatch.C
@@ -166,16 +166,16 @@ BPatch::BPatch()
stdTypes = BPatch_typeCollection::getGlobalTypeCollection();
vector<Type *> *sTypes = Symtab::getAllstdTypes();
BPatch_type* type = NULL;
- for(const auto& t: *sTypes) {
- stdTypes->addType(type = new BPatch_type(t));
+ for(auto t = sTypes->begin(); t != sTypes->end(); ++t) {
+ stdTypes->addType(type = new BPatch_type(*t));
type->decrRefCount();
}
delete sTypes;
builtInTypes = new BPatch_builtInTypeCollection;
sTypes = Symtab::getAllbuiltInTypes();
- for(const auto& t: *sTypes) {
- builtInTypes->addBuiltInType(type = new BPatch_type(t));
+ for(auto t = sTypes->begin(); t != sTypes->end(); ++t) {
+ builtInTypes->addBuiltInType(type = new BPatch_type(*t));
type->decrRefCount();
}
delete sTypes;
diff --git a/dyninstAPI/src/BPatch_collections.C b/dyninstAPI/src/BPatch_collections.C
index f4e2986a3..129f8b74a 100644
--- a/dyninstAPI/src/BPatch_collections.C
+++ b/dyninstAPI/src/BPatch_collections.C
@@ -172,12 +172,12 @@ BPatch_typeCollection::~BPatch_typeCollection()
assert(refcount == 0 ||
refcount == 1);
- for(const auto& t: typesByName) {
- t.second->decrRefCount();
+ for(auto t = typesByName.begin(); t != typesByName.end(); ++t) {
+ t->second->decrRefCount();
}
- for(const auto& t: typesByID) {
- t.second->decrRefCount();
+ for(auto t = typesByID.begin(); t != typesByID.end(); ++t) {
+ t->second->decrRefCount();
}
}
diff --git a/symtabAPI/src/Collections.C b/symtabAPI/src/Collections.C
index 7431dd6bf..43c339f45 100644
--- a/symtabAPI/src/Collections.C
+++ b/symtabAPI/src/Collections.C
@@ -318,12 +318,12 @@ typeCollection::typeCollection() :
typeCollection::~typeCollection()
{
// delete all of the types
- for(const auto& t: typesByName) {
- t.second->decrRefCount();
+ for(auto t = typesByName.begin(); t != typesByName.end(); ++t) {
+ t->second->decrRefCount();
}
- for(const auto& t: typesByID) {
- t.second->decrRefCount();
+ for(auto t = typesByID.begin(); t != typesByID.end(); ++t) {
+ t->second->decrRefCount();
}
}

View File

@@ -14,7 +14,7 @@ class Enzyme(CMakePackage):
"""
homepage = "https://enzyme.mit.edu"
url = "https://github.com/wsmoses/Enzyme/archive/v0.0.15.tar.gz"
url = "https://github.com/wsmoses/Enzyme/archive/v0.0.172.tar.gz"
list_url = "https://github.com/wsmoses/Enzyme/releases"
git = "https://github.com/wsmoses/Enzyme"
@@ -23,6 +23,7 @@ class Enzyme(CMakePackage):
root_cmakelists_dir = "enzyme"
version("main", branch="main")
version("0.0.172", sha256="688200164787d543641cb446cff20f6a8e8b5c92bb7032ebe7f867efa67ceafb")
version("0.0.135", sha256="49c798534faec7ba524a3ed053dd4352d690a44d3cad5a14915c9398dc9b175b")
version("0.0.100", sha256="fbc53ec02adc0303ff200d7699afface2d9fbc7350664e6c6d4c527ef11c2e82")
version("0.0.81", sha256="4c17d0c28f0572a3ab97a60f1e56bbc045ed5dd64c2daac53ae34371ca5e8b34")
@@ -42,7 +43,8 @@ class Enzyme(CMakePackage):
depends_on("llvm@7:14", when="@0.0.48:0.0.68")
depends_on("llvm@9:16", when="@0.0.69:0.0.79")
depends_on("llvm@11:16", when="@0.0.80:0.0.99")
depends_on("llvm@11:19", when="@0.0.100:")
depends_on("llvm@11:19", when="@0.0.100:0.0.148")
depends_on("llvm@15:19", when="@0.0.149:")
depends_on("cmake@3.13:", type="build")
def cmake_args(self):

View File

@@ -20,12 +20,16 @@ class Flecsi(CMakePackage, CudaPackage, ROCmPackage):
tags = ["e4s"]
version("develop", branch="develop", deprecated=True)
version("2.3.1", tag="v2.3.1", commit="6c04b9b21790533e457764bd7f8f26757db1552f")
version("2.3.0", tag="v2.3.0", commit="90bc8267fceb02060e54646f73b45d4252aef491")
version("2.2.1", tag="v2.2.1", commit="84b5b232aebab40610f57387778db80f6c8c84c5")
version("2.2.0", tag="v2.2.0", commit="dd531ac16c5df124d76e385c6ebe9b9589c2d3ad")
version("2.1.0", tag="v2.1.0", commit="533df139c267e2a93c268dfe68f9aec55de11cf0")
version("2.0.0", tag="v2.0.0", commit="5ceebadf75d1c98999ea9e9446926722d061ec22")
version(
"2.1.0", tag="v2.1.0", commit="533df139c267e2a93c268dfe68f9aec55de11cf0", deprecated=True
)
version(
"2.0.0", tag="v2.0.0", commit="5ceebadf75d1c98999ea9e9446926722d061ec22", deprecated=True
)
variant(
"backend",
@@ -46,8 +50,8 @@ class Flecsi(CMakePackage, CudaPackage, ROCmPackage):
description="Set Caliper Profiling Detail",
multi=False,
)
variant("kokkos", default=False, description="Enable Kokkos Support")
variant("openmp", default=False, description="Enable OpenMP Support")
variant("kokkos", default=False, description="Enable Kokkos Support", when="@:2.3.1")
variant("openmp", default=False, description="Enable OpenMP Support", when="@:2.3.1")
depends_on("c", type="build")
depends_on("cxx", type="build")
@@ -69,18 +73,22 @@ class Flecsi(CMakePackage, CudaPackage, ROCmPackage):
depends_on("boost@1.79.0:", when="@2.2:")
depends_on("kokkos@3.2.00:", when="+kokkos")
depends_on("kokkos@3.7:", when="+kokkos @2.3:")
depends_on("kokkos +cuda +cuda_constexpr +cuda_lambda", when="+kokkos +cuda")
depends_on("kokkos@3.7:", when="@2.4:")
depends_on("kokkos +cuda", when="+kokkos +cuda")
requires("^kokkos +cuda_constexpr +cuda_lambda", when="^kokkos +cuda")
depends_on("kokkos +rocm", when="+kokkos +rocm")
depends_on("kokkos +openmp", when="+kokkos +openmp")
depends_on("legion@cr-20210122", when="backend=legion @2.0:2.2.1")
requires("+openmp", when="@:2.3.1 ^kokkos +openmp")
depends_on("legion@cr-20210122", when="backend=legion @2.0:2.1.0")
depends_on("legion@cr-20230307", when="backend=legion @2.2.0:2.2.1")
depends_on("legion@24.03.0:", when="backend=legion @2.2.2:")
depends_on("legion@24.09.0:", when="backend=legion @2.3.1:")
depends_on("legion+shared", when="backend=legion +shared")
depends_on("legion+hdf5", when="backend=legion +hdf5")
depends_on("legion+kokkos", when="backend=legion +kokkos")
depends_on("legion+openmp", when="backend=legion +openmp")
depends_on("legion+cuda", when="backend=legion +cuda")
depends_on("legion+rocm", when="backend=legion +rocm")
depends_on("legion+kokkos", when="backend=legion ^kokkos")
depends_on("legion+openmp", when="backend=legion ^kokkos+openmp")
depends_on("legion+cuda", when="backend=legion ^kokkos+cuda")
depends_on("legion+rocm", when="backend=legion ^kokkos+rocm")
depends_on("hdf5@1.10.7:", when="backend=legion +hdf5")
depends_on("hpx@1.10.0: cxxstd=17 malloc=system", when="backend=hpx")
depends_on("mpi")
@@ -97,11 +105,13 @@ class Flecsi(CMakePackage, CudaPackage, ROCmPackage):
# Propagate cuda_arch requirement to dependencies
for _flag in CudaPackage.cuda_arch_values:
requires(f"+cuda cuda_arch={_flag}", when=f"^kokkos +cuda cuda_arch={_flag}")
depends_on(f"kokkos cuda_arch={_flag}", when=f"+cuda+kokkos cuda_arch={_flag}")
depends_on(f"legion cuda_arch={_flag}", when=f"backend=legion +cuda cuda_arch={_flag}")
# Propagate amdgpu_target requirement to dependencies
for _flag in ROCmPackage.amdgpu_targets:
requires(f"+rocm amdgpu_target={_flag}", when=f"^kokkos +rocm amdgpu_target={_flag}")
depends_on(f"kokkos amdgpu_target={_flag}", when=f"+kokkos +rocm amdgpu_target={_flag}")
depends_on(
f"legion amdgpu_target={_flag}", when=f"backend=legion +rocm amdgpu_target={_flag}"
@@ -130,13 +140,13 @@ def cmake_args(self):
self.define_from_variant("ENABLE_DOCUMENTATION", "doc"),
]
if self.spec.satisfies("+rocm"):
if self.spec.satisfies("^kokkos +rocm"):
options.append(self.define("CMAKE_CXX_COMPILER", self.spec["hip"].hipcc))
options.append(self.define("CMAKE_C_COMPILER", self.spec["hip"].hipcc))
if self.spec.satisfies("backend=legion"):
# CMake pulled in via find_package(Legion) won't work without this
options.append(self.define("HIP_PATH", "{0}/hip".format(spec["hip"].prefix)))
elif self.spec.satisfies("+kokkos"):
elif self.spec.satisfies("^kokkos"):
options.append(self.define("CMAKE_CXX_COMPILER", self.spec["kokkos"].kokkos_cxx))
else:
# kept for supporing version prior to 2.2

View File

@@ -18,6 +18,8 @@ class Fms(CMakePackage):
license("LGPL-3.0-or-later")
maintainers("AlexanderRichert-NOAA", "Hang-Lei-NOAA", "edwardhartnett", "rem1776", "climbfuji")
version("2025.01", sha256="19997ef5468a06c60c1e7af3a56ab7f8a33da814a30827293ca34df5bd888d6f")
version("2024.03", sha256="4c1e6bdfafcfec19a4a1c08770c313ab3135d47ec8319f6b07f24d2589caf44d")
version("2024.02", sha256="47e5740bb066f5eb032e1de163eb762c7258880a2932f4cc4e34e769e0cc2b0e")
version(
"2024.01.01", sha256="41c8686bad2b1aed76275e35cbe1af855f7dfce9b6d8907744ea2e8174758f6a"
@@ -64,6 +66,13 @@ class Fms(CMakePackage):
when="@2023.03",
)
variant(
"portable_kinds",
description="Use iso_c_binding variable kinds",
when="@2025.01:",
default=False,
)
variant("shared", description="Build shared libraries", when="@2024.02:", default=False)
# What the following patch is providing is available in version 2024.03
# and newer so it is only needed to 2024.02
@@ -131,6 +140,7 @@ def cmake_args(self):
self.define_from_variant("OPENMP"),
self.define_from_variant("ENABLE_QUAD_PRECISION", "quad_precision"),
self.define_from_variant("SHARED_LIBS", "shared"),
self.define_from_variant("PORTABLE_KINDS", "portable_kinds"),
self.define_from_variant("WITH_YAML", "yaml"),
self.define_from_variant("CONSTANTS"),
self.define_from_variant("LARGEFILE", "large_file"),

View File

@@ -23,6 +23,7 @@ class Harfbuzz(MesonPackage, AutotoolsPackage):
license("MIT")
version("10.2.0", sha256="620e3468faec2ea8685d32c46a58469b850ef63040b3565cde05959825b48227")
version("10.1.0", sha256="6ce3520f2d089a33cef0fc48321334b8e0b72141f6a763719aaaecd2779ecb82")
version("10.0.1", sha256="b2cb13bd351904cb9038f907dc0dee0ae07127061242fe3556b2795c4e9748fc")
version("10.0.0", sha256="c2dfe016ad833a5043ecc6579043f04e8e6d50064e02ad449bb466e6431e3e04")

View File

@@ -0,0 +1,177 @@
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import os
import spack.build_systems.cmake
from spack.package import *
class HipTests(CMakePackage):
"""This repository provides unit tests for HIP implementation."""
homepage = "https://github.com/ROCm/hip-tests"
url = "https://github.com/ROCm/hip-tests/archive/refs/tags/rocm-6.1.2.tar.gz"
git = "https://github.com/ROCm/hip-tests.git"
tags = ["rocm"]
maintainers("srekolam", "renjithravindrankannath", "afzpatel")
version("6.3.1", sha256="0fc1cf4f46f2bbef377d65803d86c2489b01b598c468070c79c5114a661f07c6")
version("6.3.0", sha256="8081d4ab1a43ffa1cebd646668d83008b799ab98c14daf7b455922355a439c8a")
version("6.2.4", sha256="1478b49583d09cb3a96e26ec3bf8dc5ff3e3ec72fa133bb6d7768595d825051e")
version("6.2.1", sha256="90fcf0169889533b882d289f9cb8a7baf9bd46a3ce36752b915083931dc839f1")
version("6.2.0", sha256="314837dbac78be71844ceb959476470c484fdcd4fb622ff8de9277783e0fcf1c")
version("6.1.2", sha256="5b14e4a30d8d8fb56c43e262009646ba9188eac1c8ff882d9a606a4bec69b56b")
version("6.1.1", sha256="10c96ee72adf4580056292ab17cfd858a2fd7bc07abeb41c6780bd147b47f7af")
version("6.1.0", sha256="cf3a6a7c43116032d933cc3bc88bfc4b17a4ee1513c978e751755ca11a5ed381")
depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated
depends_on("cmake", type="run")
for ver in ["6.1.0", "6.1.1", "6.1.2", "6.2.0", "6.2.1", "6.2.4", "6.3.0", "6.3.1"]:
depends_on(f"rocm-cmake@{ver}:", type="build", when=f"@{ver}")
depends_on(f"hip@{ver}", when=f"@{ver}")
depends_on(f"rocm-core@{ver}", when=f"@{ver}")
depends_on(f"rocminfo@{ver}", when=f"@{ver}")
depends_on(f"hipify-clang@{ver}", when=f"@{ver}")
depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}")
root_cmakelists_dir = "catch"
def patch(self):
filter_file(
"${ROCM_PATH}/bin/rocm_agent_enumerator",
f"{self.spec['rocminfo'].prefix}/bin/rocm_agent_enumerator",
"catch/CMakeLists.txt",
string=True,
)
filter_file(
"/opt/rocm/bin/rocm_agent_enumerator",
f"{self.spec['rocminfo'].prefix}/bin/rocm_agent_enumerator",
"catch/hipTestMain/hip_test_context.cc",
string=True,
)
filter_file(
"${HIP_PATH}/llvm",
self.spec["llvm-amdgpu"].prefix,
"samples/2_Cookbook/17_llvm_ir_to_executable/CMakeLists.txt",
"samples/2_Cookbook/16_assembly_to_executable/CMakeLists.txt",
string=True,
)
filter_file(
"${ROCM_PATH}/llvm",
self.spec["llvm-amdgpu"].prefix,
"catch/CMakeLists.txt",
"samples/2_Cookbook/16_assembly_to_executable/CMakeLists.txt",
"samples/2_Cookbook/21_cmake_hip_cxx_clang/CMakeLists.txt",
"samples/2_Cookbook/18_cmake_hip_device/CMakeLists.txt",
"samples/2_Cookbook/17_llvm_ir_to_executable/CMakeLists.txt",
"samples/2_Cookbook/23_cmake_hiprtc/CMakeLists.txt",
"samples/2_Cookbook/22_cmake_hip_lang/CMakeLists.txt",
"samples/2_Cookbook/19_cmake_lang/CMakeLists.txt",
string=True,
)
filter_file(
"${CMAKE_PREFIX_PATH}/bin/hipify-perl",
f"{self.spec['hipify-clang'].prefix.bin}/hipify-perl",
"samples/0_Intro/square/CMakeLists.txt",
string=True,
)
def setup_build_environment(self, env):
env.set("CXX", self.spec["hip"].hipcc)
def cmake_args(self):
args = [
self.define("HIP_PLATFORM", "amd"),
self.define("HIP_PATH", self.spec["hip"].prefix),
self.define("ROCM_PATH", self.spec["hip"].prefix),
]
if self.spec.satisfies("^cmake@3.21.0:3.21.2"):
args.append(self.define("__skip_rocmclang", "ON"))
return args
def build(self, spec, prefix):
with working_dir(self.build_directory):
make("build_tests")
@run_after("install")
def cache_test_sources(self):
"""Copy the tests source files after the package is installed to an
install test subdirectory for use during `spack test run`."""
cache_extra_test_sources(self, "samples")
def test_samples(self):
"""build and run all hip samples"""
sample_test_binaries = [
"0_Intro/bit_extract/bit_extract",
"0_Intro/module_api/launchKernelHcc.hip.out",
"0_Intro/module_api/runKernel.hip.out",
"0_Intro/module_api/defaultDriver.hip.out",
"0_Intro/module_api_global/runKernel1.hip.out",
"0_Intro/square/square",
"1_Utils/hipDispatchLatency/hipDispatchEnqueueRateMT",
"1_Utils/hipDispatchLatency/hipDispatchLatency",
"1_Utils/hipInfo/hipInfo",
"2_Cookbook/0_MatrixTranspose/MatrixTranspose",
"2_Cookbook/1_hipEvent/hipEvent",
"2_Cookbook/3_shared_memory/sharedMemory",
"2_Cookbook/4_shfl/shfl",
"2_Cookbook/5_2dshfl/2dshfl",
"2_Cookbook/6_dynamic_shared/dynamic_shared",
"2_Cookbook/8_peer2peer/peer2peer",
"2_Cookbook/9_unroll/unroll",
"2_Cookbook/10_inline_asm/inline_asm",
"2_Cookbook/11_texture_driver/texture2dDrv",
"2_Cookbook/12_cmake_hip_add_executable/MatrixTranspose1",
"2_Cookbook/13_occupancy/occupancy",
"2_Cookbook/14_gpu_arch/gpuarch",
"2_Cookbook/15_static_library/device_functions/test_device_static",
"2_Cookbook/15_static_library/host_functions/test_opt_static",
"2_Cookbook/16_assembly_to_executable/square_asm.out",
"2_Cookbook/17_llvm_ir_to_executable/square_ir.out",
"2_Cookbook/18_cmake_hip_device/test_cpp",
"2_Cookbook/19_cmake_lang/test_cpp1",
"2_Cookbook/19_cmake_lang/test_fortran",
"2_Cookbook/21_cmake_hip_cxx_clang/square1",
"2_Cookbook/22_cmake_hip_lang/square2",
"2_Cookbook/23_cmake_hiprtc/test",
]
test_dir = join_path(self.test_suite.current_test_cache_dir, "samples")
prefix_paths = ";".join(spack.build_systems.cmake.get_cmake_prefix_path(self))
clang_cpp_path = join_path(self.spec["llvm-amdgpu"].prefix, "bin", "clang++")
clang_path = join_path(self.spec["llvm-amdgpu"].prefix, "bin", "clang")
cc_options = [
f"-DCMAKE_MODULE_PATH={self.spec['hip'].prefix.lib.cmake.hip}",
f"-DCMAKE_PREFIX_PATH={prefix_paths}",
f"-DCMAKE_CXX_COMPILER={clang_cpp_path}",
f"-DCMAKE_C_COMPILER={clang_path}",
f"-DHIP_HIPCC_EXECUTABLE={self.spec['hip'].prefix.bin}/hipcc",
f"-DCMAKE_HIP_COMPILER_ROCM={clang_cpp_path}",
".",
]
cmake = which(self.spec["cmake"].prefix.bin.cmake)
with working_dir(test_dir, create=True):
cmake(*cc_options)
make("build_samples")
for binary_path in sample_test_binaries:
# binaries need to run in their directories
bin_dir, binary = os.path.split(binary_path)
with working_dir(bin_dir, create=True):
with test_part(
self,
"test_sample_{0}".format(binary),
purpose="configure, build and run test: {0}".format(binary),
):
exe = Executable(binary)
if binary == "hipDispatchEnqueueRateMT":
options = ["16", "0"]
else:
options = []
exe(*options)

View File

@@ -5,7 +5,6 @@
import os
import re
import spack.build_environment
from spack.hooks.sbang import filter_shebang
from spack.package import *
@@ -325,33 +324,6 @@ class Hip(CMakePackage):
when=f"@{d_version} +cuda",
)
# Add hiptests sources thru the below
for d_version, d_shasum in [
("6.3.1", "0fc1cf4f46f2bbef377d65803d86c2489b01b598c468070c79c5114a661f07c6"),
("6.3.0", "8081d4ab1a43ffa1cebd646668d83008b799ab98c14daf7b455922355a439c8a"),
("6.2.4", "1478b49583d09cb3a96e26ec3bf8dc5ff3e3ec72fa133bb6d7768595d825051e"),
("6.2.1", "90fcf0169889533b882d289f9cb8a7baf9bd46a3ce36752b915083931dc839f1"),
("6.2.0", "314837dbac78be71844ceb959476470c484fdcd4fb622ff8de9277783e0fcf1c"),
("6.1.2", "5b14e4a30d8d8fb56c43e262009646ba9188eac1c8ff882d9a606a4bec69b56b"),
("6.1.1", "10c96ee72adf4580056292ab17cfd858a2fd7bc07abeb41c6780bd147b47f7af"),
("6.1.0", "cf3a6a7c43116032d933cc3bc88bfc4b17a4ee1513c978e751755ca11a5ed381"),
("6.0.2", "740ca064f4909c20d83226a63c2f164f7555783ec5f5f70be5bc23d3587ad829"),
("6.0.0", "e8f92a0f5d1f6093ca1fb24ff1b7140128900fcdc6e9f01f153d6907e5c2d807"),
("5.7.1", "28fbdf49f405adfee903bc0f05a43ac392c55b34c514c3582dfb7d6d67e79985"),
("5.7.0", "b1dae3cfc715e71dce92ac1da94265a9398944c76cee85ffab8f0c93665a48d6"),
("5.6.1", "5b3002ddfafda162329e4d9e6ac1200eeb48ff08e666b342aa8aeca30750f48b"),
("5.6.0", "8cf4509bf9c0747dab8ed8fec1365a9156792034b517207a0b2d63270429fd2e"),
]:
resource(
name="hip-tests",
url=f"https://github.com/ROCm/hip-tests/archive/refs/tags/rocm-{d_version}.tar.gz",
sha256=d_shasum,
expand=True,
destination="",
placement="hip-tests",
when=f"@{d_version}",
)
# Improve compilation without git repo and remove compiler rt linkage
# for host and correction in CMake target path variable and
# correcting the CMake path variable.
@@ -673,69 +645,3 @@ def cmake_args(self):
if self.spec.satisfies("@6.0:"):
args.append(self.define("HIPCC_BIN_DIR", self.spec["hipcc"].prefix.bin))
return args
test_src_dir_old = "samples"
test_src_dir = "hip-tests/samples"
@run_after("install")
def install_samples(self):
if self.spec.satisfies("@5.6.0:"):
install_tree(self.test_src_dir, self.spec.prefix.share.samples)
@run_after("install")
def cache_test_sources(self):
"""Copy the tests source files after the package is installed to an
install test subdirectory for use during `spack test run`."""
if self.spec.satisfies("@5.1:5.5"):
cache_extra_test_sources(self, [self.test_src_dir_old])
elif self.spec.satisfies("@5.6:"):
cache_extra_test_sources(self, [self.test_src_dir])
def test_samples(self):
"""build and run all hip samples"""
if self.spec.satisfies("@5.1:5.5"):
test_dir = join_path(self.test_suite.current_test_cache_dir, self.test_src_dir_old)
elif self.spec.satisfies("@5.6:"):
test_dir = join_path(self.test_suite.current_test_cache_dir, self.test_src_dir)
prefixes = ";".join(spack.build_environment.get_cmake_prefix_path(self))
cc_options = ["-DCMAKE_PREFIX_PATH=" + prefixes, ".."]
amdclang_path = join_path(self.spec["llvm-amdgpu"].prefix, "bin", "amdclang++")
os.environ["CXX"] = amdclang_path
os.environ["FC"] = "/usr/bin/gfortran"
cmake = which(self.spec["cmake"].prefix.bin.cmake)
for root, dirs, files in os.walk(test_dir):
dirs.sort()
if "CMakeLists.txt" in files or "Makefile" in files:
with working_dir(root, create=True):
head, test_name = os.path.split(root)
with test_part(
self,
"test_sample_{0}".format(test_name),
purpose="configure, build and run test: {0}".format(test_name),
):
if "CMakeLists.txt" in files:
print("Configuring test " + test_name)
os.mkdir("build")
os.chdir("build")
cmake(*cc_options)
print("Building test " + test_name)
make(parallel=False)
# iterate through the files in dir to find the newly built binary
for file in os.listdir("."):
if (
file not in files
and os.path.isfile(file)
and os.access(file, os.X_OK)
and not file.endswith(".o")
):
print("Executing test binary: " + file)
exe = which(file)
if file == "hipDispatchEnqueueRateMT":
options = ["16", "0"]
else:
options = []
exe(*options)

View File

@@ -72,7 +72,7 @@ def url_for_version(self, version):
return url.format(version.dashed, version.underscored)
def flag_handler(self, name, flags):
if name == "cxxflags":
if name == "cxxflags" and not self.spec.platform == "windows":
# Control of the C++ Standard is via adding the required "-std"
# flag to CXXFLAGS in env
flags.append(getattr(self.compiler, f"cxx{self.spec.variants['cxxstd'].value}_flag"))
@@ -125,7 +125,7 @@ def msbuild_args(self):
@property
def build_directory(self):
solution_path = pathlib.Path(self.pkg.stage.source_path)
if self.spec.satsifies("@:67"):
if self.spec.satisfies("@:67"):
solution_path = solution_path / "icu"
solution_path = solution_path / "source" / "allinone"
return str(solution_path)

View File

@@ -23,6 +23,7 @@ class Justbuild(Package):
license("Apache-2.0")
version("master", branch="master")
version("1.4.3", tag="v1.4.3", commit="dfbfdc230805a7c92baa7e49d82edc2816e00511")
version("1.4.2", tag="v1.4.2", commit="7fd5d41bc219acf0d15da5dfc75d8dd4a6c53ba3")
version("1.4.1", tag="v1.4.1", commit="2dc306f510c7ba0661d95bd75305f7deb5eb54b2")
version("1.4.0", tag="v1.4.0", commit="562bddf70175a602f896397f41ee5f5e07e834eb")

View File

@@ -20,6 +20,7 @@ class Lcio(CMakePackage):
license("BSD-3-Clause")
version("master", branch="master")
version("2.22.4", sha256="5d60eeb4df8611059f4bc839ac098f5d7e3608a662591e9cbae48aed07995514")
version("2.22.3", sha256="5b9715786c5e953f8854881c5d0c4a48030a5491f1701232b82e960ac7980162")
version("2.22.2", sha256="e5ad9690af85160ef52dd407fc0995451b4293f3aee415a8ea8a950de63d87a1")
version("2.22.1", sha256="4bc3d2c83af7b1c65d6736dd14ee82f41af7ce9bfc7cfe779c5f47417e8dc326")

View File

@@ -15,6 +15,7 @@ class Libice(AutotoolsPackage, XorgPackage):
maintainers("wdconinc")
version("1.1.2", sha256="1da62f732f8679c20045708a29372b82dff9e7eceee543ed488b845002b3b0ff")
version("1.1.1", sha256="04fbd34a11ba08b9df2e3cdb2055c2e3c1c51b3257f683d7fcf42dabcf8e1210")
version("1.1.0", sha256="7a735ec530d7a437955747eabac06bbc0b695da77fd1b4d1df3b0a483d823875")
version("1.0.10", sha256="1116bc64c772fd127a0d0c0ffa2833479905e3d3d8197740b3abd5f292f22d2d")

View File

@@ -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")

View File

@@ -730,6 +730,19 @@ class Llvm(CMakePackage, CudaPackage, LlvmDetection, CompilerPackage):
patch("sanitizer-platform-limits-posix-xdr-macos.patch", when="@10:14 platform=darwin")
# https://github.com/spack/spack/issues/48865
patch(
"https://github.com/llvm/llvm-project/commit/f4be5ed6a3fef0b2b0c60b29e1c0638926638d28.patch?full_index=1",
sha256="51740996bbc01a5049fa859134ad44ffc9514da212cc7d9a445c8d16d6cc867e",
when="@15",
)
# https://github.com/spack/spack/issues/48865
patch(
"https://github.com/llvm/llvm-project/commit/73e15b5edb4fa4a77e68c299a6e3b21e610d351f.patch?full_index=1",
sha256="b540ef6e3728d7881d95775a163314fac6e2f9207f5d5e8b79c8c73c73ba4dc3",
when="@15:16",
)
@when("@14:17")
def patch(self):
# https://github.com/llvm/llvm-project/pull/69458

View File

@@ -0,0 +1,10 @@
--- include/mummer/48bit_index.hpp 2020-10-01 01:47:50.000000000 +0100
+++ include/mummer/48bit_index.hpp.patched 2023-06-09 12:07:09.949856479 +0100
@@ -6,6 +6,7 @@
#endif
+#include <cstdint>
#include "48bit_iterator.hpp"
template<typename IDX>
struct fortyeight_index {

View File

@@ -25,3 +25,6 @@ class Mummer4(AutotoolsPackage):
depends_on("perl@5.6.0:", type=("build", "run"))
depends_on("awk", type="run")
depends_on("sed", type="run")
# Adds missing inclusion of <cstdint>
patch("48bit_index.patch", level=0, when="%gcc@13:")

View File

@@ -0,0 +1,97 @@
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Nnn(MakefilePackage):
"""nnn (n³) is a full-featured terminal file manager.
It's tiny, nearly 0-config and incredibly fast."""
homepage = "https://github.com/jarun/nnn"
url = "https://github.com/jarun/nnn/archive/refs/tags/v5.0.tar.gz"
maintainers("fthaler")
license("BSD-2-Clause", checked_by="fthaler")
version("5.0", sha256="31e8fd85f3dd7ab2bf0525c3c0926269a1e6d35a5343a6714315642370d8605a")
depends_on("binutils", type="build")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("pkgconfig", type="build")
depends_on("coreutils")
depends_on("file")
depends_on("git", when="+gitstatus")
depends_on("ncurses")
depends_on("pcre", when="+pcre")
depends_on("readline", when="+readline")
depends_on("sed")
depends_on("tar")
depends_on("zip")
variant("mouse", default=True, description="Enable mouse support")
variant(
"pcre",
default=False,
description="Use Perl Compatible Regular Expressions (default is POSIX)",
)
variant("readline", default=True, description="Compile with readline")
variant(
"icons",
values=("none", "emoji", "nerd", "icons-in-terminal"),
default="emoji",
description="Choose the icons to use "
"(see https://github.com/jarun/nnn/wiki/Advanced-use-cases#file-icons)",
)
variant("colemak", default=False, description="Key bindings for Colemak keyboard layout")
variant("gitstatus", default=True, description="Add git status column to the detail view")
variant("namefirst", default=False, description="Print filenames first in the detail view")
variant(
"restorepreview",
default=False,
description="Add pipe to close and restore preview-tui for internal undetached edits",
)
def setup_build_environment(self, env):
spec = self.spec
env.set("PREFIX", self.prefix)
if "+pcre" in spec:
env.append_flags("CPPFLAGS", spec["pcre"].headers.include_flags)
env.append_flags("LDFLAGS", spec["pcre"].libs.ld_flags)
@property
def build_targets(self):
spec = self.spec
targets = []
if "~mouse" in spec:
targets.append("O_NOMOUSE=1")
if "+pcre" in spec:
targets.append("O_PCRE=1")
if "~readline" in spec:
targets.append("O_NORL=1")
if "icons=emoji" in spec:
targets.append("O_EMOJI=1")
elif "icons=nerd" in spec:
targets.append("O_NERD=1")
elif "icons=icons-in-terminal" in spec:
targets.append("O_ICONS=1")
if "+colemak" in spec:
targets.append("O_COLEMAK=1")
if "+gitstatus" in spec:
targets.append("O_GITSTATUS=1")
if "+namefirst" in spec:
targets.append("O_NAMEFIRST=1")
if "+restorepreview" in spec:
targets.append("O_RESTOREPREVIEW=1")
return targets
@property
def install_targets(self):
return self.build_targets + ["strip", "install"]

View File

@@ -21,6 +21,7 @@ class NvplBlas(Package):
license("UNKNOWN")
version("0.4.0.1", sha256="6655898327ed36afd0242719075447058c3c89640b5b9bbfeb5af4dd5c101174")
version("0.3.0", sha256="b51cb199a440c1e8673d3d845d395950c9a9020d4e83af2655eb96c23c6ec90d")
version("0.2.0.1", sha256="ba29f6a9d3831b6ae5c9265b4d124c13b9b9e0faea025359b02b41ad230975c2")
version("0.1.0", sha256="4ccc894593cbcbfaa1a4f3c54505982691971667acf191c9ab0f4252a37c8063")

View File

@@ -21,6 +21,7 @@ class NvplLapack(Package):
license("UNKNOWN")
version("0.3.0", sha256="41cc18fc52f6869747b4185a96e34de93a53eb9d6aa95aab07082958055161b0")
version("0.2.3.1", sha256="25927df133c5486fd71d5976c93917c96e62275a78dffc354bcaf1b022f56f8e")
version("0.2.2.1", sha256="cdfbf69517a044e99e3e6231c8b2f4e845fd0de57775ccad6b4b0b4fe7e91e84")
version("0.2.0.1", sha256="7054f775b18916ee662c94ad7682ace53debbe8ee36fa926000fe412961edb0b")

View File

@@ -0,0 +1,62 @@
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Openturbine(CMakePackage, CudaPackage, ROCmPackage):
"""An open-source wind turbine structural dynamics simulation code."""
license("MIT License", checked_by="ddement")
homepage = "https://www.exascaleproject.org/research-project/exawind/"
url = "https://github.com/Exawind/openturbine.git"
git = "https://github.com/Exawind/openturbine.git"
maintainers("faisal-bhuiyan", "ddement", "deslaughter")
version("main", branch="main")
variant("tests", default=False, description="Build OpenTurbine Test Suite")
variant("openmp", default=False, description="Build OpenTurbine with OpenMP support")
variant("vtk", default=False, description="Enable VTK")
variant("adi", default=False, description="Build the OpenFAST ADI external project")
variant("rosco", default=False, description="Build the ROSCO controller external project")
depends_on("cxx", type="build")
depends_on("yaml-cpp")
depends_on("kokkos-kernels+blas+lapack")
depends_on("trilinos+amesos2")
depends_on("kokkos-kernels@4.3:")
depends_on("trilinos@16:")
depends_on("kokkos-kernels+cuda+cublas+cusparse+cusolver", when="+cuda")
depends_on("kokkos-kernels+rocblas+rocsparse+rocsolver", when="+rocm")
depends_on("kokkos-kernels+openmp", when="+openmp")
depends_on("trilinos+cuda+basker", when="+cuda")
depends_on("trilinos+rocm+basker", when="+rocm")
depends_on("trilinos+openmp+basker", when="+openmp")
depends_on("kokkos-kernels~cuda", when="~cuda")
depends_on("kokkos-kernels~openmp", when="~openmp")
depends_on("trilinos~cuda", when="~cuda")
depends_on("trilinos~rocm", when="~rocm")
depends_on("trilinos~openmp", when="~openmp")
depends_on("googletest", when="+tests")
depends_on("vtk", when="+vtk")
depends_on("fortran", type="build", when="+adi")
depends_on("fortran", type="build", when="+rosco")
def cmake_args(self):
options = [
self.define_from_variant("OpenTurbine_ENABLE_TESTS", "tests"),
self.define_from_variant("OpenTurbine_ENABLE_VTK", "vtk"),
self.define_from_variant("OpenTurbine_BUILD_OPENFAST_ADI", "adi"),
self.define_from_variant("OpenTurbine_BUILD_ROSCO_CONTROLLER", "rosco"),
]
return options

View File

@@ -0,0 +1,34 @@
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Pfind(Package):
"""
The tool provides parallel access to a single directory. However, this
feature depends on the distribution of the "cookie" returned by telldir().
Depending on the system, it may work.
"""
homepage = "https://github.com/VI4IO/pfind"
git = "https://github.com/VI4IO/pfind.git"
version("main", branch="master")
depends_on("mpi")
def setup_build_environment(self, env):
env.set("CC", self.spec["mpi"].mpicc, force=True)
env.set("CXX", self.spec["mpi"].mpicxx, force=True)
def install(self, spec, prefix):
for installer_path in ["./prepare.sh", "./compile.sh"]:
set_executable(installer_path)
installer = Executable(installer_path)
installer()
mkdirp(prefix.bin)
install("pfind", prefix.bin)

View File

@@ -18,6 +18,7 @@ class Pika(CMakePackage, CudaPackage, ROCmPackage):
license("BSL-1.0")
version("0.32.0", sha256="19217e3eecff30a7038f5712b6e161db09f12d7077550e8f66add74b3e524d29")
version("0.31.0", sha256="bdbd8e36afb367cc2c7172e5a819c756e4ee20e74dfdec4905f2e84bf097eb7c")
version("0.30.1", sha256="b0f3689a3edd30f8d674e19b5134fc5013813f843c45797c1015163e51989ac0")
version("0.30.0", sha256="1798bf7de2505bc707bf95716fda8de5630b2e2ae54a6c4ef59f9931394d31cc")

View File

@@ -31,7 +31,7 @@ class PyArch(PythonPackage):
# "numpy>=2.0.0rc1,<3" ???
# https://github.com/bashtage/arch/blob/9ced09e2566c0ebcad962d2441b1e79e2aaa7c9f/requirements.txt#L1
# numpy>=1.22.3 ???
depends_on("py-numpy@1.22.3", type=("build", "run"))
depends_on("py-numpy@1.22.3:", type=("build", "run"))
depends_on("py-scipy@1.8:", type="run")
depends_on("py-pandas@1.4:", type="run")

View File

@@ -0,0 +1,37 @@
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class PyElevation(PythonPackage):
"""
Python script to download global terrain digital elevation models,
SRTM 30m DEM and SRTM 90m DEM.
"""
homepage = "http://elevation.bopen.eu/"
pypi = "elevation/elevation-1.1.3.tar.gz"
maintainers("Chrismarsh")
license("Apache-2.0", checked_by="Chrismarsh")
version("1.1.3", sha256="be27446562e7964f7d8fa78c4829dbbb8ac43df405ad09be8c49633adb8f4877")
depends_on("py-setuptools@42:", type="build")
depends_on("py-setuptools-scm@3.4: +toml", type="build")
depends_on("py-setuptools-scm-git-archive", type="build")
depends_on("py-click", type="build")
depends_on("py-fasteners")
depends_on("py-rasterio")
depends_on("py-fiona")
depends_on("py-appdirs")
# listed in
# https://github.com/bopen/elevation/blob/1.1.3/README.rst
depends_on("curl")
depends_on("unzip")
depends_on("gzip")
depends_on("gdal+python")

View File

@@ -14,6 +14,7 @@ class PyLlvmlite(PythonPackage):
license("BSD-2-Clause")
version("0.44.0", sha256="07667d66a5d150abed9157ab6c0b9393c9356f229784a4385c02f99e94fc94d4")
version("0.43.0", sha256="ae2b5b5c3ef67354824fb75517c8db5fbe93bc02cd9671f3c62271626bc041d5")
version("0.42.0", sha256="f92b09243c0cc3f457da8b983f67bd8e1295d0f5b3746c7a1861d7a99403854a")
version("0.41.1", sha256="f19f767a018e6ec89608e1f6b13348fa2fcde657151137cb64e56d48598a92db")
@@ -51,7 +52,8 @@ class PyLlvmlite(PythonPackage):
depends_on("python@:3.8", when="@0.31:0.35", type=("build", "run"))
# https://github.com/numba/llvmlite#compatibility
depends_on("llvm@14", when="@0.41:")
depends_on("llvm@15", when="@0.44:")
depends_on("llvm@14", when="@0.41:0.43")
depends_on("llvm@11:14", when="@0.40")
depends_on("llvm@11", when="@0.37:0.39")
for t in [
@@ -66,6 +68,7 @@ class PyLlvmlite(PythonPackage):
"x86_64:",
]:
depends_on("llvm@10.0", when=f"@0.34:0.36 target={t}")
depends_on("llvm@9.0", when="@0.34:0.36 target=aarch64:")
depends_on("llvm@9.0", when="@0.33")
depends_on("llvm@7.0:7.1,8.0", when="@0.29:0.32")

View File

@@ -17,6 +17,7 @@ class PyMaturin(PythonPackage):
license("Apache-2.0")
version("1.8.2", sha256="e31abc70f6f93285d6e63d2f4459c079c94c259dd757370482d2d4ceb9ec1fa0")
version("1.6.0", sha256="b955025c24c8babc808db49e0ff90db8b4b1320dcc16b14eb26132841737230d")
version("1.5.1", sha256="3dd834ece80edb866af18cbd4635e0ecac40139c726428d5f1849ae154b26dca")
version("1.4.0", sha256="ed12e1768094a7adeafc3a74ebdb8dc2201fa64c4e7e31f14cfc70378bf93790")
@@ -42,4 +43,5 @@ class PyMaturin(PythonPackage):
# May be an accidental dependency, remove in the future
# https://git.alpinelinux.org/aports/commit/?id=7ad298b467403b96a6b97d050170e367f147a75f
# https://patchwork.yoctoproject.org/project/oe-core/patch/8803dc101b641c948805cab9e5784c38f43b0e51.1702791173.git.tim.orling@konsulko.com/
depends_on("bzip2", when="platform=darwin")
# This seems to still be an issue for others
depends_on("bzip2")

View File

@@ -16,6 +16,7 @@ class PyNumba(PythonPackage):
license("BSD-2-Clause")
version("0.61.0", sha256="888d2e89b8160899e19591467e8fdd4970e07606e1fbc248f239c89818d5f925")
version("0.60.0", sha256="5df6158e5584eece5fc83294b949fd30b9f1125df7708862205217e068aabf16")
version("0.59.1", sha256="76f69132b96028d2774ed20415e8c528a34e3299a40581bae178f0994a2f370b")
version("0.58.1", sha256="487ded0633efccd9ca3a46364b40006dbdaca0f95e99b8b83e778d1195ebcbaa")
@@ -46,6 +47,9 @@ class PyNumba(PythonPackage):
variant("tbb", default=False, description="Build with Intel Threading Building Blocks")
# Be careful that the bounds given in setup.py are exclusive on the upper bound
# i.e., [min, max)
depends_on("python@3.10:3.13", when="@0.61:", type=("build", "run"))
depends_on("python@3.9:3.12", when="@0.59:", type=("build", "run"))
depends_on("python@3.8:3.11", when="@0.57:0.58", type=("build", "run"))
depends_on("python@3.7:3.10", when="@0.55:0.56", type=("build", "run"))
@@ -53,7 +57,7 @@ class PyNumba(PythonPackage):
depends_on("python@3.6:3.9", when="@0.53", type=("build", "run"))
depends_on("python@3.6:3.8", when="@0.52", type=("build", "run"))
depends_on("python@3.6:3.8", when="@0.48:0.51", type=("build", "run"))
depends_on("py-numpy@2.0", when="@0.60:", type=("build", "run"))
depends_on("py-numpy@2.0:2.2", when="@0.60:", type=("build", "run"))
depends_on("py-numpy@1.22:1.26", when="@0.58.1:0.59", type=("build", "run"))
depends_on("py-numpy@1.21:1.25", when="@0.58.0", type=("build", "run"))
depends_on("py-numpy@1.21:1.24", when="@0.57", type=("build", "run"))
@@ -63,6 +67,7 @@ class PyNumba(PythonPackage):
depends_on("py-numpy@1.17:1.20", when="@0.54", type=("build", "run"))
depends_on("py-numpy@1.15:1.20", when="@0.48:0.53", type=("build", "run"))
depends_on("py-setuptools", type=("build", "run"))
depends_on("py-llvmlite@0.44", when="@0.61", type=("build", "run"))
depends_on("py-llvmlite@0.43", when="@0.60", type=("build", "run"))
depends_on("py-llvmlite@0.42", when="@0.59", type=("build", "run"))
depends_on("py-llvmlite@0.41", when="@0.58", type=("build", "run"))

View File

@@ -13,8 +13,11 @@ class PyPatsy(PythonPackage):
homepage = "https://github.com/pydata/patsy"
pypi = "patsy/patsy-0.5.2.tar.gz"
maintainers("climbfuji")
license("PSF-2.0")
version("0.5.4", sha256="7dabc527597308de0e8f188faa20af7e06a89bdaa306756dfc7783693ea16af4")
version("0.5.3", sha256="bdc18001875e319bc91c812c1eb6a10be4bb13cb81eb763f466179dca3b67277")
version("0.5.2", sha256="5053de7804676aba62783dbb0f23a2b3d74e35e5bfa238b88b7cbf148a38b69d")
version("0.5.1", sha256="f115cec4201e1465cd58b9866b0b0e7b941caafec129869057405bfe5b5e3991")

View File

@@ -26,6 +26,7 @@ class PyPybind11(CMakePackage, PythonExtension):
maintainers("ax3l")
version("master", branch="master")
version("2.13.6", sha256="e08cb87f4773da97fa7b5f035de8763abc656d87d5773e62f6da0587d1f0ec20")
version("2.13.5", sha256="b1e209c42b3a9ed74da3e0b25a4f4cd478d89d5efbb48f04b277df427faf6252")
version("2.13.4", sha256="efc901aa0aab439a3fea6efeaf930b5a349fb06394bf845c64ce15a9cf8f0240")
version("2.13.3", sha256="6e7a84ec241544f2f5e30c7a82c09c81f0541dd14e9d9ef61051e07105f9c445")

View File

@@ -20,6 +20,7 @@ class PyShapely(PythonPackage):
license("BSD-3-Clause")
version("main", branch="main")
version("2.0.7", sha256="28fe2997aab9a9dc026dc6a355d04e85841546b2a5d232ed953e3321ab958ee5")
version("2.0.6", sha256="997f6159b1484059ec239cacaa53467fd8b5564dabe186cd84ac2944663b0bf6")
version("2.0.5", sha256="bff2366bc786bfa6cb353d6b47d0443c570c32776612e527ee47b6df63fcfe32")
version("2.0.4", sha256="5dc736127fac70009b8d309a0eeb74f3e08979e530cf7017f2f507ef62e6cfb8")

View File

@@ -15,8 +15,11 @@ class PyStatsmodels(PythonPackage):
pypi = "statsmodels/statsmodels-0.8.0.tar.gz"
git = "https://github.com/statsmodels/statsmodels.git"
maintainers("climbfuji")
license("BSD-3-Clause")
version("0.14.1", sha256="2260efdc1ef89f39c670a0bd8151b1d0843567781bcafec6cda0534eb47a94f6")
version("0.14.0", sha256="6875c7d689e966d948f15eb816ab5616f4928706b180cf470fd5907ab6f647a4")
version("0.13.5", sha256="593526acae1c0fda0ea6c48439f67c3943094c542fe769f8b90fe9e6c6cc4871")
version("0.13.2", sha256="77dc292c9939c036a476f1770f9d08976b05437daa229928da73231147cde7d4")
@@ -33,37 +36,44 @@ class PyStatsmodels(PythonPackage):
depends_on("python@3.8:", when="@0.14:", type=("build", "link", "run"))
depends_on("python", type=("build", "link", "run"))
depends_on("py-setuptools@69.0.2:", when="@0.14.1: ^python@3.12:", type="build")
depends_on("py-setuptools@63.4.3:", when="@0.14.1:", type="build")
depends_on("py-setuptools@59.2:", when="@0.13.3:", type="build")
depends_on("py-setuptools@0.6c5:", type="build")
# pyproject.toml
depends_on("py-cython@0.29.26:2", when="@0.14:", type="build")
depends_on("py-cython@0.29.33:3", when="@0.14.1", type="build")
depends_on("py-cython@0.29.26:2", when="@0.14.0", type="build")
depends_on("py-cython@0.29.32:2", when="@0.13.5:0.13", type="build")
depends_on("py-cython@0.29.22:2", when="@0.13:", type="build")
depends_on("py-cython@0.29.14:2", when="@0.12:", type="build")
depends_on("py-cython@0.29:2", type="build")
depends_on("py-setuptools-scm+toml@7.0", when="@0.13.3:", type="build")
depends_on("py-cython@0.29.22:2", when="@0.13:0.13.4", type="build")
depends_on("py-cython@0.29.14:2", when="@0.12", type="build")
depends_on("py-cython@0.29:2", when="@:0.11", type="build")
depends_on("py-setuptools-scm+toml@8", when="@0.14.1:", type="build")
depends_on("py-setuptools-scm+toml@7.0", when="@0.13.3:0.14.0", type="build")
# patsy@0.5.1 works around a Python change
# https://github.com/statsmodels/statsmodels/issues/5343 and
# https://github.com/pydata/patsy/pull/131
# requirements.txt
depends_on("py-numpy@1.18:", when="@0.14:", type=("build", "link", "run"))
depends_on("py-numpy@1.22.3:1", when="@0.14.1:", type=("build", "link", "run"))
depends_on("py-numpy@1.18:1", when="@0.14:", type=("build", "link", "run"))
depends_on("py-numpy@1.17:", when="@0.13:", type=("build", "link", "run"))
depends_on("py-numpy@1.15:", when="@0.12.1:", type=("build", "link", "run"))
depends_on("py-numpy@1.11:", when="@0.10.1:", type=("build", "link", "run"))
# https://github.com/statsmodels/statsmodels/issues/9194
depends_on("py-numpy@:1", when="@:0.14.1", type=("build", "link", "run"))
depends_on("py-scipy@1.4:", when="@0.13.5:", type=("build", "run"))
conflicts("^py-scipy@1.9.2")
conflicts("^py-scipy@1.9.2", when="@:0.14.1")
depends_on("py-scipy@1.3:", when="@0.13:", type=("build", "run"))
depends_on("py-scipy@1.2:", when="@0.12:", type=("build", "run"))
depends_on("py-scipy@0.18:", when="@0.10.1:", type=("build", "run"))
depends_on("py-pandas@1:", when="@0.14:", type=("build", "run"))
conflicts("^py-scipy@2.1.0", when="@:0.14.1")
depends_on("py-pandas@0.25:", when="@0.13:", type=("build", "run"))
depends_on("py-pandas@0.23:", when="@0.12:", type=("build", "run"))
depends_on("py-pandas@0.19:", when="@0.10.1:", type=("build", "run"))
depends_on("py-patsy@0.5.4:", when="@0.14.1:", type=("build", "run"))
depends_on("py-patsy@0.5.2:", when="@0.13:", type=("build", "run"))
depends_on("py-patsy@0.5.1:", when="@0.12:", type=("build", "run"))
depends_on("py-patsy@0.4:", when="@0.10.1:", type=("build", "run"))

View File

@@ -17,13 +17,17 @@ class PyTorchNvidiaApex(PythonPackage, CudaPackage):
license("BSD-3-Clause")
version("master", branch="master")
version("24.04.01", sha256="065bc5c0146ee579d5db2b38ca3949da4dc799b871961a2c9eb19e18892166ce")
version(
"24.04.01",
sha256="065bc5c0146ee579d5db2b38ca3949da4dc799b871961a2c9eb19e18892166ce",
preferred=True,
)
version("23.08", tag="23.08")
version("23.07", tag="23.07")
version("23.06", tag="23.06")
version("23.05", tag="23.05")
version("22.03", tag="22.03")
version("2020-10-19", commit="8a1ed9e8d35dfad26fb973996319965e4224dcdd")
version("2020-10-19", commit="8a1ed9e8d35dfad26fb973996319965e4224dcdd", deprecated=True)
depends_on("c", type="build")
depends_on("cxx", type="build")
@@ -75,6 +79,17 @@ class PyTorchNvidiaApex(PythonPackage, CudaPackage):
# https://github.com/NVIDIA/apex/issues/1498
# https://github.com/NVIDIA/apex/pull/1499
patch("1499.patch", when="@2020-10-19")
patch(
"https://github.com/NVIDIA/apex/pull/1879.patch?full_index=1",
sha256="8e2e21aa883d93e6c0ea0fecb812c8de906b2e77bcffeeb716adabd1dd76650e",
when="@23.05:2019",
)
patch(
"https://github.com/NVIDIA/apex/pull/1855.patch?full_index=1",
sha256="8481b1234a9ce1e8bef4e57a259d8528107761e1843777489e815ec3727397fd",
when="@:24.10",
)
conflicts(
"cuda_arch=none",

View File

@@ -24,6 +24,7 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage):
maintainers("adamjstewart")
version("main", branch="main")
version("2.6.0", tag="v2.6.0", commit="1eba9b3aa3c43f86f4a2c807ac8e12c4a7767340")
version("2.5.1", tag="v2.5.1", commit="a8d6afb511a69687bbb2b7e88a3cf67917e1697e")
version("2.5.0", tag="v2.5.0", commit="32f585d9346e316e554c8d9bf7548af9f62141fc")
version("2.4.1", tag="v2.4.1", commit="ee1b6804381c57161c477caa380a840a84167676")
@@ -164,17 +165,18 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage):
with default_args(type=("build", "run")):
# setup.py
depends_on("py-filelock", when="@2:")
depends_on("py-typing-extensions@4.10:", when="@2.6:")
depends_on("py-typing-extensions@4.8:", when="@2.2:")
depends_on("py-typing-extensions@3.6.2.1:", when="@1.7:")
depends_on("py-setuptools")
depends_on("py-sympy", when="@2:")
depends_on("py-networkx", when="@2:")
depends_on("py-jinja2", when="@2:")
depends_on("py-fsspec", when="@2.1:")
# pyproject.toml
depends_on("py-setuptools")
depends_on("py-astunparse", when="@1.13:")
depends_on("py-numpy@1.16.6:")
depends_on("py-numpy")
# https://github.com/pytorch/pytorch/issues/107302
depends_on("py-numpy@:1", when="@:2.2")
depends_on("py-pyyaml")
@@ -188,15 +190,18 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage):
# Third party dependencies
depends_on("fp16@2020-05-14", when="@1.6:")
depends_on("fxdiv@2020-04-17", when="@1.6:")
depends_on("nvtx@3.1.0", when="@2.6:")
# https://github.com/pytorch/pytorch/issues/60332
# depends_on("xnnpack@2024-02-29", when="@2.3:+xnnpack")
# depends_on("xnnpack@2024-11-08", when="@2.6:+xnnpack")
# depends_on("xnnpack@2024-02-29", when="@2.3:2.5+xnnpack")
# depends_on("xnnpack@2022-12-21", when="@2.0:2.2+xnnpack")
# depends_on("xnnpack@2022-02-16", when="@1.12:1+xnnpack")
# depends_on("xnnpack@2021-06-21", when="@1.10:1.11+xnnpack")
# depends_on("xnnpack@2021-02-22", when="@1.8:1.9+xnnpack")
# depends_on("xnnpack@2020-03-23", when="@1.6:1.7+xnnpack")
depends_on("benchmark", when="@1.6:+test")
depends_on("cpuinfo@2024-09-06", when="@2.5.1:")
depends_on("cpuinfo@2024-09-26", when="@2.6:")
depends_on("cpuinfo@2024-09-06", when="@2.5.1")
depends_on("cpuinfo@2024-08-30", when="@2.5.0")
depends_on("cpuinfo@2023-11-04", when="@2.3:2.4")
depends_on("cpuinfo@2023-01-13", when="@2.1:2.2")
@@ -216,7 +221,8 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage):
depends_on("gloo+libuv", when="@1.6: platform=darwin")
depends_on("nccl", when="+nccl+cuda")
# https://github.com/pytorch/pytorch/issues/60331
# depends_on("onnx@1.16.0", when="@2.3:")
# depends_on("onnx@1.17.0", when="@2.6:")
# depends_on("onnx@1.16.0", when="@2.3:2.5")
# depends_on("onnx@1.15.0", when="@2.2")
# depends_on("onnx@1.14.1", when="@2.1")
# depends_on("onnx@1.13.1", when="@2.0")
@@ -242,7 +248,8 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage):
depends_on("pthreadpool@2020-10-05", when="@1.8")
depends_on("pthreadpool@2020-06-15", when="@1.6:1.7")
with default_args(type=("build", "link", "run")):
depends_on("py-pybind11@2.13.5:", when="@2.5:")
depends_on("py-pybind11@2.13.6:", when="@2.6:")
depends_on("py-pybind11@2.13.5:", when="@2.5")
depends_on("py-pybind11@2.12.0:", when="@2.3:2.4")
depends_on("py-pybind11@2.11.0:", when="@2.1:2.2")
depends_on("py-pybind11@2.10.1:", when="@2.0")
@@ -309,6 +316,14 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage):
conflicts("%gcc@:9.3", when="@2.2:", msg="C++17 support required")
# https://github.com/pytorch/pytorch/issues/146239
patch(
"https://github.com/pytorch/pytorch/pull/140275.patch?full_index=1",
sha256="65f56305a27d47d7065711d1131c6ac1611fabcb55b129c27ed6beabe4b94fe0",
when="@2.6:",
reverse=True,
)
# https://github.com/pytorch/pytorch/issues/90448
patch(
"https://github.com/pytorch/pytorch/pull/97270.patch?full_index=1",
@@ -343,6 +358,9 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage):
# https://github.com/pytorch/pytorch/pull/35607
# https://github.com/pytorch/pytorch/pull/37865
patch("xnnpack.patch", when="@1.5")
# https://github.com/pytorch/pytorch/issues/141083
# https://github.com/google/XNNPACK/commit/5f23827e66cca435fa400b6e221892ac95af0079
patch("xnnpack2.patch", when="@2.6", working_dir="third_party/XNNPACK")
# Fixes build error when ROCm is enabled for pytorch-1.5 release
patch("rocm.patch", when="@1.5+rocm")
@@ -672,6 +690,7 @@ def enable_or_disable(variant, keyword="USE", var=None):
env.set("USE_SYSTEM_FXDIV", "ON")
env.set("USE_SYSTEM_GLOO", "ON")
env.set("USE_SYSTEM_NCCL", "ON")
env.set("USE_SYSTEM_NVTX", "ON")
# https://github.com/pytorch/pytorch/issues/60331
# env.set("USE_SYSTEM_ONNX", "ON")
env.set("USE_SYSTEM_PSIMD", "ON")

View File

@@ -0,0 +1,34 @@
diff --git a/src/reference/unary-elementwise.cc b/src/reference/unary-elementwise.cc
index bd95ded6c..da892d8be 100644
--- a/src/reference/unary-elementwise.cc
+++ b/src/reference/unary-elementwise.cc
@@ -127,6 +127,16 @@ struct ConvertOp {
}
};
+#ifdef XNN_HAVE_FLOAT16
+template <>
+struct ConvertOp<xnn_bfloat16, _Float16> {
+ explicit ConvertOp(const xnn_unary_uparams*) {}
+ _Float16 operator()(xnn_bfloat16 x) const {
+ return static_cast<_Float16>(static_cast<float>(x));
+ }
+};
+#endif
+
template <typename TIn, typename TOut>
const xnn_unary_elementwise_config* get_convert_config(
std::true_type /*input_quantized*/, std::true_type /*output_quantized*/) {
diff --git a/src/xnnpack/simd/s16-neon.h b/src/xnnpack/simd/s16-neon.h
index 4e8ebcfbd..e8392f4e9 100644
--- a/src/xnnpack/simd/s16-neon.h
+++ b/src/xnnpack/simd/s16-neon.h
@@ -70,7 +70,7 @@ static XNN_INLINE void xnn_store_tail_s16(int16_t* output, xnn_simd_s16_t v,
v_low = vget_high_s16(v);
}
if (num_elements & 2) {
- vst1_lane_s32((void*) output, vreinterpret_s32_s16(v_low), 0);
+ vst1_lane_s32((int32_t*) output, vreinterpret_s32_s16(v_low), 0);
output += 2;
v_low = vext_s16(v_low, v_low, 2);
}

View File

@@ -17,6 +17,7 @@ class PyTorchaudio(PythonPackage):
maintainers("adamjstewart")
version("main", branch="main")
version("2.6.0", tag="v2.6.0", commit="d8831425203385077a03c1d92cfbbe3bf2106008")
version("2.5.1", tag="v2.5.1", commit="1661daf10599ca8889f092ec37814fabbe202bb0")
version("2.5.0", tag="v2.5.0", commit="56bc006d56a0d4960de6a1e0b6340cba4eda05cd")
version("2.4.1", tag="v2.4.1", commit="e8cbe17769796ce963fbc71b8990f1474774e6d2")
@@ -66,7 +67,8 @@ class PyTorchaudio(PythonPackage):
with default_args(type=("build", "link", "run")):
# Based on PyPI wheel availability
depends_on("python@3.9:3.12", when="@2.5:")
depends_on("python@3.9:3.13", when="@2.6:")
depends_on("python@3.9:3.12", when="@2.5")
depends_on("python@3.8:3.12", when="@2.2:2.4")
depends_on("python@3.8:3.11", when="@2.0:2.1")
depends_on("python@:3.10", when="@0.12:0")
@@ -74,6 +76,7 @@ class PyTorchaudio(PythonPackage):
depends_on("python@:3.8", when="@:0.7.0")
depends_on("py-torch@main", when="@main")
depends_on("py-torch@2.6.0", when="@2.6.0")
depends_on("py-torch@2.5.1", when="@2.5.1")
depends_on("py-torch@2.5.0", when="@2.5.0")
depends_on("py-torch@2.4.1", when="@2.4.1")
@@ -126,7 +129,7 @@ class PyTorchaudio(PythonPackage):
patch(
"https://github.com/pytorch/audio/pull/3811.patch?full_index=1",
sha256="34dce3403abb03f62827e8a1efcdb2bf7742477a01f155ebb9c7fefe9588b132",
when="@2.2:",
when="@2.2:2.5",
)
conflicts("^cuda@12.5:", when="@:2.1")

View File

@@ -18,6 +18,7 @@ class PyTorchvision(PythonPackage):
license("BSD-3-Clause")
version("main", branch="main")
version("0.21.0", sha256="0a4a967bbb7f9810f792cd0289a07fb98c8fb5d1303fae8b63e3a6b05d720058")
version("0.20.1", sha256="7e08c7f56e2c89859310e53d898f72bccc4987cd83e08cfd6303513da15a9e71")
version("0.20.0", sha256="b59d9896c5c957c6db0018754bbd17d079c5102b82b9be0b438553b40a7b6029")
version("0.19.1", sha256="083e75c467285595ec3eb3c7aa8493c19e53d7eb42f13046fb56a07c8897e5a8")
@@ -85,8 +86,6 @@ class PyTorchvision(PythonPackage):
variant("png", default=True, description=desc.format("PNG"))
variant("jpeg", default=True, description=desc.format("JPEG"))
variant("webp", default=False, description=desc.format("WEBP"), when="@0.20:")
variant("heic", default=False, description=desc.format("HEIC"), when="@0.20:")
variant("avif", default=False, description=desc.format("AVIF"), when="@0.20:")
variant("nvjpeg", default=False, description=desc.format("NVJPEG"))
variant("video_codec", default=False, description=desc.format("video_codec"))
variant("ffmpeg", default=False, description=desc.format("FFMPEG"))
@@ -97,8 +96,8 @@ class PyTorchvision(PythonPackage):
with default_args(type=("build", "link", "run")):
# Based on PyPI wheel availability
depends_on("python@3.9:3.13", when="@0.20:")
depends_on("python@3.8:3.12", when="@0.17:0.19")
depends_on("python@3.9:3.13", when="@0.21:")
depends_on("python@3.8:3.12", when="@0.17:0.20")
depends_on("python@3.8:3.11", when="@0.15:0.16")
depends_on("python@:3.10", when="@0.12:0.14")
depends_on("python@:3.9", when="@0.8.2:0.11")
@@ -106,6 +105,7 @@ class PyTorchvision(PythonPackage):
# https://github.com/pytorch/vision#installation
depends_on("py-torch@main", when="@main")
depends_on("py-torch@2.6.0", when="@0.21.0")
depends_on("py-torch@2.5.1", when="@0.20.1")
depends_on("py-torch@2.5.0", when="@0.20.0")
depends_on("py-torch@2.4.1", when="@0.19.1")
@@ -156,8 +156,6 @@ class PyTorchvision(PythonPackage):
depends_on("libpng@1.6:", when="+png")
depends_on("jpeg", when="+jpeg")
depends_on("libwebp", when="+webp")
depends_on("libheif", when="+heic")
depends_on("libavif", when="+avif")
depends_on("cuda", when="+nvjpeg")
depends_on("cuda", when="+video_codec")
depends_on("ffmpeg@3.1:", when="+ffmpeg")
@@ -214,7 +212,7 @@ def setup_build_environment(self, env):
for gpu in ["cuda", "mps"]:
env.set(f"FORCE_{gpu.upper()}", int(f"+{gpu}" in self.spec["py-torch"]))
extensions = ["png", "jpeg", "webp", "heic", "avif", "nvjpeg", "video_codec", "ffmpeg"]
extensions = ["png", "jpeg", "webp", "nvjpeg", "video_codec", "ffmpeg"]
for extension in extensions:
env.set(f"TORCHVISION_USE_{extension.upper()}", int(f"+{extension}" in self.spec))

View File

@@ -13,6 +13,7 @@ class PyXesmf(PythonPackage):
license("MIT")
version("0.8.8", sha256="8588f83007ce7011379991f516be3691df6fb30486741f0e1c33aa962056ea33")
version("0.8.4", sha256="c5a2c4b3e8dbbc9fccd5772a940f9067d68e824215ef87ba222b06718c4eeb56")
with default_args(type="build"):
@@ -21,9 +22,9 @@ class PyXesmf(PythonPackage):
with default_args(type=("build", "run")):
depends_on("py-cf-xarray@0.5.1:")
# TODO: add optional dependency
# https://github.com/esmf-org/esmf/tree/develop/src/addon/esmpy
# depends_on("py-esmpy@8:")
# esmf +python is only handled correctly in spack for 8.4+
depends_on("esmf@8.4.0: +python")
depends_on("py-numba@0.55.2:")
depends_on("py-numpy@1.16:")
depends_on("py-shapely")

View File

@@ -13,9 +13,6 @@ class RA4(RPackage):
bioc = "a4"
version("1.54.0", commit="56cb1bc42bc4994e42071af04dcb75ebc0b24437")
version("1.52.0", commit="1270e4dd069313355c941c0470cf79352dc55b7f")
version("1.50.1", commit="3dba5687e0d029febfadbafcdcca5e54a4341a5b")
version("1.48.0", commit="89ef9f4afdde5270acecc7c65be3752b71237eba")
version("1.46.0", commit="1b8f1300025fb0940e7f24cff7ffec9fca02d0e4")
version("1.44.0", commit="5b0fc5a9971d8f3688ad1f88a4f5ee1498e91633")

View File

@@ -13,9 +13,6 @@ class RA4base(RPackage):
bioc = "a4Base"
version("1.54.0", commit="e45169b98e872087736bddbbc213fcd1951ed8ce")
version("1.52.0", commit="7312ef9ce99a61742a8c684739ae3e96b4733c02")
version("1.50.0", commit="26439bbad1e79464154cc5eb6adbcc69b3a231a0")
version("1.48.0", commit="26d5793de3163091125feeed1de82e5406777b60")
version("1.46.0", commit="be70ae723bb6031cdf9540d62dc6113761074e88")
version("1.44.0", commit="9ae69e03118c7b14df0e6c9e3b25362b09f25bbe")

View File

@@ -14,9 +14,6 @@ class RA4classif(RPackage):
bioc = "a4Classif"
version("1.54.0", commit="9540e623465e1b67f1f2dc1cb566f47b76952a16")
version("1.52.0", commit="0366c84be3eddd933ed36acc07bd57b1fea4ae4a")
version("1.50.0", commit="1a416537c532a37a46a2719aa591e244cca6e779")
version("1.48.0", commit="1e2ff90d5af6332beac630395a7494c8fd30aff4")
version("1.46.0", commit="96794183a76ab7da7a1863ccd421640254447af5")
version("1.44.0", commit="df0fce781f9bc480a1159d958c9a63c314a9ed01")

View File

@@ -13,9 +13,6 @@ class RA4core(RPackage):
bioc = "a4Core"
version("1.54.0", commit="247927f7b6fdec427fac10291eeb4ebe8d5cb279")
version("1.52.0", commit="13a748dc52233ee90f6ff8f957ecba0b2b0d94d2")
version("1.50.0", commit="efe662190be692270d9bbb2c5e00baf46b23a442")
version("1.48.0", commit="3dd09f0a662745fcfd3fee7048301f3524e8ac5c")
version("1.46.0", commit="8999fe146be6d04ae36c725d2b6324a6ce8ceb83")
version("1.44.0", commit="61a7f3a51a41af615bfd4c22984e4c4a82874e8c")

View File

@@ -13,9 +13,6 @@ class RA4preproc(RPackage):
bioc = "a4Preproc"
version("1.54.0", commit="8b1a156f988e90f2cc8e4c6a17d4ac6452a46ce3")
version("1.52.0", commit="cfc6b6f66815c8d812144266298cab96a3c6c9b2")
version("1.50.0", commit="7f02ff9d1b65409c110ca2b695dceba6231c06cf")
version("1.48.0", commit="d3bf8b82d7cabd2ef77253bb9a741dcde3ca3a41")
version("1.46.0", commit="8463958692c73fd655a6dfec39ea99c915513719")
version("1.44.0", commit="252381265b96b83803a93e0c2014dd6b0574e57f")

View File

@@ -13,9 +13,6 @@ class RA4reporting(RPackage):
bioc = "a4Reporting"
version("1.54.0", commit="87a5a7498541f9fec60983c78d0ade920266e4d9")
version("1.52.0", commit="ce1eea6021b3e829ced7dcef8bf42440344ea8cf")
version("1.50.0", commit="5facc73ff067e1c1fa0e07d20e4151bcefad9b36")
version("1.48.0", commit="de8c4b76f6b7ef502d77d55289df0d64fe70447c")
version("1.46.0", commit="00b82d25bef4d518ae92f615d3a6f7931c0618dc")
version("1.44.0", commit="bfe83507daf53e2e327474ea3012f0dc920efac1")

View File

@@ -16,9 +16,6 @@ class RAbsseq(RPackage):
bioc = "ABSSeq"
version("1.60.0", commit="39efc102aaf3f65155be949ea0e2b4fae112d969")
version("1.58.0", commit="05f507feb439ca16983c24de32fcbd784476be40")
version("1.56.0", commit="60fbebd28c1be53f1d991b46eed5925a27c30f72")
version("1.54.0", commit="5e7de8c2a6532073012660f22243c9f7a5568ef6")
version("1.52.0", commit="07038c047775e17d5d29909927d2143efb63e9cb")
version("1.50.0", commit="4f384d04ebaae6ea0b56e5cff9a9dcdcb6c8afb0")

View File

@@ -21,9 +21,6 @@ class RAcde(RPackage):
bioc = "acde"
version("1.36.0", commit="d779819cf0900a11ce15bd6a80ff794c4b6430a1")
version("1.34.0", commit="e99a19bb1d0c95a574b37376e3471f7dca12b1a3")
version("1.32.0", commit="1f7d0ce5c9c8666a73934bc4c0ec4a3e0db30ec6")
version("1.30.0", commit="4c16b9fd6c91a433bf1345252e022571c4983cb5")
version("1.28.0", commit="0edccca7be2475fa2ae3b3c36d0d64924c37b3c0")
version("1.26.0", commit="dfef9a435062e948efd5eda22942a0d500baa992")

View File

@@ -15,9 +15,6 @@ class RAcgh(RPackage):
bioc = "aCGH"
version("1.84.0", commit="e992a615337d0d2b4c4d369fa9b33f5f3a32ed1c")
version("1.82.0", commit="617c195db8de204f147370dcf1624df2ea48dff4")
version("1.80.0", commit="5ec9dd3644069574dd2ffd81c9ca0ac5d86e3d21")
version("1.78.0", commit="75df3a4839af66ce177d1bbc3cec4ac03c21dc8e")
version("1.76.0", commit="c6068522854ed0b1c3feb006619ef25590f70ad6")
version("1.74.0", commit="e7ba380af0da138788eb6c86f5dbe453269c0810")

View File

@@ -20,9 +20,6 @@ class RAcme(RPackage):
bioc = "ACME"
version("2.62.0", commit="f631445a51969d2f11ed1698e8ad7fc4cee1fbf6")
version("2.60.0", commit="7a1f0e4c6e89d68a3887fba157374892f9dd2c8d")
version("2.58.0", commit="1b192d9040fd42346790d900bf02f6b4c7313696")
version("2.56.0", commit="083af1249e67db11fd471babe67b146eb9c1700c")
version("2.54.0", commit="8d39d9d6623adf427f5eba308790e1de01213870")
version("2.52.0", commit="14a97c722d0201654af9e583e7e462b458c28a77")

View File

@@ -15,9 +15,6 @@ class RAdsplit(RPackage):
bioc = "adSplit"
version("1.76.0", commit="3bfef6d1d8a4e11632aeeadf25a00801564d5949")
version("1.74.0", commit="3df3361641cc343e106525e33bfcea675ec05e3a")
version("1.72.0", commit="194ddb23b683bc8633c9522456acc49c85b369b5")
version("1.70.0", commit="a08a994215a459b856eae051c778e2b9144f52d9")
version("1.68.0", commit="705977b5e1cb7dd69793cc673fa215baaba42af5")
version("1.66.0", commit="64580a6f7a9bc6b16334267c90df48fbb839cc16")

View File

@@ -19,9 +19,6 @@ class RAffxparser(RPackage):
bioc = "affxparser"
version("1.78.0", commit="fab9ee2c921c61e84245601eb19d2b7c5c3acc3e")
version("1.76.0", commit="4f86ff876074195c1de2f4b36d74d98409b7055a")
version("1.74.0", commit="cada520ac224840d0de93d05c8924ad2006d77c3")
version("1.72.0", commit="6e976af32f77835143f6b4e0c01c6016dc1b331c")
version("1.70.0", commit="28f94cd3477e9500942be89cbcb5cad1bbb369fe")
version("1.68.1", commit="821a01a2df18115a3b7864b3f45418255b7123eb")

View File

@@ -14,9 +14,6 @@ class RAffy(RPackage):
bioc = "affy"
version("1.84.0", commit="1174adf7e83ee46603189397cd557044802cda01")
version("1.82.0", commit="fb130de33532f6d15fe99ba02ff35cce07922308")
version("1.80.0", commit="a0d64dfdadfff1a1d7a4c39ba73e843e5e3fc6da")
version("1.78.0", commit="cc7eac358b6e10ee86a7a93d2e436758f6fbd9b5")
version("1.76.0", commit="3bb309388d5d6402c356d4a5270ee83c5b88942f")
version("1.74.0", commit="2266c4a46eda7e5b64f7f3e17e8b61e7b85579ff")
@@ -30,7 +27,6 @@ class RAffy(RPackage):
depends_on("c", type="build") # generated
depends_on("r@2.8.0:", type=("build", "run"))
depends_on("r@2.8.0:4.0", type=("build", "run"), when="@:1.68.0")
depends_on("r-biocgenerics@0.1.12:", type=("build", "run"))
depends_on("r-biobase@2.5.5:", type=("build", "run"))

View File

@@ -13,9 +13,6 @@ class RAffycomp(RPackage):
bioc = "affycomp"
version("1.82.0", commit="646461c2af419067de1d95691ca27e2ace50a436")
version("1.80.0", commit="2b69f9c6ec9f7c90287e254ba5bb9d658ce5820f")
version("1.78.0", commit="65cc8f00be57876705853adf0670b05a4ed6bf12")
version("1.76.0", commit="8bfc628de26a739c5e0cb47aa22bfda7c8d0a922")
version("1.74.0", commit="1160d6395f23085456938ba2bd38fb45597fc92f")
version("1.72.0", commit="c52baea98b80abd4a99380ac9d4b68ef91869d40")

View File

@@ -13,9 +13,6 @@ class RAffycontam(RPackage):
bioc = "affyContam"
version("1.64.0", commit="c7cf836b166f981f9d87bf38cb2d8e2a6ab1bf6b")
version("1.62.0", commit="b0ced2ce1dff00e6eab4f0e091cebd6994298588")
version("1.60.0", commit="f2e21b7d4d700e135ae3bd0fa3531e001a7aa950")
version("1.58.0", commit="5e91d79d7653a4f484b62eae7fd7e908de8cb9b6")
version("1.56.0", commit="e2b8a4fba1648255eadce954a848f2dd8e22bcb3")
version("1.54.0", commit="c5208b48b8881983ff53a4713244327e8ad13b78")

View File

@@ -14,9 +14,6 @@ class RAffycoretools(RPackage):
bioc = "affycoretools"
version("1.78.0", commit="2eb1cc5d748832ecd4f8e610397b43c88099ccd4")
version("1.76.0", commit="4733a16c9629a62c5dc6fb3fef3a6e6def049a02")
version("1.74.0", commit="c04ad6fe6a8809b769bdff4cefb6d47a23e7a891")
version("1.72.0", commit="229ae09efc1a66e64ea395019c32d16387bf81ac")
version("1.70.0", commit="f09a788aa83e1e052a7c5f148a451a99fe9c9c96")
version("1.68.1", commit="69546b1fe5edd71eca130d53d33f0fb0fcf62c97")

View File

@@ -14,9 +14,6 @@ class RAffydata(RPackage):
bioc = "affydata"
version("1.54.0", commit="b3765c212d7721c189cd7326c18c4141b5227da0")
version("1.52.0", commit="54b35381b1b13161e0d0ef10627efc26ed8dc0c5")
version("1.50.0", commit="203e040f737bdeb65d8cd2123dc76036f23e4e3a")
version("1.48.0", commit="037b86c86c114761ff1bcca64ab4e0bcd68063d3")
version("1.46.0", commit="870745b886df9f1fbbd6130d266c0ef96f3afa66")
version("1.44.0", commit="f18304a356cee8cd7297bab362b13c40e50439df")

View File

@@ -14,7 +14,6 @@ class RAffyexpress(RPackage):
bioc = "AffyExpress"
version("1.58.0", commit="3b0f72dc19d923a87cc462673d933e58760a9cc9")
version("1.56.0", commit="e07085833de2bbf81537410cad526d39f8a82478")
version("1.50.0", commit="8b98703b63396df9692afb0e15b594658125cc96")
version("1.48.0", commit="dbaed516b7529ef4f7588aafaf3c5f1d53a9bb92")

View File

@@ -15,9 +15,6 @@ class RAffyilm(RPackage):
bioc = "affyILM"
version("1.58.0", commit="0ceee74b89a9e2dcd8793371cb37e60a9c9a79da")
version("1.56.0", commit="ee6044051fce374b0c7ec858e5d300bba28cfafa")
version("1.54.0", commit="4586915a1be400f54e37506ebc1ddffb91480e89")
version("1.52.0", commit="08ed8c60921ba1b9e04fa90e156eef1a3c899d15")
version("1.50.0", commit="185cd8e4712a3378ce7a156d4940224bbb2c4122")
version("1.48.0", commit="4603a4c4d6c2330a8a56a7bb657dc56c51a9393a")

View File

@@ -14,9 +14,6 @@ class RAffyio(RPackage):
bioc = "affyio"
version("1.76.0", commit="ed8b074ada05f3b3eeba3032b1214179e3034a42")
version("1.74.0", commit="1d0948e7a76a00da985b9fdd38d36fa0ca85c2af")
version("1.72.0", commit="2f97a7e3710e44886b0b732d1c0dbb3165e9b84c")
version("1.70.0", commit="95560567e27088863c64e868a8e5069fc725b8d7")
version("1.68.0", commit="33080c5eeb14c0ca40f0d231706af4e0c2c1ef8b")
version("1.66.0", commit="3a0b90704fc46cddd99a72b985a6bdb348f69b50")
@@ -31,6 +28,5 @@ class RAffyio(RPackage):
depends_on("c", type="build") # generated
depends_on("r@2.6.0:", type=("build", "run"))
depends_on("r-zlibbioc", type=("build", "run"))
depends_on("zlib-api")
depends_on("r-zlibbioc", type=("build", "run"), when="@:1.77.0")

View File

@@ -13,8 +13,6 @@ class RAffypdnn(RPackage):
bioc = "affypdnn"
version("1.62.0", commit="22a6e97303bd60c8b365b51c38e4312d5b7ee995")
version("1.60.0", commit="9f8998fa4405fbbaea6f7a7eb6d3c1b29c3f5e09")
version("1.58.0", commit="83d8b6b0d9606845bd77dbf7164dd5b160f32ccf")
version("1.56.0", commit="5fd9c5265fb895a1f646cf72e8d5169669d979f2")
version("1.54.0", commit="ea971b1b9cc443695a6614bef92e8e116ee87d55")

View File

@@ -16,9 +16,6 @@ class RAffyplm(RPackage):
bioc = "affyPLM"
version("1.82.0", commit="16d738761d115c14f72a083266e501edb72ce548")
version("1.80.0", commit="b0584edcaba058d5cfb06d64e22a4859c7d15b60")
version("1.78.0", commit="1fa54e253098269e93b3e8f88bc592041b855334")
version("1.76.0", commit="45557df5a32f56aa5240439737c5718738fb4c27")
version("1.74.0", commit="5f76ef92e69deabc19c5395eaec4adb85c66b63d")
version("1.72.0", commit="394c0a8e213f188d0b1d01e20516df8bf1bc5c09")

View File

@@ -14,7 +14,6 @@ class RAffyqcreport(RPackage):
bioc = "affyQCReport"
version("1.70.0", commit="9e49c8c376d8b1d79981628920e5adc238bddeca")
version("1.68.0", commit="34b42a16f87a90a595146f4a1802ed04f6bfccca")
version("1.62.0", commit="92d4124b688b90a6a9b8a21ab9d13d92b368cee4")
version("1.60.0", commit="d0c15b1c56fc1caf6f114877ea6c1b8483a0dcfa")

View File

@@ -17,9 +17,6 @@ class RAffyrnadegradation(RPackage):
bioc = "AffyRNADegradation"
version("1.52.0", commit="14b087a0fbe2796398ceaebe6232553bce90a2f1")
version("1.50.0", commit="2be3cbcdb710b069e82610c123c73a4cc4651a30")
version("1.48.0", commit="dfc274be6d53250bc516c9772022c771706c7545")
version("1.46.0", commit="431ae61c9b3809829697ef71672c57171d93311e")
version("1.44.0", commit="63881f41fc67cc7322b189446dcffb4e1060e303")
version("1.42.0", commit="5775f41f538b3c8ee4d07d38cec1b49c548cebe6")

View File

@@ -13,9 +13,6 @@ class RAgdex(RPackage):
bioc = "AGDEX"
version("1.54.0", commit="0dc73a6f55bf53ddea0689df48dc72d4983faf87")
version("1.52.0", commit="69fe01a6ce7045afe612daea363365b6deaeaed7")
version("1.50.0", commit="5b2ecdae7bbafee5c48de5b7181a55bda95143ba")
version("1.48.0", commit="917920b397493b0ea40093044ebe36fff7c389ad")
version("1.46.0", commit="d7c38e8bdcaa7b0261117c605e7f61e2b07e8316")
version("1.44.0", commit="9d3eb90eaf7bf093c7fa73facb3df89506a85185")

View File

@@ -12,9 +12,6 @@ class RAgilp(RPackage):
bioc = "agilp"
version("3.38.0", commit="5ed3359c61678afed7709bd3795702b9e94f46f3")
version("3.36.0", commit="204ae1003390b0b4efa5aa7d43f96c256e59fc9e")
version("3.34.0", commit="12c94ca5c5c1b6bc909571c1bee897a6268d9e39")
version("3.32.0", commit="8291f7b7c1b6167952568f51593116afc6d0fc27")
version("3.30.0", commit="a2c898dc901ccdda4b8582caff079ab20b1bfc28")
version("3.28.0", commit="2c6dfccc76473b5bef13b75fa59adf46b3381f55")

View File

@@ -13,9 +13,6 @@ class RAgimicrorna(RPackage):
bioc = "AgiMicroRna"
version("2.56.0", commit="5e277127c2557b8cff752d3fca9f3a41b373d497")
version("2.54.0", commit="2c8850f9b62308a3932d74548689b24741347bab")
version("2.52.0", commit="73e65fb29170d1bee3b849f82a25ae7da3c6cd3b")
version("2.50.0", commit="a812b0f4f215b093ca685889b65de60c6701b695")
version("2.48.0", commit="4c163b1b730150a3a60a3815bd8c08fa04d71fc1")
version("2.46.0", commit="8c6d73e1c3f1f9cc019bdb219b19e6179bb1efe4")

View File

@@ -16,9 +16,6 @@ class RAims(RPackage):
bioc = "AIMS"
version("1.38.0", commit="b7d238e6573f1921a4f255f9c7cd673a31482c1c")
version("1.36.0", commit="8c8f6120501a37595034c1c1759ccfb751e995e1")
version("1.34.0", commit="61910444b05ce6e438467177202a93046c700e32")
version("1.32.0", commit="019415a6362e805465d43c157606e1774aed9e51")
version("1.30.0", commit="2ab61159c5aa0902cc33fc1502f7853b66912cce")
version("1.28.0", commit="84608df638b5694c08158ed77ad2c8a64c4e594b")

View File

@@ -24,9 +24,6 @@ class RAldex2(RPackage):
license("GPL-3.0-only")
version("1.38.0", commit="701515c185aa747e53c863afbb3730a9a331e242")
version("1.36.0", commit="c7a4c4bfc66baba750ef58163193f6b53830cf9b")
version("1.34.0", commit="eda12f9208ed90e9e2c2d6a47415a5c73c107e4b")
version("1.32.0", commit="ba32b9a9b6a8f42906ea094318f00116f15e42eb")
version("1.30.0", commit="cb6670515a8722f9cfedac12a8c2747a5298ee46")
version("1.28.1", commit="f8d8ba6d2439bff75ab80f5466c9a047c31ed0a6")

View File

@@ -13,9 +13,6 @@ class RAllelicimbalance(RPackage):
bioc = "AllelicImbalance"
version("1.44.0", commit="c46bcc17963050a7fd01a23615de796fd3e8bd4b")
version("1.42.0", commit="4dc686c08a02d051ba1d8e82c909c2c751dc5613")
version("1.40.0", commit="e3fc91108af4816a237b588b23cc40133f6eee30")
version("1.38.0", commit="75a3b0fefe635a0892eae338d0fdd4a9e091f957")
version("1.36.0", commit="cb4910c1fd58cc4272c21251a8f120990e1aa431")
version("1.34.0", commit="290708ccc4ceae1fbb9e9257cb254916449d389b")

View File

@@ -18,7 +18,6 @@ class RAlsace(RPackage):
bioc = "alsace"
version("1.30.0", commit="d0e09b283da2b4869d5d6e6801399676246bc5bc")
version("1.28.0", commit="03344a1f12a5c86e61a8d69b68d9d16c3ed07561")
version("1.26.0", commit="40a76404acb1466723a78a55d87c67eec3e6f306")
version("1.20.0", commit="47f1cf8daafc864e5e3418009f349ce85d6b0389")
version("1.18.0", commit="c9fc43c7b441de43b14ef1be69926c4c4a566191")

View File

@@ -12,9 +12,6 @@ class RAltcdfenvs(RPackage):
bioc = "altcdfenvs"
version("2.68.0", commit="53038c86c7c743272e00a71b5fcb4252b068cf13")
version("2.66.0", commit="34a3f5bc0b36543e20de6dd2035db3776677e8e2")
version("2.64.0", commit="86cec42b52c7b2450ae6dbc7b0ab73a98c32fc3b")
version("2.62.0", commit="aedf0e9f98639d60b327e50957e504cf24b64bbb")
version("2.60.0", commit="0bc0b4493b8e9fe2eb47fb8e9377123ce8f472bb")
version("2.58.0", commit="08255a777ffa1e1414d3dd3062d95bfdd3dfd47c")

Some files were not shown because too many files have changed in this diff Show More