Compare commits

...

47 Commits

Author SHA1 Message Date
Bernhard Kaindl
cc0fed4539 linux-pam: Fix build with newer glibc versions
Older versions of `linux-pam` use rpc/rpc.h which no longer
exists on current Linux systems. Update to the current PAM
release and fix its build on Ubuntu 22.04.

As PAM is a Linux-specific library, the build on Darwin is
not meaningful, fails and would fail on Windows as well.
Add conflicts for both as appropriate to fix GitLab CI.
2023-10-12 09:36:54 +00:00
Massimiliano Culpo
26f291ef25 spack buildcache: fix a typo in a function call (#40446)
fixes #40415
2023-10-11 13:09:21 +02:00
Martin Aumüller
da030617a1 botan: checksum 3.2.0 (#40417) 2023-10-10 21:52:51 -06:00
Martin Aumüller
1ebfcd3b18 openvkl: add 1.3.2 (#40392)
* openvkl: add 1.3.2

works with (and requires) embree@4

* openvkl: simplify formatting with f-string

thank you for the suggestion in the review
2023-10-10 21:24:17 -06:00
Edward Hartnett
d385a57da3 w3emc: add v2.11.0 (#40376)
* added version 2.11.0

* more fixes
2023-10-10 15:11:14 -07:00
eugeneswalker
37df8bfc73 e4s arm stack: duplicate and target neoverse v1 (#40369)
* e4s arm stack: duplicate and target both neoverse n1, v1

* remove neoverse_n1 target until issue #40397 is resolved
2023-10-10 14:32:51 -07:00
Adam J. Stewart
b781a530a1 GCC: fix build with Apple Clang 15 (#40318) 2023-10-10 22:35:15 +02:00
Harmen Stoppels
390b0aa25c More helpful error when patch lookup fails (#40379) 2023-10-10 21:09:04 +02:00
Adam J. Stewart
620835e30c py-jupyter-packaging: remove duplicate packages (#38671)
* py-jupyter-packaging: remove duplicate packages

* Allow py-jupyter-packaging to be duplicated in DAG

* Deprecate version of py-jupyterlab that requires py-jupyter-packaging at run-time
2023-10-10 13:50:22 -05:00
Adam J. Stewart
da10487219 Update PyTorch ecosystem (#40321)
* Update PyTorch ecosystem

* py-pybind11: better documentation of supported compilers

* py-torchdata: add v0.7.0

* Black fixes

* py-torchtext: fix Python reqs

* py-horovod: py-torch 2.1.0 not yet supported
2023-10-10 13:45:32 -05:00
Miroslav Stoyanov
4d51810888 find rocm fix (#40388)
* find rocm fix
* format fix
* style fix
* formatting is broken
2023-10-10 10:42:26 -07:00
Harmen Stoppels
6c7b2e1056 git: optimize build by not setting CFLAGS (#40387) 2023-10-10 11:48:06 +02:00
Carlos Bederián
749e99bf11 python: add 3.11.6 (#40384) 2023-10-10 09:53:04 +02:00
Martin Aumüller
6db8e0a61e embree: checksum 4.3.0 (#40395) 2023-10-09 20:44:10 -06:00
Martin Aumüller
6fe914421a rkcommon: checksum 0.11.0 (#40391) 2023-10-09 20:43:56 -06:00
Andrew W Elble
9275f180bb openmm: new version 8.0.0 (#40396) 2023-10-09 20:33:40 -06:00
Tom Epperly
2541b42fc2 Add a new release sha256 hash (#37680) 2023-10-09 20:28:45 -06:00
Auriane R
fb340f130b Add pika 0.19.1 (#40385) 2023-10-09 20:23:54 -06:00
Dennis Klein
d2ddd99ef6 libzmq: add v4.3.5 (#40383) 2023-10-09 17:30:46 -06:00
kenche-linaro
492a8111b9 linaro-forge: added package file for rebranded product (#39587) 2023-10-09 12:14:14 -07:00
George Young
d846664165 paintor: new package @3.0 (#40359)
* paintor: new package @3.0
* Update var/spack/repos/builtin/packages/paintor/package.py
---------

Co-authored-by: LMS Bioinformatics <bioinformatics@lms.mrc.ac.uk>
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2023-10-09 09:54:44 -07:00
Vanessasaurus
31b3e4898b Add: flux-pmix 0.4.0 (#40323)
* Automated deployment to update package flux-pmix 2023-10-05

* Pin exactly to flux-core 0.49.0 when between 0.3 and 0.4

* Update var/spack/repos/builtin/packages/flux-pmix/package.py

Co-authored-by: Mark Grondona <mark.grondona@gmail.com>

* Update var/spack/repos/builtin/packages/flux-pmix/package.py

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>

---------

Co-authored-by: github-actions <github-actions@users.noreply.github.com>
Co-authored-by: Mark Grondona <mark.grondona@gmail.com>
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2023-10-09 09:29:18 -07:00
Harmen Stoppels
82f1267486 unparse: drop python 3.3 remnants (#40331) 2023-10-09 08:22:27 -07:00
Harmen Stoppels
19202b2528 docs: update Spack prerequisites (#40381) 2023-10-09 13:41:36 +00:00
Adam J. Stewart
831cbec71f py-pydevtool: add new package (#40377) 2023-10-09 15:09:59 +02:00
Patrick Broderick
bb2ff802e2 fftx: add v1.1.3 (#40283) 2023-10-09 15:06:59 +02:00
dependabot[bot]
83e9537f57 build(deps): bump python-levenshtein in /lib/spack/docs (#40220)
Bumps [python-levenshtein](https://github.com/maxbachmann/python-Levenshtein) from 0.21.1 to 0.22.0.
- [Release notes](https://github.com/maxbachmann/python-Levenshtein/releases)
- [Changelog](https://github.com/maxbachmann/python-Levenshtein/blob/main/HISTORY.md)
- [Commits](https://github.com/maxbachmann/python-Levenshtein/compare/v0.21.1...v0.22.0)

---
updated-dependencies:
- dependency-name: python-levenshtein
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-09 15:02:14 +02:00
Gavin John
3488e83deb py-s3cmd: Add new versions (#40212)
* Add new versions of py-s3cmd

* Use correct hashes
2023-10-09 07:46:38 -05:00
Jacob King
c116eee921 nimrod-aai: add v23.9. (#40303) 2023-10-09 14:39:40 +02:00
Adam J. Stewart
9cb291b41b py-jsonargparse: add v4.25.0 (#40185) 2023-10-09 14:33:45 +02:00
Thomas Dickerson
c0f1072dc7 racket packages: fix typo after multiple build systems support (#40088) 2023-10-09 14:21:13 +02:00
Jordan Galby
3108036533 elfutils: fix +debuginfod again with new libarchive versions (#40314) 2023-10-09 14:17:58 +02:00
Mike Renfro
215c699307 velvet: improved variants (#40225) 2023-10-09 12:47:54 +02:00
jmuddnv
f609093c6e Adding NVIDIA HPC SDK 23.9 (#40371) 2023-10-09 12:35:59 +02:00
Joe Schoonover
eb4fd98f09 feq-parse: add v2.0.3 (#40230) 2023-10-09 12:31:23 +02:00
Harmen Stoppels
08da9a854a parser: use non-capturing groups (#40373) 2023-10-09 07:18:27 +02:00
Mark (he/his) C. Miller
3a18fe04cc Update CITATION.cff with conf dates (#40375)
Add `start-date` and `end-date` to citation
2023-10-08 18:04:25 -07:00
Harmen Stoppels
512e41a84a py-setuptools: sdist + rpath patch backport (#40205) 2023-10-08 11:47:36 -06:00
Alex Richert
8089aedde1 gettext: Add static and pic options (#37957) 2023-10-08 17:42:21 +02:00
Manuela Kuhn
6b9e103305 py-tables: add 3.9.0 (#40340)
* py-tables: add 3.9.0

* Add conflict with apple-clang
2023-10-08 10:28:13 -05:00
Jen Herting
00396fbe6c [py-tokenizers] added version 0.13.3 (#40360) 2023-10-08 10:27:18 -05:00
Jen Herting
a3be9cb853 [py-tensorboardx] Added version 2.6.2.2 (#39731)
* [py-tensorboardx] Added version 2.6.2.2

* [py-tensorboardx] flake8

* [py-tensorboardx] requires py-setuptools-scm
2023-10-08 10:21:55 -05:00
Jen Herting
81f58229ab py-torch-sparse: add v0.6.17 (#39495)
* [py-torch-sparse] New version 0.6.17

* [py-torch-sparse] added dependency on parallel-hashmap

* [py-torch-sparse]

- spack only supports python@3.7:
- py-pytest-runner only needed with old versions
2023-10-08 10:20:46 -05:00
Jen Herting
2eb16a8ea2 [py-lvis] New package (#39080)
* [py-lvis] New package

* [py-lvis] flake8

* [py-lvis] os agnostic

* [py-lvis] added comment for imported dependency

* [py-lvis] style fix
2023-10-08 10:18:01 -05:00
Manuela Kuhn
9db782f8d9 py-bids-validator: add 1.13.1 (#40356)
* py-bids-validator: add 1.13.1

* Fix style
2023-10-08 10:16:08 -05:00
Lydéric Debusschère
633df54520 [add] py-cylc-flow: new recipe (#39986)
* [add] py-cylc-flow: new recipe

* py-cylc-flow: fix py-protobuf version

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

* py-cylc-flow: fix py-colorama version

Co-authored-by: Manuela Kuhn <36827019+manuelakuhn@users.noreply.github.com>

* py-cylc-flow: Update dependence on py-aiofiles

Co-authored-by: Manuela Kuhn <36827019+manuelakuhn@users.noreply.github.com>

* py-cylc-flow: Update dependence on py-pyzmq

Co-authored-by: Manuela Kuhn <36827019+manuelakuhn@users.noreply.github.com>

* py-cylcflow: remove useless dependence

* py-cylc-flow: fix indent

* py-cylc-flow: fix argument in depends_on; move lines

* py-cylc-flow: fix the type of the dependence py-setuptools

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Manuela Kuhn <36827019+manuelakuhn@users.noreply.github.com>
Co-authored-by: LydDeb <lyderic.debusschere.tgcc@cea.fr>
2023-10-08 10:06:13 -05:00
Mark (he/his) C. Miller
e2a7f2ee9a Update CITATION.cff (#40363)
You will note the `Cite this repository` link is not working.

This commit fixes the underlying file...

* `authors` was not indented
* `authors` required by `preferred-citation`
* `authors` list required at top level (I simply duplicated)
* `"USA"` not correct country code
* `month` requires an integer month number
* Added URL to the actual pdf of the cited paper
* Used `identifiers` for doi and LLNL doc number
* added `abstract` copied from paper

Various fixes were confirmed by `cffconvert` using `docker run -v `pwd`:/app citationcff/cffconvert --validate`
2023-10-07 17:44:31 -07:00
76 changed files with 867 additions and 613 deletions

View File

@@ -27,12 +27,53 @@
# And here's the CITATION.cff format:
#
cff-version: 1.2.0
type: software
message: "If you are referencing Spack in a publication, please cite the paper below."
title: "The Spack Package Manager: Bringing Order to HPC Software Chaos"
abstract: >-
Large HPC centers spend considerable time supporting software for thousands of users, but the complexity of HPC software is quickly outpacing the capabilities of existing software management tools.
Scientific applications require specific versions of compilers, MPI, and other dependency libraries, so using a single, standard software stack is infeasible.
However, managing many configurations is difficult because the configuration space is combinatorial in size.
We introduce Spack, a tool used at Lawrence Livermore National Laboratory to manage this complexity.
Spack provides a novel, re- cursive specification syntax to invoke parametric builds of packages and dependencies.
It allows any number of builds to coexist on the same system, and it ensures that installed packages can find their dependencies, regardless of the environment.
We show through real-world use cases that Spack supports diverse and demanding applications, bringing order to HPC software chaos.
preferred-citation:
title: "The Spack Package Manager: Bringing Order to HPC Software Chaos"
type: conference-paper
doi: "10.1145/2807591.2807623"
url: "https://github.com/spack/spack"
url: "https://tgamblin.github.io/pubs/spack-sc15.pdf"
authors:
- family-names: "Gamblin"
given-names: "Todd"
- family-names: "LeGendre"
given-names: "Matthew"
- family-names: "Collette"
given-names: "Michael R."
- family-names: "Lee"
given-names: "Gregory L."
- family-names: "Moody"
given-names: "Adam"
- family-names: "de Supinski"
given-names: "Bronis R."
- family-names: "Futral"
given-names: "Scott"
conference:
name: "Supercomputing 2015 (SC15)"
city: "Austin"
region: "Texas"
country: "US"
date-start: 2015-11-15
date-end: 2015-11-20
month: 11
year: 2015
identifiers:
- description: "The concept DOI of the work."
type: doi
value: 10.1145/2807591.2807623
- description: "The DOE Document Release Number of the work"
type: other
value: "LLNL-CONF-669890"
authors:
- family-names: "Gamblin"
given-names: "Todd"
- family-names: "LeGendre"
@@ -47,12 +88,3 @@ preferred-citation:
given-names: "Bronis R."
- family-names: "Futral"
given-names: "Scott"
title: "The Spack Package Manager: Bringing Order to HPC Software Chaos"
conference:
name: "Supercomputing 2015 (SC15)"
city: "Austin"
region: "Texas"
country: "USA"
month: November 15-20
year: 2015
notes: LLNL-CONF-669890

View File

@@ -2,7 +2,7 @@ sphinx==7.2.6
sphinxcontrib-programoutput==0.17
sphinx_design==0.5.0
sphinx-rtd-theme==1.3.0
python-levenshtein==0.21.1
python-levenshtein==0.22.0
docutils==0.18.1
pygments==2.16.1
urllib3==2.0.6

View File

@@ -1,9 +1,8 @@
Name, Supported Versions, Notes, Requirement Reason
Python, 3.6--3.11, , Interpreter for Spack
Python, 3.6--3.12, , Interpreter for Spack
C/C++ Compilers, , , Building software
make, , , Build software
patch, , , Build software
bash, , , Compiler wrappers
tar, , , Extract/create archives
gzip, , , Compress/Decompress archives
unzip, , , Compress/Decompress archives
1 Name Supported Versions Notes Requirement Reason
2 Python 3.6--3.11 3.6--3.12 Interpreter for Spack
3 C/C++ Compilers Building software
4 make Build software
5 patch Build software
bash Compiler wrappers
6 tar Extract/create archives
7 gzip Compress/Decompress archives
8 unzip Compress/Decompress archives

View File

@@ -64,7 +64,7 @@ class RacketBuilder(spack.builder.Builder):
@property
def subdirectory(self):
if self.racket_name:
if self.pkg.racket_name:
return "pkgs/{0}".format(self.pkg.racket_name)
return None

View File

@@ -268,7 +268,7 @@ def _matching_specs(specs: List[Spec]) -> List[Spec]:
return [spack.cmd.disambiguate_spec(s, ev.active_environment(), installed=any) for s in specs]
def push_fn(args):
def push_fn(args: argparse.Namespace):
"""create a binary package and push it to a mirror"""
if args.spec_file:
tty.warn(
@@ -414,7 +414,7 @@ def preview_fn(args):
)
def check_fn(args):
def check_fn(args: argparse.Namespace):
"""check specs against remote binary mirror(s) to see if any need to be rebuilt
this command uses the process exit code to indicate its result, specifically, if the
@@ -429,7 +429,7 @@ def check_fn(args):
specs = spack.cmd.parse_specs(args.spec or args.spec_file)
if specs:
specs = _matching_specs(specs, specs)
specs = _matching_specs(specs)
else:
specs = spack.cmd.require_active_env("buildcache check").all_specs()

View File

@@ -73,10 +73,10 @@
#: Valid name for specs and variants. Here we are not using
#: the previous "w[\w.-]*" since that would match most
#: characters that can be part of a word in any language
IDENTIFIER = r"([a-zA-Z_0-9][a-zA-Z_0-9\-]*)"
DOTTED_IDENTIFIER = rf"({IDENTIFIER}(\.{IDENTIFIER})+)"
GIT_HASH = r"([A-Fa-f0-9]{40})"
GIT_VERSION = rf"((git\.({DOTTED_IDENTIFIER}|{IDENTIFIER}))|({GIT_HASH}))"
IDENTIFIER = r"(?:[a-zA-Z_0-9][a-zA-Z_0-9\-]*)"
DOTTED_IDENTIFIER = rf"(?:{IDENTIFIER}(?:\.{IDENTIFIER})+)"
GIT_HASH = r"(?:[A-Fa-f0-9]{40})"
GIT_VERSION = rf"(?:(?:git\.(?:{DOTTED_IDENTIFIER}|{IDENTIFIER}))|(?:{GIT_HASH}))"
NAME = r"[a-zA-Z_0-9][a-zA-Z_0-9\-.]*"
@@ -85,15 +85,15 @@
#: A filename starts either with a "." or a "/" or a "{name}/,
# or on Windows, a drive letter followed by a colon and "\"
# or "." or {name}\
WINDOWS_FILENAME = r"(\.|[a-zA-Z0-9-_]*\\|[a-zA-Z]:\\)([a-zA-Z0-9-_\.\\]*)(\.json|\.yaml)"
UNIX_FILENAME = r"(\.|\/|[a-zA-Z0-9-_]*\/)([a-zA-Z0-9-_\.\/]*)(\.json|\.yaml)"
WINDOWS_FILENAME = r"(?:\.|[a-zA-Z0-9-_]*\\|[a-zA-Z]:\\)(?:[a-zA-Z0-9-_\.\\]*)(?:\.json|\.yaml)"
UNIX_FILENAME = r"(?:\.|\/|[a-zA-Z0-9-_]*\/)(?:[a-zA-Z0-9-_\.\/]*)(?:\.json|\.yaml)"
if not IS_WINDOWS:
FILENAME = UNIX_FILENAME
else:
FILENAME = WINDOWS_FILENAME
VALUE = r"([a-zA-Z_0-9\-+\*.,:=\~\/\\]+)"
QUOTED_VALUE = r"[\"']+([a-zA-Z_0-9\-+\*.,:=\~\/\\\s]+)[\"']+"
VALUE = r"(?:[a-zA-Z_0-9\-+\*.,:=\~\/\\]+)"
QUOTED_VALUE = r"[\"']+(?:[a-zA-Z_0-9\-+\*.,:=\~\/\\\s]+)[\"']+"
VERSION = r"=?([a-zA-Z0-9_][a-zA-Z_0-9\-\.]*\b)"
VERSION_RANGE = rf"({VERSION}\s*:\s*{VERSION}(?!\s*=)|:\s*{VERSION}(?!\s*=)|{VERSION}\s*:|:)"
@@ -125,34 +125,34 @@ class TokenType(TokenBase):
"""
# Dependency
DEPENDENCY = r"(\^)"
DEPENDENCY = r"(?:\^)"
# Version
VERSION_HASH_PAIR = rf"(@({GIT_VERSION})=({VERSION}))"
VERSION = rf"(@\s*({VERSION_LIST}))"
VERSION_HASH_PAIR = rf"(?:@(?:{GIT_VERSION})=(?:{VERSION}))"
VERSION = rf"(?:@\s*(?:{VERSION_LIST}))"
# Variants
PROPAGATED_BOOL_VARIANT = rf"((\+\+|~~|--)\s*{NAME})"
BOOL_VARIANT = rf"([~+-]\s*{NAME})"
PROPAGATED_KEY_VALUE_PAIR = rf"({NAME}\s*==\s*({VALUE}|{QUOTED_VALUE}))"
KEY_VALUE_PAIR = rf"({NAME}\s*=\s*({VALUE}|{QUOTED_VALUE}))"
PROPAGATED_BOOL_VARIANT = rf"(?:(?:\+\+|~~|--)\s*{NAME})"
BOOL_VARIANT = rf"(?:[~+-]\s*{NAME})"
PROPAGATED_KEY_VALUE_PAIR = rf"(?:{NAME}\s*==\s*(?:{VALUE}|{QUOTED_VALUE}))"
KEY_VALUE_PAIR = rf"(?:{NAME}\s*=\s*(?:{VALUE}|{QUOTED_VALUE}))"
# Compilers
COMPILER_AND_VERSION = rf"(%\s*({NAME})([\s]*)@\s*({VERSION_LIST}))"
COMPILER = rf"(%\s*({NAME}))"
COMPILER_AND_VERSION = rf"(?:%\s*(?:{NAME})(?:[\s]*)@\s*(?:{VERSION_LIST}))"
COMPILER = rf"(?:%\s*(?:{NAME}))"
# FILENAME
FILENAME = rf"({FILENAME})"
FILENAME = rf"(?:{FILENAME})"
# Package name
FULLY_QUALIFIED_PACKAGE_NAME = rf"({DOTTED_IDENTIFIER})"
UNQUALIFIED_PACKAGE_NAME = rf"({IDENTIFIER})"
FULLY_QUALIFIED_PACKAGE_NAME = rf"(?:{DOTTED_IDENTIFIER})"
UNQUALIFIED_PACKAGE_NAME = rf"(?:{IDENTIFIER})"
# DAG hash
DAG_HASH = rf"(/({HASH}))"
DAG_HASH = rf"(?:/(?:{HASH}))"
# White spaces
WS = r"(\s+)"
WS = r"(?:\s+)"
class ErrorTokenType(TokenBase):
"""Enum with regexes for error analysis"""
# Unexpected character
UNEXPECTED = r"(.[\s]*)"
UNEXPECTED = r"(?:.[\s]*)"
class Token:

View File

@@ -312,21 +312,19 @@ def from_json(cls, stream, repository):
def to_json(self, stream):
sjson.dump({"patches": self.index}, stream)
def patch_for_package(self, sha256, pkg):
def patch_for_package(self, sha256: str, pkg):
"""Look up a patch in the index and build a patch object for it.
Arguments:
sha256 (str): sha256 hash to look up
sha256: sha256 hash to look up
pkg (spack.package_base.PackageBase): Package object to get patch for.
We build patch objects lazily because building them requires that
we have information about the package's location in its repo.
"""
we have information about the package's location in its repo."""
sha_index = self.index.get(sha256)
if not sha_index:
raise NoSuchPatchError(
"Couldn't find patch for package %s with sha256: %s" % (pkg.fullname, sha256)
raise PatchLookupError(
f"Couldn't find patch for package {pkg.fullname} with sha256: {sha256}"
)
# Find patches for this class or any class it inherits from
@@ -335,8 +333,8 @@ def patch_for_package(self, sha256, pkg):
if patch_dict:
break
else:
raise NoSuchPatchError(
"Couldn't find patch for package %s with sha256: %s" % (pkg.fullname, sha256)
raise PatchLookupError(
f"Couldn't find patch for package {pkg.fullname} with sha256: {sha256}"
)
# add the sha256 back (we take it out on write to save space,
@@ -405,5 +403,9 @@ class NoSuchPatchError(spack.error.SpackError):
"""Raised when a patch file doesn't exist."""
class PatchLookupError(NoSuchPatchError):
"""Raised when a patch file cannot be located from sha256."""
class PatchDirectiveError(spack.error.SpackError):
"""Raised when the wrong arguments are suppled to the patch directive."""

View File

@@ -74,6 +74,7 @@
import spack.deptypes as dt
import spack.error
import spack.hash_types as ht
import spack.patch
import spack.paths
import spack.platforms
import spack.provider_index
@@ -3906,7 +3907,15 @@ def patches(self):
for sha256 in self.variants["patches"]._patches_in_order_of_appearance:
index = spack.repo.PATH.patch_index
pkg_cls = spack.repo.PATH.get_pkg_class(self.name)
patch = index.patch_for_package(sha256, pkg_cls)
try:
patch = index.patch_for_package(sha256, pkg_cls)
except spack.patch.PatchLookupError as e:
raise spack.error.SpecError(
f"{e}. This usually means the patch was modified or removed. "
"To fix this, either reconcretize or use the original package "
"repository"
) from e
self._patches.append(patch)
return self._patches

View File

@@ -938,16 +938,10 @@ def visit_arguments(self, node):
self.write(", ")
self.write("*")
if node.vararg:
if hasattr(node.vararg, "arg"):
self.write(node.vararg.arg)
if node.vararg.annotation:
self.write(": ")
self.dispatch(node.vararg.annotation)
else:
self.write(node.vararg)
if getattr(node, "varargannotation", None):
self.write(": ")
self.dispatch(node.varargannotation)
self.write(node.vararg.arg)
if node.vararg.annotation:
self.write(": ")
self.dispatch(node.vararg.annotation)
# keyword-only arguments
if getattr(node, "kwonlyargs", False):
@@ -967,16 +961,10 @@ def visit_arguments(self, node):
first = False
else:
self.write(", ")
if hasattr(node.kwarg, "arg"):
self.write("**" + node.kwarg.arg)
if node.kwarg.annotation:
self.write(": ")
self.dispatch(node.kwarg.annotation)
else:
self.write("**" + node.kwarg)
if getattr(node, "kwargannotation", None):
self.write(": ")
self.dispatch(node.kwargannotation)
self.write("**" + node.kwarg.arg)
if node.kwarg.annotation:
self.write(": ")
self.dispatch(node.kwarg.annotation)
def visit_keyword(self, node):
if node.arg is None:

View File

@@ -165,6 +165,10 @@ default:
extends: [ ".generate-base" ]
tags: ["spack", "public", "medium", "aarch64"]
.generate-neoverse_v1:
extends: [ ".generate-base" ]
tags: ["spack", "public", "medium", "aarch64", "graviton3"]
.generate-deprecated:
extends: [ ".base-job" ]
stage: generate
@@ -301,27 +305,27 @@ e4s-build:
job: e4s-generate
########################################
# E4S ARM pipeline
# E4S Neoverse V1 pipeline
########################################
.e4s-arm:
extends: [ ".linux_aarch64" ]
.e4s-neoverse_v1:
extends: [ ".linux_neoverse_v1" ]
variables:
SPACK_CI_STACK_NAME: e4s-arm
SPACK_CI_STACK_NAME: e4s-neoverse_v1
e4s-arm-generate:
extends: [ ".e4s-arm", ".generate-aarch64" ]
e4s-neoverse_v1-generate:
extends: [ ".e4s-neoverse_v1", ".generate-neoverse_v1" ]
image: ghcr.io/spack/ubuntu20.04-runner-arm64-gcc-11.4:2023.08.01
e4s-arm-build:
extends: [ ".e4s-arm", ".build" ]
e4s-neoverse_v1-build:
extends: [ ".e4s-neoverse_v1", ".build" ]
trigger:
include:
- artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
job: e4s-arm-generate
job: e4s-neoverse_v1-generate
strategy: depend
needs:
- artifacts: True
job: e4s-arm-generate
job: e4s-neoverse_v1-generate
########################################
# E4S ROCm External pipeline

View File

@@ -7,7 +7,7 @@ spack:
packages:
all:
require: '%gcc@11.4.0 target=aarch64'
require: '%gcc@11.4.0 target=neoverse_v1'
providers:
blas: [openblas]
mpi: [mpich]
@@ -340,7 +340,7 @@ spack:
# - tasmanian +cuda cuda_arch=90 # tasmanian: conflicts with cuda@12
# - upcxx +cuda cuda_arch=90 # upcxx: needs NVIDIA driver
mirrors: { "mirror": "s3://spack-binaries/develop/e4s-arm" }
mirrors: { "mirror": "s3://spack-binaries/develop/e4s-arm-neoverse_v1" }
ci:
pipeline-gen:
@@ -348,4 +348,4 @@ spack:
image: "ghcr.io/spack/ubuntu20.04-runner-arm64-gcc-11.4:2023.08.01"
cdash:
build-group: E4S ARM
build-group: E4S ARM Neoverse V1

View File

@@ -14,6 +14,7 @@ class Botan(MakefilePackage):
maintainers("aumuell")
version("3.2.0", sha256="049c847835fcf6ef3a9e206b33de05dd38999c325e247482772a5598d9e5ece3")
version("3.1.1", sha256="30c84fe919936a98fef5331f246c62aa2c0e4d2085b2d4511207f6a20afa3a6b")
version("3.1.0", sha256="4e18e755a8bbc6bf96fac916fbf072ecd06740c72a72017c27162e4c0b4725fe")
version("3.0.0", sha256="5da552e00fa1c047a90c22eb5f0247ec27e7432b68b78e10a7ce0955269ccad7")

View File

@@ -27,6 +27,7 @@ class Caliper(CMakePackage, CudaPackage, ROCmPackage):
version("master", branch="master")
version("2.10.0", sha256="14c4fb5edd5e67808d581523b4f8f05ace8549698c0e90d84b53171a77f58565")
version("2.9.1", sha256="4771d630de505eff9227e0ec498d0da33ae6f9c34df23cb201b56181b8759e9e")
version("2.9.0", sha256="507ea74be64a2dfd111b292c24c4f55f459257528ba51a5242313fa50978371f")
version("2.8.0", sha256="17807b364b5ac4b05997ead41bd173e773f9a26ff573ff2fe61e0e70eab496e4")
version(
@@ -117,7 +118,10 @@ class Caliper(CMakePackage, CudaPackage, ROCmPackage):
conflicts("+rocm+cuda")
patch("for_aarch64.patch", when="target=aarch64:")
patch("sampler-service-missing-libunwind-include-dir.patch", when="@2.9.0 +libunwind +sampler")
patch(
"sampler-service-missing-libunwind-include-dir.patch",
when="@2.9.0:2.9.1 +libunwind +sampler",
)
def cmake_args(self):
spec = self.spec

View File

@@ -85,10 +85,10 @@ class Elfutils(AutotoolsPackage, SourcewarePackage):
provides("elf@1")
# libarchive with iconv doesn't configure.
# libarchive with iconv doesn't configure (still broken as of libarchive@3.7.1)
# see https://github.com/spack/spack/issues/36710
# and https://github.com/libarchive/libarchive/issues/1819
conflicts("^libarchive@3.6.2 +iconv", when="+debuginfod")
conflicts("^libarchive +iconv", when="+debuginfod")
# https://sourceware.org/bugzilla/show_bug.cgi?id=24964
conflicts("%apple-clang")

View File

@@ -13,6 +13,7 @@ class Embree(CMakePackage):
url = "https://github.com/embree/embree/archive/v3.7.0.tar.gz"
maintainers("aumuell")
version("4.3.0", sha256="baf0a57a45837fc055ba828a139467bce0bc0c6a9a5f2dccb05163d012c12308")
version("4.2.0", sha256="b0479ce688045d17aa63ce6223c84b1cdb5edbf00d7eda71c06b7e64e21f53a0")
version("4.1.0", sha256="117efd87d6dddbf7b164edd94b0bc057da69d6422a25366283cded57ed94738b")
version("4.0.1", sha256="1fa3982fa3531f1b6e81f19e6028ae8a62b466597f150b853440fe35ef7c6c06")

View File

@@ -16,8 +16,11 @@ class FeqParse(CMakePackage):
maintainers("fluidnumerics-joe")
version("2.0.3", sha256="a1c42507801adc55a63a9a904807058079d54e002e10f2b29a916b06fc815f80")
version("2.0.1", sha256="08dd08bd100a0a2eb672a5b2792ad56a337df575c634aac0d7a300d7e484b21c")
version("1.1.0", sha256="d33a4fd6904939bb70780e8f25f37c1291c4f24fd207feb4ffc0f8d89637d1e3")
version("1.0.2", sha256="1cd1db7562908ea16fc65dc5268b654405d0b3d9dcfe11f409949c431b48a3e8")
depends_on("cmake@3.0.2:", type="build")
parallel = False

View File

@@ -14,13 +14,14 @@ class Fftx(CMakePackage, CudaPackage, ROCmPackage):
operations composed of linear operations combined with DFT transforms."""
homepage = "https://spiralgen.com"
url = "https://github.com/spiral-software/fftx/archive/refs/tags/1.1.2.tar.gz"
url = "https://github.com/spiral-software/fftx/archive/refs/tags/1.1.3.tar.gz"
git = "https://github.com/spiral-software/fftx.git"
maintainers("spiralgen")
version("develop", branch="develop")
version("main", branch="main")
version("1.1.3", sha256="17ed0baf9c2dcf30c789fdae530e006ae3ff2d2c9006989b1e6348e4ae50cef9")
version("1.1.2", sha256="b2c4a7791305481af9e1bd358c1215efa4506c91c943cddca3780a1ccbc27810")
version("1.1.1", sha256="5cbca66ef09eca02ee8f336f58eb45cfac69cfb29cd6eb945852ad74085d8a60")
version("1.1.0", sha256="a6f95605abc11460bbf51839727a456a31488e27e12a970fc29a1b8c42f4e3b5")

View File

@@ -18,10 +18,11 @@ class FluxPmix(AutotoolsPackage):
maintainers("grondo")
version("main", branch="main")
version("0.4.0", sha256="f7f58891fc9d9a97a0399b3ab186f2cae30a75806ba0b4d4c1307f07b3f6d1bc")
version("0.3.0", sha256="88edb2afaeb6058b56ff915105a36972acc0d83204cff7f4a4d2f65a5dee9d34")
version("0.2.0", sha256="d09f1fe6ffe54f83be4677e1e727640521d8110090515d94013eba0f58216934")
depends_on("flux-core@0.49.0:", when="@0.3.0:")
depends_on("flux-core@0.49:", when="@0.3:")
depends_on("flux-core@0.30.0:")
depends_on("pmix@v4.1.0:")
depends_on("openmpi")

View File

@@ -783,6 +783,11 @@ def configure_args(self):
"--with-as=" + binutils.join("as"),
]
)
elif spec.satisfies("%apple-clang@15:"):
# https://github.com/iains/gcc-darwin-arm64/issues/117
# https://github.com/iains/gcc-12-branch/issues/22
# https://github.com/iains/gcc-13-branch/issues/8
options.append("--with-ld=/Library/Developer/CommandLineTools/usr/bin/ld-classic")
# enable_bootstrap
if spec.satisfies("+bootstrap"):

View File

@@ -33,6 +33,8 @@ class Gettext(AutotoolsPackage, GNUMirrorPackage):
variant("tar", default=True, description="Enable tar support")
variant("bzip2", default=True, description="Enable bzip2 support")
variant("xz", default=True, description="Enable xz support")
variant("shared", default=True, description="Build shared libraries")
variant("pic", default=True, description="Enable position-independent code (PIC)")
# Optional variants
variant("libunistring", default=False, description="Use libunistring")
@@ -54,6 +56,8 @@ class Gettext(AutotoolsPackage, GNUMirrorPackage):
depends_on("libunistring", when="+libunistring")
# depends_on('cvs')
conflicts("+shared~pic")
patch("test-verify-parallel-make-check.patch", when="@:0.19.8.1")
patch("nvhpc-builtin.patch", when="@:0.21.0 %nvhpc")
patch("nvhpc-export-symbols.patch", when="%nvhpc")
@@ -87,6 +91,8 @@ def configure_args(self):
"--without-cvs",
]
config_args.extend(self.enable_or_disable("shared"))
if self.spec["iconv"].name == "libc":
config_args.append("--without-libiconv-prefix")
elif not is_system_path(self.spec["iconv"].prefix):
@@ -115,12 +121,16 @@ def configure_args(self):
else:
config_args.append("--with-included-libunistring")
config_args.extend(self.with_or_without("pic"))
return config_args
@property
def libs(self):
return find_libraries(
libs = find_libraries(
["libasprintf", "libgettextlib", "libgettextpo", "libgettextsrc", "libintl"],
root=self.prefix,
recursive=True,
shared=self.spec.variants["shared"].value,
)
return libs

View File

@@ -253,8 +253,6 @@ def setup_build_environment(self, env):
extlib_bits.append(spec["gettext"].libs.search_flags)
extlib_bits.append("-lintl")
env.append_flags("EXTLIBS", " ".join(extlib_bits))
if not is_system_path(spec["gettext"].prefix):
env.append_flags("CFLAGS", spec["gettext"].headers.include_flags)
if not self.spec["curl"].satisfies("libs=shared"):
curlconfig = which(os.path.join(self.spec["curl"].prefix.bin, "curl-config"))

View File

@@ -12,12 +12,13 @@ class Libzmq(AutotoolsPackage):
"""The ZMQ networking/concurrency library and core API"""
homepage = "https://zguide.zeromq.org/"
url = "https://github.com/zeromq/libzmq/releases/download/v4.3.2/zeromq-4.3.2.tar.gz"
url = "https://github.com/zeromq/libzmq/releases/download/v4.3.5/zeromq-4.3.5.tar.gz"
git = "https://github.com/zeromq/libzmq.git"
maintainers("dennisklein")
version("master", branch="master")
version("4.3.5", sha256="6653ef5910f17954861fe72332e68b03ca6e4d9c7160eb3a8de5a5a913bfab43")
version("4.3.4", sha256="c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5")
version("4.3.3", sha256="9d9285db37ae942ed0780c016da87060497877af45094ff9e1a1ca736e3875a2")
version("4.3.2", sha256="ebd7b5c830d6428956b67a0454a7f8cbed1de74b3b01e5c33c5378e22740f763")

View File

@@ -0,0 +1,134 @@
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import os
import platform
import subprocess
from spack.package import *
class LinaroForge(Package):
"""Build reliable and optimized code for the right results on multiple
Server and HPC architectures, from the latest compilers and C++ standards
to Intel, 64-bit Arm, AMD, OpenPOWER and Nvidia GPU hardware. Linaro Forge
combines Linaro DDT, the leading debugger for time-saving high performance
application debugging, Linaro MAP, the trusted performance profiler for
invaluable optimization advice across native and Python HPC codes, and
Linaro Performance Reports for advanced reporting capabilities."""
homepage = "https://www.linaroforge.com"
maintainers("kenche-linaro")
if platform.machine() in ["aarch64", "arm64"]:
version(
"23.0.3", sha256="a7e23ef2a187f8e2d6a6692cafb931c9bb614abf58e45ea9c2287191c4c44f02"
)
version(
"23.0.2", sha256="698fda8f7cc05a06909e5dcc50b9956f94135d7b12e84ffb21999a5b45c70c74"
)
version(
"23.0.1", sha256="552e4a3f408ed4eb5f1bfbb83c94530ee8733579c56c3e98050c0ad2d43eb433"
)
version("23.0", sha256="7ae20bb27d539751d1776d1e09a65dcce821fc6a75f924675439f791261783fb")
version(
"22.1.4", sha256="4e2af481a37b4c99dba0de6fac75ac945316955fc4170d06e321530adea7ac9f"
)
version(
"21.1.3", sha256="4a4ff7372aad5a31fc9e18b7b6c493691ab37d8d44a3158584e62d1ab82b0eeb"
)
elif platform.machine() == "ppc64le":
version(
"23.0.3", sha256="5ff9770f4bc4a2df4bac8a2544a9d6bad9fba2556420fa2e659e5c21e741caf7"
)
version(
"23.0.2", sha256="181b157bdfc8609b49addf63023f920ebb609dbc9a126e9dc26605188b756ff0"
)
version(
"23.0.1", sha256="08cffef2195ea96872d56e827f320eed40aaa82fd3b62d4c661a598fb2fb3a47"
)
version("23.0", sha256="0962c7e0da0f450cf6daffe1156e1f59e02c9f643df458ec8458527afcde5b4d")
version(
"22.1.3", sha256="6479c3a4ae6ce6648c37594eb0266161f06d9f89010fca9299855848661dda49"
)
version(
"22.0.4", sha256="f4cb5bcbaa67f9209299fe4653186a2829760b8b16a2883913aa43766375b04c"
)
version(
"21.1.3", sha256="eecbc5686d60994c5468b2d7cd37bebe5d9ac0ba37bd1f98fbfc69b071db541e"
)
elif platform.machine() == "x86_64":
version(
"23.0.3", sha256="f2a010b94838f174f057cd89d12d03a89ca946163536eab178dd1ec877cdc27f"
)
version(
"23.0.2", sha256="565f0c073c6c8cbb06c062ca414e3f6ff8c6ca6797b03d247b030a9fbc55a5b1"
)
version(
"23.0.1", sha256="1d681891c0c725363f0f45584c9b79e669d5c9782158453b7d24b4b865d72755"
)
version("23.0", sha256="f4ab12289c992dd07cb1a15dd985ef4713d1f9c0cf362ec5e9c995cca9b1cf81")
version(
"22.1.3", sha256="4f8a8b1df6ad712e89c82eedf4bd85b93b57b3c8d5b37d13480ff058fa8f4467"
)
version(
"22.0.4", sha256="a2c8c1da38b9684d7c4656a98b3fc42777b03fd474cd0bf969324804f47587e5"
)
version(
"21.1.3", sha256="03dc82f1d075deb6f08d1e3e6592dc9b630d406c08a1316d89c436b5874f3407"
)
variant(
"probe",
default=False,
description='Detect available PMU counters via "forge-probe" during install',
)
variant("accept-eula", default=False, description="Accept the EULA")
# forge-probe executes with "/usr/bin/env python"
depends_on("python@2.7:", type="build", when="+probe")
# Licensing
license_required = True
license_comment = "#"
license_files = ["licences/Licence"]
license_vars = [
"ALLINEA_LICENSE_DIR",
"ALLINEA_LICENCE_DIR",
"ALLINEA_LICENSE_FILE",
"ALLINEA_LICENCE_FILE",
]
license_url = "https://docs.linaroforge.com/latest/html/licenceserver/index.html"
def url_for_version(self, version):
pre = "arm" if version < Version("23.0") else "linaro"
return f"https://downloads.linaroforge.com/{version}/{pre}-forge-{version}-linux-{platform.machine()}.tar"
@run_before("install")
def abort_without_eula_acceptance(self):
install_example = "spack install linaro-forge +accept-eula"
license_terms_path = os.path.join(self.stage.source_path, "license_terms")
if not self.spec.variants["accept-eula"].value:
raise InstallError(
"\n\n\nNOTE:\nUse +accept-eula "
+ "during installation "
+ "to accept the license terms in:\n"
+ " {0}\n".format(os.path.join(license_terms_path, "license_agreement.txt"))
+ " {0}\n\n".format(os.path.join(license_terms_path, "supplementary_terms.txt"))
+ "Example: '{0}'\n".format(install_example)
)
def install(self, spec, prefix):
subprocess.call(["./textinstall.sh", "--accept-license", prefix])
if spec.satisfies("+probe"):
probe = join_path(prefix, "bin", "forge-probe")
subprocess.call([probe, "--install", "global"])
def setup_run_environment(self, env):
# Only PATH is needed for Forge.
# Adding lib to LD_LIBRARY_PATH can cause conflicts with Forge's internal libs.
env.clear()
env.prepend_path("PATH", join_path(self.prefix, "bin"))

View File

@@ -10,8 +10,9 @@ class LinuxPam(AutotoolsPackage):
"""Linux PAM (Pluggable Authentication Modules for Linux) project."""
homepage = "http://www.linux-pam.org/"
url = "https://github.com/linux-pam/linux-pam/releases/download/v1.5.2/Linux-PAM-1.5.2.tar.xz"
url = "https://github.com/linux-pam/linux-pam/releases/download/v1.5.3/Linux-PAM-1.5.3.tar.xz"
version("1.5.3", sha256="7ac4b50feee004a9fa88f1dfd2d2fa738a82896763050cd773b3c54b0a818283")
version("1.5.1", sha256="201d40730b1135b1b3cdea09f2c28ac634d73181ccd0172ceddee3649c5792fc")
version("1.5.2", sha256="e4ec7131a91da44512574268f493c6d8ca105c87091691b8e9b56ca685d4f94d")
version("1.5.0", sha256="02d39854b508fae9dc713f7733bbcdadbe17b50de965aedddd65bcb6cc7852c8")
@@ -23,6 +24,9 @@ class LinuxPam(AutotoolsPackage):
depends_on("automake", type="build")
depends_on("libtool", type="build")
conflicts("platform=darwin")
conflicts("platform=windows")
def configure_args(self):
config_args = ["--includedir=" + self.prefix.include.security]
config_args = ["--includedir=" + self.prefix.include.security, "CFLAGS=-DYPERR_SUCCESS=0"]
return config_args

View File

@@ -14,13 +14,14 @@ class NimrodAai(CMakePackage):
homepage = "https://gitlab.com/NIMRODteam/nimrod-abstract"
url = (
"https://gitlab.com/NIMRODteam/nimrod-abstract/-/archive/23.6/nimrod-abstract-23.6.tar.gz"
"https://gitlab.com/NIMRODteam/nimrod-abstract/-/archive/23.9/nimrod-abstract-23.9.tar.gz"
)
git = "https://gitlab.com/NIMRODteam/nimrod-abstract.git"
maintainers("jacobrking")
version("main", branch="main")
version("23.9", sha256="212d591c5a5e7a394b56a5cf2f92cc69feafc49dd5f042fa95eeb6441649390b")
version("23.6", sha256="1794b89a5a64ff2b3c548818b90d17eef85d819ba4f63a76c41a682d5b76c14f")
variant("debug", default=False, description="Whether to enable debug code")
@@ -41,8 +42,9 @@ class NimrodAai(CMakePackage):
)
depends_on("cmake", type="build")
depends_on("hdf5+fortran", type="build")
depends_on("mpi", when="+mpi")
depends_on("hdf5+fortran~mpi", type="build", when="~mpi")
depends_on("hdf5+fortran+mpi", type="build", when="+mpi")
def cmake_args(self):
args = [
@@ -62,3 +64,9 @@ def cmake_args(self):
]
args.append(addl_args)
return args
@run_after("build")
@on_package_attributes(run_tests=True)
def check(self):
with working_dir(self.builder.build_directory):
ctest("--output-on-failure")

View File

@@ -21,6 +21,20 @@
# - package key must be in the form '{os}-{arch}' where 'os' is in the
# format returned by platform.system() and 'arch' by platform.machine()
_versions = {
"23.9": {
"Linux-aarch64": (
"dd32ae4233438adb71b2b4f8891f04802fdf90f67036ecf18bfde1b6043a03c3",
"https://developer.download.nvidia.com/hpc-sdk/23.9/nvhpc_2023_239_Linux_aarch64_cuda_multi.tar.gz",
),
"Linux-ppc64le": (
"984d61695499db098fd32be8345c1f7d7c637ea3bdb29cef17aad656f16b000f",
"https://developer.download.nvidia.com/hpc-sdk/23.9/nvhpc_2023_239_Linux_ppc64le_cuda_multi.tar.gz",
),
"Linux-x86_64": (
"ecf343ecad2398e21c8d7f24a580b2932348017dfd8ea38c1ef31b37114b2d4b",
"https://developer.download.nvidia.com/hpc-sdk/23.9/nvhpc_2023_239_Linux_x86_64_cuda_multi.tar.gz",
),
},
"23.7": {
"Linux-aarch64": (
"d3b9b674045e6e17156b298941be4e1e1e7dea6a3c1938f14ad653b180860ff2",

View File

@@ -17,6 +17,7 @@ class Openmm(CMakePackage, CudaPackage):
homepage = "https://openmm.org/"
url = "https://github.com/openmm/openmm/archive/7.4.1.tar.gz"
version("8.0.0", sha256="dc63d7b47c8bb7b169c409cfd63d909ed0ce1ae114d37c627bf7a4231acf488e")
version("7.7.0", sha256="51970779b8dc639ea192e9c61c67f70189aa294575acb915e14be1670a586c25")
version("7.6.0", sha256="5a99c491ded9ba83ecc3fb1d8d22fca550f45da92e14f64f25378fda0048a89d")
version("7.5.1", sha256="c88d6946468a2bde2619acb834f57b859b5e114a93093cf562165612e10f4ff7")
@@ -32,7 +33,7 @@ class Openmm(CMakePackage, CudaPackage):
depends_on("doxygen@:1.9.1", type="build", when="@:7.6.0")
depends_on("doxygen", type="build", when="@7.7:")
depends_on("swig", type="build")
depends_on("fftw")
depends_on("fftw", when="@:7")
depends_on("py-cython", type="build")
depends_on("py-numpy", type=("build", "run"))
depends_on("cuda", when="+cuda", type=("build", "link", "run"))

View File

@@ -16,6 +16,7 @@ class Openvkl(CMakePackage):
# maintainers("github_user1", "github_user2")
version("1.3.2", sha256="7704736566bf17497a3e51c067bd575316895fda96eccc682dae4aac7fb07b28")
version("1.3.1", sha256="c9cefb6c313f2b4c0331e9629931759a6bc204ec00deed6ec0becad1670a1933")
version("1.3.0", sha256="c6d4d40e6d232839c278b53dee1e7bd3bd239c3ccac33f49b465fc65a0692be9")
version("1.2.0", sha256="dc468c2f0a359aaa946e04a01c2a6634081f7b6ce31b3c212c74bf7b4b0c9ec2")
@@ -24,7 +25,8 @@ class Openvkl(CMakePackage):
version("1.0.0", sha256="81ccae679bfa2feefc4d4b1ce72bcd242ba34d2618fbb418a1c2a05d640d16b4")
version("0.13.0", sha256="974608259e3a5d8e29d2dfe81c6b2b1830aadeb9bbdc87127f3a7c8631e9f1bd")
depends_on("embree@3.13.0:3")
depends_on("embree@4", when="@1.3.2:")
depends_on("embree@3.13.0:3", when="@:1.3.1")
depends_on("embree@3.13.1:", when="@1.0.0:")
depends_on("ispc@1.15.0:", type=("build"))
depends_on("ispc@1.16.0:", when="@1.0.0:", type=("build"))
@@ -32,10 +34,14 @@ class Openvkl(CMakePackage):
depends_on("rkcommon@1.6.1:")
depends_on("rkcommon@1.7.0:", when="@1.0.0:")
depends_on("rkcommon@1.8.0:", when="@1.1:")
depends_on("rkcommon@:1.10.0", when="@:1.3.1")
depends_on("rkcommon@1.11.0:", when="@1.3.2:")
depends_on("tbb")
def cmake_args(self):
args = [
# otherwise, openvkl 1.3.2 tries to install its headers into /openvkl
self.define("CMAKE_INSTALL_INCLUDEDIR", f"{self.spec.prefix}/include"),
self.define("BUILD_BENCHMARKS", False),
self.define("BUILD_EXAMPLES", False),
self.define("BUILD_TESTING", False),

View File

@@ -0,0 +1,37 @@
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class Paintor(MakefilePackage):
"""Probabilistic Annotation integrator. Fast, integrative fine mapping with functional
data"""
homepage = "https://github.com/gkichaev/PAINTOR_V3.0"
url = "https://github.com/gkichaev/PAINTOR_V3.0/archive/refs/tags/3.0.tar.gz"
version("3.0", sha256="cc39d3c334cc6d787e4f04847192c9d0185025a2ca46910bd38901b6679d198f")
depends_on("nlopt")
depends_on("eigen")
def edit(self, spec, prefix):
makefile = FileFilter("Makefile")
makefile.filter("CC = g\\+\\+", f"CC = {spack_cxx}")
makefile.filter(
r"(.*)-I/\$\(curr\)/eigen/Eigen(.*)",
r"\1-I{}/eigen3/Eigen\2".format(spec["eigen"].prefix.include),
)
makefile.filter(r"(.*)-L/\$\{curr}/lib(.*)", r"\1-L{}\2".format(spec["nlopt"].prefix.lib))
makefile.filter(
r"(.*)-I/\${curr}/include(.*)", r"\1-I{}\2".format(spec["nlopt"].prefix.include)
)
@run_after("install")
def mv_binary(self):
mkdirp(self.prefix.bin)
with working_dir(self.build_directory):
install("PAINTOR", self.prefix.bin)

View File

@@ -17,6 +17,7 @@ class Pika(CMakePackage, CudaPackage, ROCmPackage):
git = "https://github.com/pika-org/pika.git"
maintainers("msimberg", "albestro", "teonnik", "aurianer")
version("0.19.1", sha256="674675abf0dd4c6f5a0b2fa3db944b277ed65c62f654029d938a8cab608a9c1d")
version("0.19.0", sha256="f45cc16e4e50cbb183ed743bdc8b775d49776ee33c13ea39a650f4230a5744cb")
version("0.18.0", sha256="f34890e0594eeca6ac57f2b988d0807b502782817e53a7f7043c3f921b08c99f")
version("0.17.0", sha256="717429fc1bc986d62cbec190a69939e91608122d09d54bda1b028871c9ca9ad4")

View File

@@ -12,6 +12,7 @@ class PyBidsValidator(PythonPackage):
homepage = "https://github.com/bids-standard/bids-validator"
pypi = "bids-validator/bids-validator-1.7.2.tar.gz"
version("1.13.1", sha256="7205ce4e68fba172215332c786f1ac1665025b702b6dff2b1e158f00a2df9890")
version("1.11.0", sha256="408c56748b7cf98cf7c31822f33a8d89c5e6e7db5254c345107e8d527576ff53")
version("1.9.8", sha256="ff39799bb205f92d6f2c322f0b8eff0d1c0288f4291a0b18fce61afa4dfd7f3e")
version("1.9.4", sha256="4bf07d375f231a2ad2f450beeb3ef6c54f93194fd993aa5157d57a8fba48ed50")
@@ -19,4 +20,5 @@ class PyBidsValidator(PythonPackage):
version("1.8.4", sha256="63e7a02c9ddb5505a345e178f4e436b82c35ec0a177d7047b67ea10ea3029a68")
version("1.7.2", sha256="12398831a3a3a2ed7c67e693cf596610c23dd23e0889bfeae0830bbd1d41e5b9")
depends_on("python@3.8:", when="@1.12:", type=("build", "run"))
depends_on("py-setuptools", type="build")

View File

@@ -0,0 +1,36 @@
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class PyCylcFlow(PythonPackage):
"""A workflow engine for cycling systems."""
homepage = "https://cylc.org"
pypi = "cylc-flow/cylc-flow-8.1.4.tar.gz"
maintainers("LydDeb")
version("8.2.0", sha256="cbe35e0d72d1ca36f28a4cebe9b9040a3445a74253bc94051a3c906cf179ded0")
version("8.1.4", sha256="d1835ac18f6f24f3115c56b2bc821185484e834a86b12fd0033ff7e4dc3c1f63")
depends_on("py-setuptools@49:66,68:", type=("build", "run"))
depends_on("py-aiofiles@0.7", type=("build", "run"), when="@:8.1")
depends_on("py-ansimarkup@1.0.0:", type=("build", "run"))
depends_on("py-async-timeout@3.0.0:", type=("build", "run"))
depends_on("py-colorama@0.4:1", type=("build", "run"))
depends_on("py-graphene@2.1:2", type=("build", "run"))
depends_on("py-jinja2@3.0", type=("build", "run"))
depends_on("py-metomi-isodatetime@3.0", type=("build", "run"))
depends_on("py-protobuf@4.21.2:4.21", type=("build", "run"))
depends_on("py-psutil@5.6.0:", type=("build", "run"))
depends_on("py-pyzmq@22:", type=("build", "run"), when="@8.2:")
depends_on("py-pyzmq@22", type=("build", "run"), when="@:8.1")
depends_on("py-importlib-metadata", type=("build", "run"), when="^python@:3.7")
depends_on("py-urwid@2", type=("build", "run"))
depends_on("py-rx", type=("build", "run"))
depends_on("py-promise", type=("build", "run"))
depends_on("py-tomli@2:", type=("build", "run"), when="^python@:3.10")

View File

@@ -0,0 +1,20 @@
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class PyDoit(PythonPackage):
"""doit - Automation Tool."""
homepage = "http://pydoit.org/"
pypi = "doit/doit-0.36.0.tar.gz"
version("0.36.0", sha256="71d07ccc9514cb22fe59d98999577665eaab57e16f644d04336ae0b4bae234bc")
depends_on("python@3.8:", type=("build", "run"))
depends_on("py-setuptools", type="build")
depends_on("py-cloudpickle", type=("build", "run"))
depends_on("py-importlib-metadata@4.4:", type=("build", "run"))

View File

@@ -225,6 +225,8 @@ class PyHorovod(PythonPackage, CudaPackage):
conflicts(
"controllers=gloo", when="@:0.20.0 platform=darwin", msg="Gloo cannot be compiled on MacOS"
)
# FIXME
conflicts("^py-torch@2.1:")
# https://github.com/horovod/horovod/pull/1835
patch("fma.patch", when="@0.19.0:0.19.1")

View File

@@ -17,9 +17,7 @@ class PyIpycanvas(PythonPackage):
depends_on("python@3.5:", type=("build", "run"))
depends_on("py-setuptools@40.8:", type="build")
# TODO: replace this after concretizer learns how to concretize separate build deps
depends_on("py-jupyter-packaging7", type="build")
# depends_on('py-jupyter-packaging@0.7.0:0.7', type='build')
depends_on("py-jupyter-packaging@0.7", type="build")
depends_on("py-jupyterlab@3.0:3", type="build")
depends_on("py-ipywidgets@7.6:", type=("build", "run"))
depends_on("pil@6:", type=("build", "run"))

View File

@@ -16,8 +16,6 @@ class PyIpyevents(PythonPackage):
depends_on("python@3.6:", type=("build", "run"))
depends_on("py-setuptools@40.8:", type="build")
# TODO: replace this after concretizer learns how to concretize separate build deps
depends_on("py-jupyter-packaging7", type="build")
# depends_on('py-jupyter-packaging@0.7.0:0.7', type='build')
depends_on("py-jupyter-packaging@0.7", type="build")
depends_on("py-jupyterlab@3.0:3", type="build")
depends_on("py-ipywidgets@7.6:", type=("build", "run"))

View File

@@ -23,8 +23,6 @@ class PyIpympl(PythonPackage):
depends_on("py-traitlets@:5", type=("build", "run"))
depends_on("py-ipywidgets@7.6:7", type=("build", "run"))
depends_on("py-matplotlib@2:3", type=("build", "run"))
# TODO: replace this after concretizer learns how to concretize separate build deps
depends_on("py-jupyter-packaging7", type="build")
# depends_on('py-jupyter-packaging@0.7', type='build')
depends_on("py-jupyter-packaging@0.7", type="build")
depends_on("py-jupyterlab@3", type="build")
depends_on("yarn", type="build")

View File

@@ -15,13 +15,17 @@ class PyJsonargparse(PythonPackage):
homepage = "https://github.com/omni-us/jsonargparse"
pypi = "jsonargparse/jsonargparse-4.19.0.tar.gz"
version("4.25.0", sha256="4eaadae69c387a3d83a76b1eaf20ca98d5274d8637f180dca0754ce5405adb6b")
version("4.19.0", sha256="63aa3c7bbdb219d0f254a5ae86f3d54384ebc1ffa905e776cc19283bc843787b")
variant("signatures", default=False, description="Enable signature features")
depends_on("py-setuptools@65.6.3:", when="@4.25:", type="build")
depends_on("py-setuptools", type="build")
depends_on("py-wheel@0.38.4:", when="@4.25:", type="build")
depends_on("py-pyyaml@3.13:", type=("build", "run"))
with when("+signatures"):
depends_on("py-typing-extensions@3.10:", when="@4.25: ^python@:3.9", type=("build", "run"))
depends_on("py-docstring-parser@0.15:", type=("build", "run"))
depends_on("py-typeshed-client@2.1:", type=("build", "run"))

View File

@@ -12,6 +12,8 @@ class PyJupyterPackaging(PythonPackage):
homepage = "https://github.com/jupyter/jupyter-packaging"
pypi = "jupyter_packaging/jupyter_packaging-0.10.4.tar.gz"
tags = ["build-tools"]
version("0.12.0", sha256="b27455d60adc93a7baa2e0b8f386be81b932bb4e3c0116046df9ed230cd3faac")
version("0.11.1", sha256="6f5c7eeea98f7f3c8fb41d565a94bf59791768a93f93148b3c2dfb7ebade8eec")
version("0.10.6", sha256="a8a2c90bf2e0cae83be63ccb0b7035032a1589f268cc08b1d479e37ce50fc940")

View File

@@ -16,9 +16,21 @@ class PyJupyterPackaging11(PythonPackage):
homepage = "https://github.com/jupyter/jupyter-packaging"
pypi = "jupyter_packaging/jupyter_packaging-0.11.1.tar.gz"
version("0.12.3", sha256="9d9b2b63b97ffd67a8bc5391c32a421bc415b264a32c99e4d8d8dd31daae9cf4")
version("0.12.0", sha256="b27455d60adc93a7baa2e0b8f386be81b932bb4e3c0116046df9ed230cd3faac")
version("0.11.1", sha256="6f5c7eeea98f7f3c8fb41d565a94bf59791768a93f93148b3c2dfb7ebade8eec")
version(
"0.12.3",
sha256="9d9b2b63b97ffd67a8bc5391c32a421bc415b264a32c99e4d8d8dd31daae9cf4",
deprecated=True,
)
version(
"0.12.0",
sha256="b27455d60adc93a7baa2e0b8f386be81b932bb4e3c0116046df9ed230cd3faac",
deprecated=True,
)
version(
"0.11.1",
sha256="6f5c7eeea98f7f3c8fb41d565a94bf59791768a93f93148b3c2dfb7ebade8eec",
deprecated=True,
)
depends_on("python@3.7:", type=("build", "run"))
depends_on("py-packaging", type=("build", "run"))

View File

@@ -16,7 +16,11 @@ class PyJupyterPackaging7(PythonPackage):
homepage = "https://github.com/jupyter/jupyter-packaging"
pypi = "jupyter_packaging/jupyter-packaging-0.7.12.tar.gz"
version("0.7.12", sha256="b140325771881a7df7b7f2d14997b619063fe75ae756b9025852e4346000bbb8")
version(
"0.7.12",
sha256="b140325771881a7df7b7f2d14997b619063fe75ae756b9025852e4346000bbb8",
deprecated=True,
)
depends_on("python@3.6:", type=("build", "run"))
depends_on("py-packaging", type=("build", "run"))

View File

@@ -18,6 +18,6 @@ class PyJupyterServerMathjax(PythonPackage):
depends_on("python@3.6:", type=("build", "run"))
depends_on("py-setuptools", type="build")
depends_on("py-jupyter-packaging", type="build")
depends_on("py-jupyter-packaging11@:1", when="@0.2.6:", type="build")
depends_on("py-jupyter-packaging@0.10:1", when="@0.2.6:", type="build")
depends_on("py-jupyter-server@1.1:1", when="@0.2.3", type=("build", "run"))
depends_on("py-jupyter-server@1.1:", when="@0.2.6:", type=("build", "run"))

View File

@@ -19,7 +19,7 @@ class PyJupyterServerProxy(PythonPackage):
version("3.2.2", sha256="54690ea9467035d187c930c599e76065017baf16e118e6eebae0d3a008c4d946")
depends_on("py-jupyter-packaging7@0.7.9:0.7", type="build")
depends_on("py-jupyter-packaging@0.7.9:0.7", type="build")
depends_on("py-jupyterlab@3.0:3", type="build")
depends_on("py-setuptools@40.8.0:", type="build")

View File

@@ -32,9 +32,7 @@ class PyJupyterServer(PythonPackage):
depends_on("py-hatch-jupyter-builder@0.8.1:", when="@2:", type="build")
with when("@:1"):
# TODO: replace this after concretizer learns how to concretize separate build deps
depends_on("py-jupyter-packaging11", when="@1.6.2:", type="build")
# depends_on('py-jupyter-packaging@0.9:0', when='@1.6.2:', type='build')
depends_on("py-jupyter-packaging@0.9:0", when="@1.6.2:", type="build")
depends_on("py-pre-commit", when="@1.16:", type="build")
depends_on("py-setuptools", type="build")

View File

@@ -24,9 +24,8 @@ class PyJupyterlabServer(PythonPackage):
with when("@:2.14"):
depends_on("py-setuptools", type="build")
# TODO: replace this after concretizer learns how to concretize separate build deps
depends_on("py-jupyter-packaging11", type="build")
# depends_on('py-jupyter-packaging@0.9:0', type='build')
depends_on("py-jupyter-packaging@0.10:1", when="@2.10.3", type="build")
depends_on("py-jupyter-packaging@0.9:0", when="@:2.6", type="build")
depends_on("py-babel@2.10:", when="@2.16.4:", type=("build", "run"))
depends_on("py-babel", when="@2.5.1:", type=("build", "run"))

View File

@@ -24,7 +24,11 @@ class PyJupyterlab(PythonPackage):
version("3.1.14", sha256="13174cb6076dd5da6f1b85725ccfcc9518d8f98e86b8b644fc89b1dfaeda63a9")
version("3.0.18", sha256="0e4bb4b89014607a16658b54f13df2f0af14f3c286109a0e14d5a46cbbe28caf")
version("3.0.16", sha256="7ad4fbe1f6d38255869410fd151a8b15692a663ca97c0a8146b3f5c40e275c23")
version("3.0.14", sha256="713a84991dfcca8c0bc260911f1bd54ac25a386a86285713b9555a60f795059b")
version(
"3.0.14",
sha256="713a84991dfcca8c0bc260911f1bd54ac25a386a86285713b9555a60f795059b",
deprecated=True,
)
version("2.2.7", sha256="a72ffd0d919cba03a5ef8422bc92c3332a957ff97b0490494209c83ad93826da")
version("2.1.0", sha256="8c239aababf5baa0b3d36e375fddeb9fd96f3a9a24a8cda098d6a414f5bbdc81")
@@ -50,12 +54,9 @@ class PyJupyterlab(PythonPackage):
with when("@:3"):
depends_on("py-setuptools", when="@:3", type=("build", "run"))
# TODO: replace this after concretizer learns how to concretize separate build deps
depends_on("py-jupyter-packaging11", when="@3.0.15:3", type="build")
depends_on("py-jupyter-packaging7", when="@3.0.0:3.0.14", type="build")
# depends_on('py-jupyter-packaging@0.9:0', when='@3.0.15:', type='build')
# depends_on('py-jupyter-packaging@0.7.3:0.7', when='@3.0.0:3.0.14',
# type=('build', 'run'))
depends_on("py-jupyter-packaging@0.9:1", when="@3.4.8", type="build")
depends_on("py-jupyter-packaging@0.9:0", when="@3.0.15:3.4.2", type="build")
depends_on("py-jupyter-packaging@0.7.3:0.7", when="@3.0.0:3.0.14", type=("build", "run"))
depends_on("py-pre-commit", when="@3.4:3.4.3", type="build")
depends_on("py-ipython", when="@3", type=("build", "run"))

View File

@@ -31,6 +31,4 @@ class PyJupytext(PythonPackage):
# todo: in order to use jupytext as a jupyterlab extension,
# some additional dependencies need to be added (and checked):
depends_on("py-jupyterlab@3", type=("build", "run"))
# TODO: replace this after concretizer learns how to concretize separate build deps
depends_on("py-jupyter-packaging7", type="build")
# depends_on('py-jupyter-packaging@0.7.9:0.7', type='build')```
depends_on("py-jupyter-packaging@0.7.9:0.7", type="build")

View File

@@ -0,0 +1,36 @@
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import os
from spack.package import *
class PyLvis(PythonPackage):
"""Python API for LVIS dataset."""
pypi = "lvis/lvis-0.5.3.tar.gz"
version("0.5.3", sha256="55aeeb84174abea2ed0d6985a8e93aa9bdbb60c61c6db130c8269a275ef61a6e")
depends_on("py-setuptools", type="build")
depends_on("py-cycler@0.10:", type=("build", "run"))
depends_on("py-cython@0.29.12:", type=("build", "run"))
depends_on("py-kiwisolver@1.1:", type=("build", "run"))
depends_on("py-matplotlib@3.1.1:", type=("build", "run"))
depends_on("py-numpy@1.18.2:", type=("build", "run"))
depends_on("opencv@4.1.0.25:+python3", type=("build", "run"))
depends_on("py-pyparsing@2.4.0:", type=("build", "run"))
depends_on("py-python-dateutil@2.8:", type=("build", "run"))
depends_on("py-six@1.12:", type=("build", "run"))
# imported at lvis/lvis.py:15
depends_on("py-pycocotools", type=("build", "run"))
def patch(self):
os.rename(
join_path(self.stage.source_path, "lvis.egg-info", "requires.txt"),
join_path(self.stage.source_path, "requirements.txt"),
)

View File

@@ -18,9 +18,7 @@ class PyNbclassic(PythonPackage):
version("0.3.1", sha256="f920f8d09849bea7950e1017ff3bd101763a8d68f565a51ce053572e65aa7947")
depends_on("py-setuptools", type="build")
# TODO: replace this after concretizer learns how to concretize separate build deps
depends_on("py-jupyter-packaging11", when="@0.3.3:", type="build")
# depends_on('py-jupyter-packaging@0.9:1', when='@0.3.3:', type='build')
depends_on("py-jupyter-packaging@0.9:0", when="@0.3.3:", type="build")
depends_on("py-babel", when="@0.4:", type="build")
depends_on("py-jinja2", when="@0.4:", type=("build", "run"))

View File

@@ -40,9 +40,7 @@ class PyNotebook(PythonPackage):
depends_on("python@3.7:", type=("build", "run"), when="@6.4:")
depends_on("python@3.6:", type=("build", "run"), when="@6.3:")
# TODO: replace this after concretizer learns how to concretize separate build deps
depends_on("py-jupyter-packaging11", when="@6.4.1:", type="build")
# depends_on('py-jupyter-packaging@0.9:0', when='@6.4.1:', type='build')
depends_on("py-jupyter-packaging@0.9:0", when="@6.4.1:", type="build")
depends_on("py-setuptools", when="@5:", type="build")
depends_on("py-jinja2", type=("build", "run"))

View File

@@ -86,6 +86,9 @@ class PyPip(Package, PythonExtension):
extends("python")
depends_on("python@3.7:", when="@22:", type=("build", "run"))
# Uses collections.MutableMapping
depends_on("python@:3.9", when="@:19.1", type=("build", "run"))
def url_for_version(self, version):
url = "https://files.pythonhosted.org/packages/{0}/p/pip/pip-{1}-{0}-none-any.whl"
if version >= Version("21"):

View File

@@ -27,6 +27,8 @@ class PyPybind11(CMakePackage, PythonExtension):
maintainers("ax3l")
version("master", branch="master")
version("2.11.1", sha256="d475978da0cdc2d43b73f30910786759d593a9d8ee05b1b6846d1eb16c6d2e0c")
version("2.11.0", sha256="7af30a84c6810e721829c4646e31927af9d8861e085aa5dd37c3c8b8169fcda1")
version("2.10.4", sha256="832e2f309c57da9c1e6d4542dedd34b24e4192ecb4d62f6f4866a737454c9970")
version("2.10.1", sha256="111014b516b625083bef701df7880f78c2243835abdb263065b6b59b960b6bad")
version("2.10.0", sha256="eacf582fa8f696227988d08cfc46121770823839fe9e301a20fbce67e7cd70ec")
@@ -52,9 +54,6 @@ class PyPybind11(CMakePackage, PythonExtension):
depends_on("py-setuptools@42:", type="build")
depends_on("py-pytest", type="test")
depends_on("python@2.7:2.8,3.5:", type=("build", "run"))
depends_on("python@3.6:", when="@2.10.0:", type=("build", "run"))
depends_on("py-pip", type="build")
depends_on("py-wheel", type="build")
extends("python")
@@ -64,10 +63,12 @@ class PyPybind11(CMakePackage, PythonExtension):
depends_on("cmake@3.13:", type="build")
depends_on("cmake@3.18:", type="build", when="@2.6.0:")
# compiler support
conflicts("%gcc@:4.7")
# https://github.com/pybind/pybind11/#supported-compilers
conflicts("%clang@:3.2")
conflicts("%intel@:16")
conflicts("%apple-clang@:4")
conflicts("%gcc@:4.7")
conflicts("%msvc@:16")
conflicts("%intel@:17")
# https://github.com/pybind/pybind11/pull/1995
@when("@:2.4")

View File

@@ -0,0 +1,19 @@
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class PyPydevtool(PythonPackage):
"""CLI dev tools powered by pydoit."""
homepage = "https://github.com/pydoit/pydevtool"
pypi = "pydevtool/pydevtool-0.3.0.tar.gz"
version("0.3.0", sha256="25e3ba4f3d33ccac33ee2b9775995848d49e9b318b7a146477fb5d52f786fc8a")
depends_on("python@3.8:", type=("build", "run"))
depends_on("py-setuptools", type="build")
depends_on("py-doit@0.36:", type=("build", "run"))

View File

@@ -18,6 +18,9 @@ class PyS3cmd(PythonPackage):
homepage = "https://github.com/s3tools/s3cmd"
url = "https://github.com/s3tools/s3cmd/releases/download/v2.0.2/s3cmd-2.0.2.tar.gz"
version("2.3.0", sha256="15330776e7ff993d8ae0ac213bf896f210719e9b91445f5f7626a8fa7e74e30b")
version("2.2.0", sha256="2a7d2afe09ce5aa9f2ce925b68c6e0c1903dd8d4e4a591cd7047da8e983a99c3")
version("2.1.0", sha256="966b0a494a916fc3b4324de38f089c86c70ee90e8e1cae6d59102103a4c0cc03")
version("2.0.2", sha256="9f244c0c10d58d0ccacbba3aa977463e32491bdd9d95109e27b67e4d46c5bd52")
version("2.0.1", sha256="caf09f1473301c442fba6431c983c361c9af8bde503dac0953f0d2f8f2c53c8f")
version("2.0.0", sha256="bf2a50802f1031cba83e99be488965803899d8ab0228c800c833b55c7269cd48")

View File

@@ -6,191 +6,60 @@
from spack.package import *
class PySetuptools(Package, PythonExtension):
class PySetuptools(PythonPackage):
"""A Python utility that aids in the process of downloading, building,
upgrading, installing, and uninstalling Python packages."""
homepage = "https://github.com/pypa/setuptools"
url = "https://files.pythonhosted.org/packages/py3/s/setuptools/setuptools-62.3.2-py3-none-any.whl"
list_url = "https://pypi.org/simple/setuptools/"
pypi = "setuptools/setuptools-62.3.2.tar.gz"
tags = ["build-tools"]
version(
"68.0.0",
sha256="11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f",
expand=False,
)
version(
"67.6.0",
sha256="b78aaa36f6b90a074c1fa651168723acbf45d14cb1196b6f02c0fd07f17623b2",
expand=False,
)
version(
"65.5.0",
sha256="f62ea9da9ed6289bfe868cd6845968a2c854d1427f8548d52cae02a42b4f0356",
expand=False,
)
version(
"65.0.0",
sha256="fe9a97f68b064a6ddd4bacfb0b4b93a4c65a556d97ce906255540439d0c35cef",
expand=False,
)
version(
"64.0.0",
sha256="63f463b90ff5e0a1422010100268fd688e15c44ae0798659013c8412963e15e4",
expand=False,
)
version(
"63.4.3",
sha256="7f61f7e82647f77d4118eeaf43d64cbcd4d87e38af9611694d4866eb070cd10d",
expand=False,
)
version(
"63.0.0",
sha256="045aec56a3eee5c82373a70e02db8b6da9a10f7faf61ff89a14ab66c738ed370",
expand=False,
)
version(
"62.6.0",
sha256="c1848f654aea2e3526d17fc3ce6aeaa5e7e24e66e645b5be2171f3f6b4e5a178",
expand=False,
)
version(
"62.4.0",
sha256="5a844ad6e190dccc67d6d7411d119c5152ce01f7c76be4d8a1eaa314501bba77",
expand=False,
)
version(
"62.3.2",
sha256="68e45d17c9281ba25dc0104eadd2647172b3472d9e01f911efa57965e8d51a36",
expand=False,
)
version(
"59.4.0",
sha256="feb5ff19b354cde9efd2344ef6d5e79880ce4be643037641b49508bbb850d060",
expand=False,
)
version(
"58.2.0",
sha256="2551203ae6955b9876741a26ab3e767bb3242dafe86a32a749ea0d78b6792f11",
expand=False,
)
version(
"57.4.0",
sha256="a49230977aa6cfb9d933614d2f7b79036e9945c4cdd7583163f4e920b83418d6",
expand=False,
)
version(
"57.1.0",
sha256="ddae4c1b9220daf1e32ba9d4e3714df6019c5b583755559be84ff8199f7e1fe3",
expand=False,
)
version(
"51.0.0",
sha256="8c177936215945c9a37ef809ada0fab365191952f7a123618432bbfac353c529",
expand=False,
)
version(
"50.3.2",
sha256="2c242a0856fbad7efbe560df4a7add9324f340cf48df43651e9604924466794a",
expand=False,
)
version(
"50.1.0",
sha256="4537c77e6e7dc170081f8547564551d4ff4e4999717434e1257600bbd3a23296",
expand=False,
)
version(
"49.6.0",
sha256="4dd5bb0a0a0cff77b46ca5dd3a84857ee48c83e8223886b556613c724994073f",
expand=False,
)
version(
"49.2.0",
sha256="272c7f48f5cddc5af5901f4265274c421c7eede5c8bc454ac2903d3f8fc365e9",
expand=False,
)
version(
"46.1.3",
sha256="4fe404eec2738c20ab5841fa2d791902d2a645f32318a7850ef26f8d7215a8ee",
expand=False,
)
version(
"44.1.1",
sha256="27a714c09253134e60a6fa68130f78c7037e5562c4f21f8f318f2ae900d152d5",
expand=False,
)
version(
"44.1.0",
sha256="992728077ca19db6598072414fb83e0a284aca1253aaf2e24bb1e55ee6db1a30",
expand=False,
)
version(
"43.0.0",
sha256="a67faa51519ef28cd8261aff0e221b6e4c370f8fb8bada8aa3e7ad8945199963",
expand=False,
)
version(
"41.4.0",
sha256="8d01f7ee4191d9fdcd9cc5796f75199deccb25b154eba82d44d6a042cf873670",
expand=False,
)
version(
"41.3.0",
sha256="e9832acd9be6f3174f4c34b40e7d913a146727920cbef6465c1c1bd2d21a4ec4",
expand=False,
)
version(
"41.0.1",
sha256="c7769ce668c7a333d84e17fe8b524b1c45e7ee9f7908ad0a73e1eda7e6a5aebf",
expand=False,
)
version(
"41.0.0",
sha256="e67486071cd5cdeba783bd0b64f5f30784ff855b35071c8670551fd7fc52d4a1",
expand=False,
)
version(
"40.8.0",
sha256="e8496c0079f3ac30052ffe69b679bd876c5265686127a3159cfa415669b7f9ab",
expand=False,
)
version(
"40.4.3",
sha256="ce4137d58b444bac11a31d4e0c1805c69d89e8ed4e91fde1999674ecc2f6f9ff",
expand=False,
)
version(
"40.2.0",
sha256="ea3796a48a207b46ea36a9d26de4d0cc87c953a683a7b314ea65d666930ea8e6",
expand=False,
)
version(
"39.2.0",
sha256="8fca9275c89964f13da985c3656cb00ba029d7f3916b37990927ffdf264e7926",
expand=False,
)
version(
"39.0.1",
sha256="8010754433e3211b9cdbbf784b50f30e80bf40fc6b05eb5f865fab83300599b8",
expand=False,
)
version(
"25.2.0",
sha256="2845247c359bb91097ccf8f6be8a69edfa44847f3d2d5def39aa43c3d7f615ca",
expand=False,
)
version(
"20.7.0",
sha256="8917a52aa3a389893221b173a89dae0471022d32bff3ebc31a1072988aa8039d",
expand=False,
)
version(
"20.6.7",
sha256="9982ee4d279a2541dc1a7efee994ff9c535cfc05315e121e09df7f93da48c442",
expand=False,
)
version("68.0.0", sha256="baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235")
version("67.6.0", sha256="2ee892cd5f29f3373097f5a814697e397cf3ce313616df0af11231e2ad118077")
version("65.5.0", sha256="512e5536220e38146176efb833d4a62aa726b7bbff82cfbc8ba9eaa3996e0b17")
version("65.0.0", sha256="d73f8cd714a1a6691f5eb5abeeacbf313242b7aa2f5eba93776542c1aad90c6f")
version("64.0.0", sha256="9b5d2cb8df48f005825654e0cb17217418317e4d996c035f0bca7cbaeb8acf51")
version("63.4.3", sha256="521c833d1e5e1ef0869940e7f486a83de7773b9f029010ad0c2fe35453a9dad9")
version("63.0.0", sha256="7388e17e72f5c0c7279f59da950a7925910e35bc1a84e19d3affbb40da248d1d")
version("62.6.0", sha256="990a4f7861b31532871ab72331e755b5f14efbe52d336ea7f6118144dd478741")
version("62.4.0", sha256="bf8a748ac98b09d32c9a64a995a6b25921c96cc5743c1efa82763ba80ff54e91")
version("62.3.2", sha256="a43bdedf853c670e5fed28e5623403bad2f73cf02f9a2774e91def6bda8265a7")
version("59.4.0", sha256="b4c634615a0cf5b02cf83c7bedffc8da0ca439f00e79452699454da6fbd4153d")
version("58.2.0", sha256="2c55bdb85d5bb460bd2e3b12052b677879cffcf46c0c688f2e5bf51d36001145")
version("57.4.0", sha256="6bac238ffdf24e8806c61440e755192470352850f3419a52f26ffe0a1a64f465")
version("57.1.0", sha256="cfca9c97e7eebbc8abe18d5e5e962a08dcad55bb63afddd82d681de4d22a597b")
version("51.0.0", sha256="029c49fd713e9230f6a41c0298e6e1f5839f2cde7104c0ad5e053a37777e7688")
version("50.3.2", sha256="ed0519d27a243843b05d82a5e9d01b0b083d9934eaa3d02779a23da18077bd3c")
version("50.1.0", sha256="4a7708dafd2d360ce5e2ac7577374da9fb65fc867bc4cdaf461f9f834dfa6ac3")
version("49.6.0", sha256="46bd862894ed22c2edff033c758c2dc026324788d758e96788e8f7c11f4e9707")
version("49.2.0", sha256="afe9e81fee0270d3f60d52608549cc8ec4c46dada8c95640c1a00160f577acf2")
version("46.1.3", sha256="795e0475ba6cd7fa082b1ee6e90d552209995627a2a227a47c6ea93282f4bfb1")
version("44.1.1", sha256="c67aa55db532a0dadc4d2e20ba9961cbd3ccc84d544e9029699822542b5a476b")
version("44.1.0", sha256="794a96b0c1dc6f182c36b72ab70d7e90f1d59f7a132e6919bb37b4fd4d424aca")
version("43.0.0", sha256="db45ebb4a4b3b95ff0aca3ce5fe1e820ce17be393caf8902c78aa36240e8c378")
version("41.4.0", sha256="7eae782ccf36b790c21bde7d86a4f303a441cd77036b25c559a602cf5186ce4d")
version("41.3.0", sha256="9f5c54b529b2156c6f288e837e625581bb31ff94d4cfd116b8f271c589749556")
version("41.0.1", sha256="a222d126f5471598053c9a77f4b5d4f26eaa1f150ad6e01dcf1a42e185d05613")
version("41.0.0", sha256="79d30254b6fe7a8e672e43cd85f13a9f3f2a50080bc81d851143e2219ef0dcb1")
version("40.8.0", sha256="6e4eec90337e849ade7103723b9a99631c1f0d19990d6e8412dc42f5ae8b304d")
version("40.4.3", sha256="acbc5740dd63f243f46c2b4b8e2c7fd92259c2ddb55a4115b16418a2ed371b15")
version("40.2.0", sha256="47881d54ede4da9c15273bac65f9340f8929d4f0213193fa7894be384f2dcfa6")
version("39.2.0", sha256="f7cddbb5f5c640311eb00eab6e849f7701fa70bf6a183fc8a2c33dd1d1672fb2")
version("39.0.1", sha256="bec7badf0f60e7fc8153fac47836edc41b74e5d541d7692e614e635720d6a7c7")
version("25.2.0", sha256="b2757ddac2c41173140b111e246d200768f6dd314110e1e40661d0ecf9b4d6a6")
version("20.7.0", sha256="505cdf282c5f6e3a056e79f0244b8945f3632257bba8469386c6b9b396400233")
version("20.6.7", sha256="d20152ee6337323d3b6d95cd733fb719d6b4f3fbc40f61f7a48e5a1bb96478b2")
def url_for_version(self, version):
url = self.url.rsplit("/", 1)[0]
if version.satisfies(ver("32.1.2:51.0.0")):
url += "/setuptools-{}.zip"
else:
url += "/setuptools-{}.tar.gz"
return url.format(version)
patch("rpath-compiler-flag.patch", when="@48:58.2")
extends("python")
@@ -200,27 +69,15 @@ class PySetuptools(Package, PythonExtension):
depends_on("python@2.7:2.8,3.5:", when="@44", type=("build", "run"))
depends_on("python@2.7:2.8,3.4:", when="@:43", type=("build", "run"))
# Newer pip requires setuptools to be installed, before building
# setuptools. This issue was fixed or worked around in setuptools 54+
depends_on("py-pip@:18", when="@:53", type="build")
# Uses HTMLParser.unescape
depends_on("python@:3.8", when="@:41.0", type=("build", "run"))
# Uses collections.MutableMapping
depends_on("python@:3.9", when="@:40.4.2", type=("build", "run"))
# https://github.com/pypa/setuptools/issues/3661
conflicts("python@3.12:", when="@:67")
depends_on("py-pip", type="build")
def url_for_version(self, version):
url = "https://files.pythonhosted.org/packages/{0}/s/setuptools/setuptools-{1}-{0}-none-any.whl"
if version >= Version("45.1.0"):
python_tag = "py3"
else:
python_tag = "py2.py3"
return url.format(python_tag, version)
def install(self, spec, prefix):
# When setuptools changes its entry point we might get weird
# incompatibilities if building from sources in a non-isolated environment.
#
# https://github.com/pypa/setuptools/issues/980#issuecomment-1154471423
#
# We work around this issue by installing setuptools from wheels
whl = self.stage.archive_file
args = ["-m", "pip"] + std_pip_args + ["--prefix=" + prefix, whl]
python(*args)
depends_on("python@:3.11", when="@:67", type=("build", "run"))

View File

@@ -0,0 +1,13 @@
diff --git a/setuptools/_distutils/unixccompiler.py b/setuptools/_distutils/unixccompiler.py
--- a/setuptools/_distutils/unixccompiler.py
+++ b/setuptools/_distutils/unixccompiler.py
@@ -257,7 +257,7 @@ class UnixCCompiler(CCompiler):
# No idea how --enable-new-dtags would be passed on to
# ld if this system was using GNU ld. Don't know if a
# system like this even exists.
- return "-R" + dir
+ return "-Wl,-rpath," + dir
def library_option(self, lib):
return "-l" + lib

View File

@@ -12,7 +12,10 @@ class PyTables(PythonPackage):
homepage = "https://www.pytables.org/"
pypi = "tables/tables-3.6.1.tar.gz"
git = "https://github.com/PyTables/PyTables.git"
version("master", branch="master")
version("3.9.0", sha256="27c9ca14c359d875caf945a6a527c12690e017650402dd17d8eb8b6caf6687d5")
version("3.8.0", sha256="34f3fa2366ce20b18f1df573a77c1d27306ce1f2a41d9f9eff621b5192ea8788")
version("3.7.0", sha256="e92a887ad6f2a983e564a69902de4a7645c30069fc01abd353ec5da255c5e1fe")
version("3.6.1", sha256="49a972b8a7c27a8a173aeb05f67acb45fe608b64cd8e9fa667c0962a60b71b49")
@@ -27,38 +30,43 @@ class PyTables(PythonPackage):
variant("lzo", default=False, description="Support for lzo compression")
# pyproject.toml
depends_on("py-setuptools@61:", when="@3.9:", type="build")
depends_on("py-setuptools@42:", when="@3.7:", type="build")
depends_on("py-setuptools", type="build")
depends_on("py-cython@0.29.32:", when="@3.9:", type="build")
depends_on("py-cython@0.29.21:", when="@3.7:3.8", type=("build", "run"))
depends_on("py-cython@0.21:", type="build")
# setup.py
depends_on("python@3.8:", when="@3.8:", type=("build", "run"))
# requirements.txt
depends_on("py-cython@0.29.21:", when="@3.7:", type=("build", "run"))
depends_on("py-cython@0.21:", type="build")
depends_on("py-numpy@1.19:", when="@3.8:", type=("build", "run"))
depends_on("py-numpy@1.9.3:", type=("build", "run"))
depends_on("py-numexpr@2.6.2:", type=("build", "run"))
depends_on("py-blosc2@2.0", type=("build", "run"))
depends_on("py-packaging", when="@3.7:", type=("build", "run"))
depends_on("py-py-cpuinfo", when="@3.8:", type=("build", "run"))
depends_on("py-blosc2@2.2.8:", when="@3.9:", type=("build", "run"))
depends_on("py-blosc2@2.0", when="@3.8", type=("build", "run"))
# tables/req_versions.py
depends_on("hdf5@1.8.4:", when="@3.4.0:")
depends_on("hdf5@1.10.5:", when="@3.8:")
depends_on("hdf5@1.8.4:", when="@3.4:")
depends_on("hdf5@1.8.4:1.8", when="@:3.3")
# Historical dependencies
depends_on("py-six@1.9:", when="@:3.5", type=("build", "run"))
# tables/req_versions.py
# Versions prior to 3.3 must build with the internal blosc due to a lock
# problem in a multithreaded environment.
depends_on("c-blosc@1.11.1:", when="@3.8:")
depends_on("c-blosc@1.4.1:", when="@3.3:")
depends_on("zlib-api", when="+zlib")
depends_on("bzip2", when="+bzip2")
depends_on("lzo", when="+lzo")
conflicts("%apple-clang@15:", when="@:3.8")
# Historical dependencies
depends_on("py-six@1.9:", when="@:3.5", type=("build", "run"))
def setup_build_environment(self, env):
env.set("HDF5_DIR", self.spec["hdf5"].prefix)
if "+bzip2" in self.spec:

View File

@@ -17,6 +17,7 @@ class PyTensorboardx(PythonPackage):
homepage = "https://github.com/lanpa/tensorboardX"
pypi = "tensorboardx/tensorboardX-1.8.tar.gz"
version("2.6.2.2", sha256="c6476d7cd0d529b0b72f4acadb1269f9ed8b22f441e87a84f2a3b940bb87b666")
version("2.5.1", sha256="ea85a3446f22ce8a917fe4fa4d8a7a96222ef84ac835267d038c34bb99f6d61b")
version("2.1", sha256="9e8907cf2ab900542d6cb72bf91aa87b43005a7f0aa43126268697e3727872f9")
version("2.0", sha256="835d85db0aef2c6768f07c35e69a74e3dcb122d6afceaf2b8504d7d16c7209a5")
@@ -24,7 +25,10 @@ class PyTensorboardx(PythonPackage):
version("1.8", sha256="13fe0abba27f407778a7321937190eedaf12bc8c544d9a4e294fcf0ba177fd76")
depends_on("py-setuptools", type="build")
depends_on("py-setuptools-scm", when="@2.6.2.2:", type="build")
depends_on("py-numpy", type=("build", "run"))
depends_on("py-protobuf@3.8.0:3.20.1", type=("build", "run"))
depends_on("py-protobuf@3.8.0:3.20.1", when="@:2.5.1", type=("build", "run"))
depends_on("py-protobuf@3.20:", when="@2.6.2.2:", type=("build", "run"))
depends_on("py-packaging", when="@2.6.2.2:", type=("build", "run"))
depends_on("py-six", when="@:2.1", type=("build", "run"))

View File

@@ -437,6 +437,9 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension):
conflicts("~rocm", when="@2.7.4-rocm-enhanced")
conflicts("+rocm", when="@:2.7.4-a,2.7.4.0:")
# wheel 0.40 upgrades vendored packaging, trips over tensorflow-io-gcs-filesystem identifier
conflicts("^py-wheel@0.40:", when="@2.11:2.13")
# https://www.tensorflow.org/install/source#tested_build_configurations
conflicts("%gcc@:9.3.0", when="@2.9:")
conflicts("%gcc@:7.3.0", when="@1.15:")

View File

@@ -13,6 +13,7 @@ class PyTokenizers(PythonPackage):
homepage = "https://github.com/huggingface/tokenizers"
pypi = "tokenizers/tokenizers-0.6.0.tar.gz"
version("0.13.3", sha256="2e546dbb68b623008a5442353137fbb0123d311a6d7ba52f2667c8862a75af2e")
version("0.13.1", sha256="3333d1cee5c8f47c96362ea0abc1f81c77c9b92c6c3d11cbf1d01985f0d5cf1d")
version("0.10.3", sha256="1a5d3b596c6d3a237e1ad7f46c472d467b0246be7fd1a364f12576eb8db8f7e6")
version("0.6.0", sha256="1da11fbfb4f73be695bed0d655576097d09a137a16dceab2f66399716afaffac")

View File

@@ -13,18 +13,19 @@ class PyTorchSparse(PythonPackage):
homepage = "https://github.com/rusty1s/pytorch_sparse/"
url = "https://github.com/rusty1s/pytorch_sparse/archive/0.6.7.tar.gz"
version("0.6.17", sha256="c964a70ed978bff65009250eb12fae96317c60c9a04d7d1b07f0beee8b4b9c22")
version("0.6.8", sha256="98f7ff1f0f9cd5031bc81c70c11970c3864545ae33677025a6efd2466a97e6f9")
version("0.6.7", sha256="0d038a1502548692972a085cd0496460b5d2050bb7328427add990f081d6c44d")
variant("cuda", default=False, description="Enable CUDA support")
depends_on("python@3.6:", type=("build", "run"))
depends_on("py-setuptools", type="build")
depends_on("py-pytest-runner", type="build")
depends_on("py-pytest-runner", when="@:0.6.8", type="build")
depends_on("py-scipy", type=("build", "run"))
depends_on("py-torch", type=("build", "run"))
depends_on("py-torch-scatter+cuda", when="+cuda")
depends_on("py-torch-scatter~cuda", when="~cuda")
depends_on("parallel-hashmap", when="@0.6.17:")
def setup_build_environment(self, env):
if "+cuda" in self.spec:

View File

@@ -11,11 +11,11 @@
class PyTorch(PythonPackage, CudaPackage, ROCmPackage):
"""Tensors and Dynamic neural networks in Python
with strong GPU acceleration."""
"""Tensors and Dynamic neural networks in Python with strong GPU acceleration."""
homepage = "https://pytorch.org/"
git = "https://github.com/pytorch/pytorch.git"
submodules = True
maintainers("adamjstewart")
@@ -23,89 +23,36 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage):
# core libraries to ensure that the package was successfully installed.
import_modules = ["torch", "torch.autograd", "torch.nn", "torch.utils"]
version("main", branch="main", submodules=True)
version("master", branch="main", submodules=True, deprecated=True)
version(
"2.0.1", tag="v2.0.1", commit="e9ebda29d87ce0916ab08c06ab26fd3766a870e5", submodules=True
)
version(
"2.0.0", tag="v2.0.0", commit="c263bd43e8e8502d4726643bc6fd046f0130ac0e", submodules=True
)
version(
"1.13.1", tag="v1.13.1", commit="49444c3e546bf240bed24a101e747422d1f8a0ee", submodules=True
)
version(
"1.13.0", tag="v1.13.0", commit="7c98e70d44abc7a1aead68b6ea6c8adc8c554db5", submodules=True
)
version(
"1.12.1", tag="v1.12.1", commit="664058fa83f1d8eede5d66418abff6e20bd76ca8", submodules=True
)
version(
"1.12.0", tag="v1.12.0", commit="67ece03c8cd632cce9523cd96efde6f2d1cc8121", submodules=True
)
version(
"1.11.0", tag="v1.11.0", commit="bc2c6edaf163b1a1330e37a6e34caf8c553e4755", submodules=True
)
version(
"1.10.2", tag="v1.10.2", commit="71f889c7d265b9636b93ede9d651c0a9c4bee191", submodules=True
)
version(
"1.10.1", tag="v1.10.1", commit="302ee7bfb604ebef384602c56e3853efed262030", submodules=True
)
version(
"1.10.0", tag="v1.10.0", commit="36449ea93134574c2a22b87baad3de0bf8d64d42", submodules=True
)
version(
"1.9.1", tag="v1.9.1", commit="dfbd030854359207cb3040b864614affeace11ce", submodules=True
)
version(
"1.9.0", tag="v1.9.0", commit="d69c22dd61a2f006dcfe1e3ea8468a3ecaf931aa", submodules=True
)
version(
"1.8.2", tag="v1.8.2", commit="e0495a7aa104471d95dc85a1b8f6473fbcc427a8", submodules=True
)
version(
"1.8.1", tag="v1.8.1", commit="56b43f4fec1f76953f15a627694d4bba34588969", submodules=True
)
version(
"1.8.0", tag="v1.8.0", commit="37c1f4a7fef115d719104e871d0cf39434aa9d56", submodules=True
)
version(
"1.7.1", tag="v1.7.1", commit="57bffc3a8e4fee0cce31e1ff1f662ccf7b16db57", submodules=True
)
version(
"1.7.0", tag="v1.7.0", commit="e85d494707b835c12165976b8442af54b9afcb26", submodules=True
)
version(
"1.6.0", tag="v1.6.0", commit="b31f58de6fa8bbda5353b3c77d9be4914399724d", submodules=True
)
version(
"1.5.1", tag="v1.5.1", commit="3c31d73c875d9a4a6ea8a843b9a0d1b19fbe36f3", submodules=True
)
version(
"1.5.0", tag="v1.5.0", commit="4ff3872a2099993bf7e8c588f7182f3df777205b", submodules=True
)
version(
"1.4.1", tag="v1.4.1", commit="74044638f755cd8667bedc73da4dbda4aa64c948", submodules=True
)
version(
"1.3.1", tag="v1.3.1", commit="ee77ccbb6da4e2efd83673e798acf7081bc03564", submodules=True
)
version(
"1.3.0", tag="v1.3.0", commit="de394b672d0346f2f387a8bb1a1280d5d2eaf9cb", submodules=True
)
version(
"1.2.0", tag="v1.2.0", commit="8554416a199c4cec01c60c7015d8301d2bb39b64", submodules=True
)
version(
"1.1.0", tag="v1.1.0", commit="142c973f4179e768164cd578951489e89021b29c", submodules=True
)
version(
"1.0.1", tag="v1.0.1", commit="83221655a8237ca80f9673dad06a98d34c43e546", submodules=True
)
version(
"1.0.0", tag="v1.0.0", commit="db5d3131d16f57abd4f13d3f4b885d5f67bf6644", submodules=True
)
version("main", branch="main")
version("master", branch="main", deprecated=True)
version("2.1.0", tag="v2.1.0", commit="7bcf7da3a268b435777fe87c7794c382f444e86d")
version("2.0.1", tag="v2.0.1", commit="e9ebda29d87ce0916ab08c06ab26fd3766a870e5")
version("2.0.0", tag="v2.0.0", commit="c263bd43e8e8502d4726643bc6fd046f0130ac0e")
version("1.13.1", tag="v1.13.1", commit="49444c3e546bf240bed24a101e747422d1f8a0ee")
version("1.13.0", tag="v1.13.0", commit="7c98e70d44abc7a1aead68b6ea6c8adc8c554db5")
version("1.12.1", tag="v1.12.1", commit="664058fa83f1d8eede5d66418abff6e20bd76ca8")
version("1.12.0", tag="v1.12.0", commit="67ece03c8cd632cce9523cd96efde6f2d1cc8121")
version("1.11.0", tag="v1.11.0", commit="bc2c6edaf163b1a1330e37a6e34caf8c553e4755")
version("1.10.2", tag="v1.10.2", commit="71f889c7d265b9636b93ede9d651c0a9c4bee191")
version("1.10.1", tag="v1.10.1", commit="302ee7bfb604ebef384602c56e3853efed262030")
version("1.10.0", tag="v1.10.0", commit="36449ea93134574c2a22b87baad3de0bf8d64d42")
version("1.9.1", tag="v1.9.1", commit="dfbd030854359207cb3040b864614affeace11ce")
version("1.9.0", tag="v1.9.0", commit="d69c22dd61a2f006dcfe1e3ea8468a3ecaf931aa")
version("1.8.2", tag="v1.8.2", commit="e0495a7aa104471d95dc85a1b8f6473fbcc427a8")
version("1.8.1", tag="v1.8.1", commit="56b43f4fec1f76953f15a627694d4bba34588969")
version("1.8.0", tag="v1.8.0", commit="37c1f4a7fef115d719104e871d0cf39434aa9d56")
version("1.7.1", tag="v1.7.1", commit="57bffc3a8e4fee0cce31e1ff1f662ccf7b16db57")
version("1.7.0", tag="v1.7.0", commit="e85d494707b835c12165976b8442af54b9afcb26")
version("1.6.0", tag="v1.6.0", commit="b31f58de6fa8bbda5353b3c77d9be4914399724d")
version("1.5.1", tag="v1.5.1", commit="3c31d73c875d9a4a6ea8a843b9a0d1b19fbe36f3")
version("1.5.0", tag="v1.5.0", commit="4ff3872a2099993bf7e8c588f7182f3df777205b")
version("1.4.1", tag="v1.4.1", commit="74044638f755cd8667bedc73da4dbda4aa64c948")
version("1.3.1", tag="v1.3.1", commit="ee77ccbb6da4e2efd83673e798acf7081bc03564")
version("1.3.0", tag="v1.3.0", commit="de394b672d0346f2f387a8bb1a1280d5d2eaf9cb")
version("1.2.0", tag="v1.2.0", commit="8554416a199c4cec01c60c7015d8301d2bb39b64")
version("1.1.0", tag="v1.1.0", commit="142c973f4179e768164cd578951489e89021b29c")
version("1.0.1", tag="v1.0.1", commit="83221655a8237ca80f9673dad06a98d34c43e546")
version("1.0.0", tag="v1.0.0", commit="db5d3131d16f57abd4f13d3f4b885d5f67bf6644")
is_darwin = sys.platform == "darwin"
@@ -191,12 +138,10 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage):
# See python_min_version in setup.py
# Upper bounds come from wheel availability on PyPI
depends_on("python@3.8:3.11", when="@2:", type=("build", "link", "run"))
depends_on("python@3.7:3.10", when="@1.11:1", type=("build", "link", "run"))
depends_on("python@3.6.2:3.9", when="@1.7.1:1.10", type=("build", "link", "run"))
depends_on("python@3.6.1:3.8", when="@1.6:1.7.0", type=("build", "link", "run"))
depends_on("python@3.5:3.8", when="@1.5", type=("build", "link", "run"))
depends_on("python@2.7:2,3.5:3.8", when="@1.4", type=("build", "link", "run"))
depends_on("python@2.7:2,3.5:3.7", when="@:1.3", type=("build", "link", "run"))
depends_on("python@:3.10", when="@1.11:1", type=("build", "link", "run"))
depends_on("python@:3.9", when="@1.7.1:1.10", type=("build", "link", "run"))
depends_on("python@:3.8", when="@1.4:1.7.0", type=("build", "link", "run"))
depends_on("python@:3.7", when="@:1.3", type=("build", "link", "run"))
# CMakelists.txt
depends_on("cmake@3.18:", when="@2:", type="build")
@@ -221,6 +166,7 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage):
depends_on("py-sympy", when="@2:", type=("build", "run"))
depends_on("py-networkx", when="@2:", type=("build", "run"))
depends_on("py-jinja2", when="@2:", type=("build", "run"))
depends_on("py-fsspec", when="@2.1:", type=("build", "run"))
# Undocumented dependencies
depends_on("py-tqdm", type="run")
@@ -228,7 +174,8 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage):
depends_on("lapack")
# third_party
depends_on("py-pybind11@2.10.1", when="@2:", type=("build", "link", "run"))
depends_on("py-pybind11@2.11.0", when="@2.1:", type=("build", "link", "run"))
depends_on("py-pybind11@2.10.1", when="@2.0", type=("build", "link", "run"))
depends_on("py-pybind11@2.10.0", when="@1.13:1", type=("build", "link", "run"))
depends_on("py-pybind11@2.6.2", when="@1.8:1.12", type=("build", "link", "run"))
depends_on("py-pybind11@2.3.0", when="@1.1:1.7", type=("build", "link", "run"))
@@ -243,7 +190,8 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage):
depends_on("protobuf@:3", type=("build", "run"))
depends_on("eigen")
# https://github.com/pytorch/pytorch/issues/60329
# depends_on("cpuinfo@2022-08-19", when="@1.13:")
# depends_on("cpuinfo@2023-01-13", when="@2.1:")
# depends_on("cpuinfo@2022-08-19", when="@1.13:2.0")
# depends_on("cpuinfo@2020-12-17", when="@1.8:1.12")
# depends_on("cpuinfo@2020-06-11", when="@1.6:1.7")
# https://github.com/shibatch/sleef/issues/427
@@ -300,14 +248,16 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage):
# depends_on("xnnpack@2020-03-23", when="@1.6:1.7+xnnpack")
depends_on("mpi", when="+mpi")
# https://github.com/pytorch/pytorch/issues/60270
# depends_on("gloo@2023-01-17", when="@2:+gloo")
# depends_on("gloo@2023-05-19", when="@2.1:+gloo")
# depends_on("gloo@2023-01-17", when="@2.0+gloo")
# depends_on("gloo@2022-05-18", when="@1.13:1+gloo")
# depends_on("gloo@2021-05-21", when="@1.10:1.12+gloo")
# depends_on("gloo@2021-05-04", when="@1.9+gloo")
# depends_on("gloo@2020-09-18", when="@1.7:1.8+gloo")
# depends_on("gloo@2020-03-17", when="@1.6+gloo")
# https://github.com/pytorch/pytorch/issues/60331
# depends_on("onnx@1.13.1", when="@2:+onnx_ml")
# depends_on("onnx@1.14.1", when="@2.1:+onnx_ml")
# depends_on("onnx@1.13.1", when="@2.0+onnx_ml")
# depends_on("onnx@1.12.0", when="@1.13:1+onnx_ml")
# depends_on("onnx@1.11.0", when="@1.12+onnx_ml")
# depends_on("onnx@1.10.1_2021-10-08", when="@1.11+onnx_ml")
@@ -420,7 +370,22 @@ class PyTorch(PythonPackage, CudaPackage, ROCmPackage):
sha256="a54db63640b90e5833cc1099c0935572f5297d2d8625f62f01ac1fda79ed4569",
when="@1.13 arch=ppc64le:",
)
conflicts("arch=ppc64le:", when="@:1.9,2:")
patch(
"https://github.com/open-ce/pytorch-feedstock/raw/open-ce-v1.9.0/pytorch-2.0/recipe/0309-fallback-to-cpu_kernel-with-VSX.patch",
sha256="27f41c8d6cb61e69e761be62f03dc1ce023cbca34926e3ba559996821a7ce726",
when="@2.0 arch=ppc64le:",
)
patch(
"https://github.com/open-ce/pytorch-feedstock/raw/open-ce-v1.9.0/pytorch-2.0/recipe/0310-PR100149.patch",
sha256="1adbd38a9cc1611f1caaa325614695f4349d9ffd236332e0d8f0de5a3880f4dd",
when="@2.0 arch=ppc64le:",
)
patch(
"https://github.com/open-ce/pytorch-feedstock/raw/open-ce-v1.10.0/pytorch-2.0/recipe/0311-PR104956.patch",
sha256="be27c906924a21be198a3ea6c459739a1daa8b8b89045af339dafa4cd6f90d6c",
when="@2.0 arch=ppc64le:",
)
conflicts("arch=ppc64le:", when="@:1.9")
# Cherry-pick a patch to allow earlier versions of PyTorch to work with CUDA 11.4
patch(

View File

@@ -8,93 +8,41 @@
class PyTorchaudio(PythonPackage):
"""The aim of torchaudio is to apply PyTorch to the audio
domain. By supporting PyTorch, torchaudio follows the same
philosophy of providing strong GPU acceleration, having a focus on
trainable features through the autograd system, and having
consistent style (tensor names and dimension names). Therefore, it
is primarily a machine learning library and not a general signal
processing library. The benefits of Pytorch is be seen in
torchaudio through having all the computations be through Pytorch
operations which makes it easy to use and feel like a natural
extension."""
"""An audio package for PyTorch."""
homepage = "https://github.com/pytorch/audio"
git = "https://github.com/pytorch/audio.git"
submodules = True
version("main", branch="main", submodules=True)
version(
"2.0.2", tag="v2.0.2", commit="31de77dad5c89274451b3f5c4bcb630be12787c4", submodules=True
)
version(
"2.0.1", tag="v2.0.1", commit="3b40834aca41957002dfe074175e900cf8906237", submodules=True
)
version(
"0.13.1", tag="v0.13.1", commit="b90d79882c3521fb3882833320b4b85df3b622f4", submodules=True
)
version(
"0.13.0", tag="v0.13.0", commit="bc8640b4722abf6587fb4cc2521da45aeb55a711", submodules=True
)
version(
"0.12.1", tag="v0.12.1", commit="58da31733e08438f9d1816f55f54756e53872a92", submodules=True
)
version(
"0.12.0", tag="v0.12.0", commit="2e1388401c434011e9f044b40bc8374f2ddfc414", submodules=True
)
version(
"0.11.0", tag="v0.11.0", commit="820b383b3b21fc06e91631a5b1e6ea1557836216", submodules=True
)
version(
"0.10.2", tag="v0.10.2", commit="6f539cf3edc4224b51798e962ca28519e5479ffb", submodules=True
)
version(
"0.10.1", tag="v0.10.1", commit="4b64f80bef85bd951ea35048c461c8304e7fc4c4", submodules=True
)
version(
"0.10.0", tag="v0.10.0", commit="d2634d866603c1e2fc8e44cd6e9aea7ddd21fe29", submodules=True
)
version(
"0.9.1", tag="v0.9.1", commit="a85b2398722182dd87e76d9ffcbbbf7e227b83ce", submodules=True
)
version(
"0.9.0", tag="v0.9.0", commit="33b2469744955e2129c6367457dffe9bb4b05dea", submodules=True
)
version(
"0.8.2", tag="v0.8.2", commit="d254d547d183e7203e455de6b99e56d3ffdd4499", submodules=True
)
version(
"0.8.1", tag="v0.8.1", commit="e4e171a51714b2b2bd79e1aea199c3f658eddf9a", submodules=True
)
version(
"0.8.0", tag="v0.8.0", commit="099d7883c6b7af1d1c3b416191e5f3edf492e104", submodules=True
)
version(
"0.7.2", tag="v0.7.2", commit="a853dff25de36cc637b1f02029343790d2dd0199", submodules=True
)
version(
"0.7.0", tag="v0.7.0", commit="ac17b64f4daedd45d0495e2512e22eaa6e5b7eeb", submodules=True
)
version(
"0.6.0", tag="v0.6.0", commit="f17ae39ff9da0df8f795fef2fcc192f298f81268", submodules=True
)
version(
"0.5.1", tag="v0.5.1", commit="71434798460a4ceca9d42004567ef419c62a612e", submodules=True
)
version(
"0.5.0", tag="v0.5.0", commit="09494ea545738538f9db2dceeffe10d421060ee5", submodules=True
)
version(
"0.4.0", tag="v0.4.0", commit="8afed303af3de41f3586007079c0534543c8f663", submodules=True
)
version("main", branch="main")
version("2.1.0", tag="v2.1.0", commit="6ea1133706801ec6e81bb29142da2e21a8583a0a")
version("2.0.2", tag="v2.0.2", commit="31de77dad5c89274451b3f5c4bcb630be12787c4")
version("2.0.1", tag="v2.0.1", commit="3b40834aca41957002dfe074175e900cf8906237")
version("0.13.1", tag="v0.13.1", commit="b90d79882c3521fb3882833320b4b85df3b622f4")
version("0.13.0", tag="v0.13.0", commit="bc8640b4722abf6587fb4cc2521da45aeb55a711")
version("0.12.1", tag="v0.12.1", commit="58da31733e08438f9d1816f55f54756e53872a92")
version("0.12.0", tag="v0.12.0", commit="2e1388401c434011e9f044b40bc8374f2ddfc414")
version("0.11.0", tag="v0.11.0", commit="820b383b3b21fc06e91631a5b1e6ea1557836216")
version("0.10.2", tag="v0.10.2", commit="6f539cf3edc4224b51798e962ca28519e5479ffb")
version("0.10.1", tag="v0.10.1", commit="4b64f80bef85bd951ea35048c461c8304e7fc4c4")
version("0.10.0", tag="v0.10.0", commit="d2634d866603c1e2fc8e44cd6e9aea7ddd21fe29")
version("0.9.1", tag="v0.9.1", commit="a85b2398722182dd87e76d9ffcbbbf7e227b83ce")
version("0.9.0", tag="v0.9.0", commit="33b2469744955e2129c6367457dffe9bb4b05dea")
version("0.8.2", tag="v0.8.2", commit="d254d547d183e7203e455de6b99e56d3ffdd4499")
version("0.8.1", tag="v0.8.1", commit="e4e171a51714b2b2bd79e1aea199c3f658eddf9a")
version("0.8.0", tag="v0.8.0", commit="099d7883c6b7af1d1c3b416191e5f3edf492e104")
version("0.7.2", tag="v0.7.2", commit="a853dff25de36cc637b1f02029343790d2dd0199")
version("0.7.0", tag="v0.7.0", commit="ac17b64f4daedd45d0495e2512e22eaa6e5b7eeb")
version("0.6.0", tag="v0.6.0", commit="f17ae39ff9da0df8f795fef2fcc192f298f81268")
version("0.5.1", tag="v0.5.1", commit="71434798460a4ceca9d42004567ef419c62a612e")
version("0.5.0", tag="v0.5.0", commit="09494ea545738538f9db2dceeffe10d421060ee5")
version("0.4.0", tag="v0.4.0", commit="8afed303af3de41f3586007079c0534543c8f663")
# https://github.com/pytorch/audio#dependencies
# https://pytorch.org/audio/main/installation.html#dependencies
depends_on("python@3.8:3.11", when="@2:", type=("build", "link", "run"))
depends_on("python@3.7:3.10", when="@0.12:0", type=("build", "link", "run"))
depends_on("python@3.7:3.9", when="@0.11", type=("build", "link", "run"))
depends_on("python@3.6:3.9", when="@0.7.2:0.10", type=("build", "link", "run"))
depends_on("python@3.6:3.8", when="@0.6:0.7.0", type=("build", "link", "run"))
depends_on("python@3.5:3.8", when="@0.5", type=("build", "link", "run"))
depends_on("python@2.7,3.5:3.8", when="@0.4", type=("build", "link", "run"))
depends_on("python@:3.10", when="@0.12:0", type=("build", "link", "run"))
depends_on("python@:3.9", when="@0.7.2:0.11", type=("build", "link", "run"))
depends_on("python@:3.8", when="@:0.7.0", type=("build", "link", "run"))
# CMakelists.txt
depends_on("cmake@3.18:", when="@0.10:", type="build")
@@ -107,8 +55,8 @@ class PyTorchaudio(PythonPackage):
depends_on("pkgconfig", type="build")
depends_on("sox")
# https://github.com/pytorch/audio#dependencies
depends_on("py-torch@master", when="@main", type=("build", "link", "run"))
depends_on("py-torch@main", when="@main", type=("build", "link", "run"))
depends_on("py-torch@2.1.0", when="@2.1.0", type=("build", "link", "run"))
depends_on("py-torch@2.0.1", when="@2.0.2", type=("build", "link", "run"))
depends_on("py-torch@2.0.0", when="@2.0.1", type=("build", "link", "run"))
depends_on("py-torch@1.13.1", when="@0.13.1", type=("build", "link", "run"))

View File

@@ -16,6 +16,7 @@ class PyTorchdata(PythonPackage):
maintainers("adamjstewart")
version("main", branch="main")
version("0.7.0-rc1", sha256="9d48e1a5bc0fa4e50976b89aea38d028dcb7e580dba594755d266e19c369b747")
version("0.6.1", sha256="c596db251c5e6550db3f00e4308ee7112585cca4d6a1c82a433478fd86693257")
version("0.6.0", sha256="048dea12ee96c0ea1525097959fee811d7b38c2ed05f44a90f35f8961895fb5b")
version("0.5.1", sha256="69d80bd33ce8f08e7cfeeb71cefddfc29cede25a85881e33dbae47576b96ed29")
@@ -36,7 +37,8 @@ class PyTorchdata(PythonPackage):
depends_on("ninja", when="@0.4:", type="build")
# https://github.com/pytorch/data#version-compatibility
depends_on("py-torch@master", when="@main", type=("build", "run"))
depends_on("py-torch@main", when="@main", type=("build", "run"))
depends_on("py-torch@2.1.0", when="@0.7.0", type=("build", "run"))
depends_on("py-torch@2.0.1", when="@0.6.1", type=("build", "run"))
depends_on("py-torch@2.0.0", when="@0.6.0", type=("build", "run"))
depends_on("py-torch@1.13.1", when="@0.5.1", type=("build", "run"))

View File

@@ -8,67 +8,37 @@
class PyTorchtext(PythonPackage):
"""Text utilities and datasets for PyTorch."""
"""Text utilities, models, transforms, and datasets for PyTorch."""
homepage = "https://github.com/pytorch/text"
git = "https://github.com/pytorch/text.git"
submodules = True
maintainers("adamjstewart")
version("main", branch="main", submodules=True)
version(
"0.15.2", tag="v0.15.2", commit="4571036cf66c539e50625218aeb99a288d79f3e1", submodules=True
)
version(
"0.15.1", tag="v0.15.1", commit="c696895e524c61fd2b8b26916dd006411c5f3ba5", submodules=True
)
version(
"0.14.1", tag="v0.14.1", commit="e1e969d4947bb3dd01ea927af2f8ac9a2d778c39", submodules=True
)
version(
"0.14.0", tag="v0.14.0", commit="e2b27f9b06ca71d55c2fcf6d47c60866ee936f40", submodules=True
)
version(
"0.13.1", tag="v0.13.1", commit="330201f1132dcd0981180c19bc6843a19d310ff0", submodules=True
)
version(
"0.13.0", tag="v0.13.0", commit="35298c43f3ce908fe06c177ecbd8ef1503a1292b", submodules=True
)
version(
"0.12.0", tag="v0.12.0", commit="d7a34d6ae0f4e36a52777854d0163b9e85f1576b", submodules=True
)
version(
"0.11.2", tag="v0.11.2", commit="92f4d158d8cbe9136896befa2d4234ea8b8e2795", submodules=True
)
version(
"0.11.1", tag="v0.11.1", commit="5c65ec05d7c1eba5b0ea2d7ee170ccf977d9674f", submodules=True
)
version(
"0.10.1", tag="v0.10.1", commit="0d670e03c1eee7e30e032bb96df4c12b785a15ff", submodules=True
)
version(
"0.10.0", tag="v0.10.0", commit="4da1de36247aa06622088e78508e0e38a4392e38", submodules=True
)
version(
"0.9.2", tag="v0.9.2", commit="22e5ee7548a85190eee78e8ed6c8911ec2c53035", submodules=True
)
version(
"0.8.1", tag="v0.8.1", commit="0f911ec35ab020983efbf36b8c14415651e98618", submodules=True
)
version(
"0.6.0", tag="0.6.0", commit="3a54c7f52584f201c17ca7489b52b812152612dc", submodules=True
)
version(
"0.5.0", tag="0.5.0", commit="0169cde2f1d446ae886ef0be07e9a673585ed256", submodules=True
)
version("main", branch="main")
version("0.16.0", tag="v0.16.0", commit="4e255c95c76b1ccde4f6650391c0bc30650d6dbe")
version("0.15.2", tag="v0.15.2", commit="4571036cf66c539e50625218aeb99a288d79f3e1")
version("0.15.1", tag="v0.15.1", commit="c696895e524c61fd2b8b26916dd006411c5f3ba5")
version("0.14.1", tag="v0.14.1", commit="e1e969d4947bb3dd01ea927af2f8ac9a2d778c39")
version("0.14.0", tag="v0.14.0", commit="e2b27f9b06ca71d55c2fcf6d47c60866ee936f40")
version("0.13.1", tag="v0.13.1", commit="330201f1132dcd0981180c19bc6843a19d310ff0")
version("0.13.0", tag="v0.13.0", commit="35298c43f3ce908fe06c177ecbd8ef1503a1292b")
version("0.12.0", tag="v0.12.0", commit="d7a34d6ae0f4e36a52777854d0163b9e85f1576b")
version("0.11.2", tag="v0.11.2", commit="92f4d158d8cbe9136896befa2d4234ea8b8e2795")
version("0.11.1", tag="v0.11.1", commit="5c65ec05d7c1eba5b0ea2d7ee170ccf977d9674f")
version("0.10.1", tag="v0.10.1", commit="0d670e03c1eee7e30e032bb96df4c12b785a15ff")
version("0.10.0", tag="v0.10.0", commit="4da1de36247aa06622088e78508e0e38a4392e38")
version("0.9.2", tag="v0.9.2", commit="22e5ee7548a85190eee78e8ed6c8911ec2c53035")
version("0.8.1", tag="v0.8.1", commit="0f911ec35ab020983efbf36b8c14415651e98618")
version("0.6.0", tag="0.6.0", commit="3a54c7f52584f201c17ca7489b52b812152612dc")
version("0.5.0", tag="0.5.0", commit="0169cde2f1d446ae886ef0be07e9a673585ed256")
# https://github.com/pytorch/text#installation
depends_on("python@3.8:3.11", when="@2:", type=("build", "link", "run"))
depends_on("python@3.7:3.10", when="@0.13:1", type=("build", "link", "run"))
depends_on("python@3.6:3.9", when="@0.8.1:0.12", type=("build", "link", "run"))
depends_on("python@3.6:3.8", when="@0.7:0.8.0", type=("build", "link", "run"))
depends_on("python@3.5:3.8", when="@0.6", type=("build", "link", "run"))
depends_on("python@2.7,3.5:3.8", when="@:0.5", type=("build", "link", "run"))
depends_on("python@3.8:3.11", when="@0.15:", type=("build", "link", "run"))
depends_on("python@:3.10", when="@0.13:0.14", type=("build", "link", "run"))
depends_on("python@:3.9", when="@0.8.1:0.12", type=("build", "link", "run"))
depends_on("python@:3.8", when="@:0.8.0", type=("build", "link", "run"))
# CMakelists.txt
depends_on("cmake@3.18:", when="@0.13:", type="build")
@@ -79,13 +49,16 @@ class PyTorchtext(PythonPackage):
depends_on("py-tqdm", type=("build", "run"))
depends_on("py-requests", type=("build", "run"))
depends_on("py-numpy", type=("build", "run"))
depends_on("py-torchdata@0.6:", when="@0.15:", type=("build", "run"))
depends_on("py-torchdata@0.7.0", when="@0.16.0", type=("build", "run"))
depends_on("py-torchdata@0.6.1", when="@0.15.2", type=("build", "run"))
depends_on("py-torchdata@0.6.0", when="@0.15.1", type=("build", "run"))
depends_on("py-pybind11", when="@0.8:", type=("build", "link"))
depends_on("py-six", when="@:0.6", type=("build", "run"))
depends_on("py-sentencepiece", when="@:0.7", type=("build", "run"))
# https://github.com/pytorch/text#installation
depends_on("py-torch@master", when="@main", type=("build", "link", "run"))
depends_on("py-torch@main", when="@main", type=("build", "link", "run"))
depends_on("py-torch@2.1.0", when="@0.16.0", type=("build", "link", "run"))
depends_on("py-torch@2.0.1", when="@0.15.2", type=("build", "link", "run"))
depends_on("py-torch@2.0.0", when="@0.15.1", type=("build", "link", "run"))
depends_on("py-torch@1.13.1", when="@0.14.1", type=("build", "link", "run"))

View File

@@ -8,8 +8,7 @@
class PyTorchvision(PythonPackage):
"""The torchvision package consists of popular datasets, model
architectures, and common image transformations for computer vision."""
"""Image and video datasets and models for torch deep learning."""
homepage = "https://github.com/pytorch/vision"
url = "https://github.com/pytorch/vision/archive/v0.8.2.tar.gz"
@@ -18,6 +17,7 @@ class PyTorchvision(PythonPackage):
maintainers("adamjstewart")
version("main", branch="main")
version("0.16.0", sha256="79b30b082237e3ead21e74587cedf4a4d832f977cf7dfeccfb65f67988b12ceb")
version("0.15.2", sha256="1efcb80e0a6e42c54f07ee16167839b4d302aeeecc12839cc47c74b06a2c20d4")
version("0.15.1", sha256="689d23d4ebb0c7e54e8651c89b17155b64341c14ae4444a04ca7dc6f2b6a0a43")
version("0.14.1", sha256="ced67e1cf1f97e168cdf271851a4d0b6d382ab7936e7bcbb39aaa87239c324b6")
@@ -55,15 +55,14 @@ class PyTorchvision(PythonPackage):
# https://github.com/pytorch/vision#installation
depends_on("python@3.8:3.11", when="@0.15:", type=("build", "link", "run"))
depends_on("python@3.7:3.10", when="@0.12:0.14", type=("build", "link", "run"))
depends_on("python@3.6:3.9", when="@0.8.2:0.11", type=("build", "link", "run"))
depends_on("python@3.6:3.8", when="@0.7:0.8.1", type=("build", "link", "run"))
depends_on("python@3.5:3.8", when="@0.6", type=("build", "link", "run"))
depends_on("python@2.7,3.5:3.8", when="@0.5", type=("build", "link", "run"))
depends_on("python@2.7,3.5:3.7", when="@:0.4", type=("build", "link", "run"))
depends_on("python@:3.10", when="@0.12:0.14", type=("build", "link", "run"))
depends_on("python@:3.9", when="@0.8.2:0.11", type=("build", "link", "run"))
depends_on("python@:3.8", when="@0.5:0.8.1", type=("build", "link", "run"))
depends_on("python@:3.7", when="@:0.4", type=("build", "link", "run"))
# https://github.com/pytorch/vision#installation
depends_on("py-torch@main", when="@main", type=("build", "link", "run"))
depends_on("py-torch@2.1.0", when="@0.16.0", type=("build", "link", "run"))
depends_on("py-torch@2.0.1", when="@0.15.2", type=("build", "link", "run"))
depends_on("py-torch@2.0.0", when="@0.15.1", type=("build", "link", "run"))
depends_on("py-torch@1.13.1", when="@0.14.1", type=("build", "link", "run"))

View File

@@ -10,11 +10,14 @@ class PyWheel(Package, PythonExtension):
"""A built-package format for Python."""
homepage = "https://github.com/pypa/wheel"
url = (
"https://files.pythonhosted.org/packages/py2.py3/w/wheel/wheel-0.34.2-py2.py3-none-any.whl"
)
url = "https://files.pythonhosted.org/packages/py3/w/wheel/wheel-0.41.2-py3-none-any.whl"
list_url = "https://pypi.org/simple/wheel/"
version(
"0.41.2",
sha256="75909db2664838d015e3d9139004ee16711748a52c8f336b52882266540215d8",
expand=False,
)
version(
"0.37.1",
sha256="4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a",
@@ -73,11 +76,17 @@ class PyWheel(Package, PythonExtension):
extends("python")
depends_on("python +ctypes", type=("build", "run"))
depends_on("python@2.7:2.8,3.5:", when="@0.34:", type=("build", "run"))
depends_on("python@2.7:2.8,3.4:", when="@0.30:", type=("build", "run"))
depends_on("python@2.6:2.8,3.2:", type=("build", "run"))
depends_on("python@3.7:", when="@0.38:", type=("build", "run"))
depends_on("py-pip", type="build")
def url_for_version(self, version):
url = "https://files.pythonhosted.org/packages/{0}/w/wheel/wheel-{1}-{0}-none-any.whl"
if version >= Version("0.38"):
python = "py3"
else:
python = "py2.py3"
return url.format(python, version)
def install(self, spec, prefix):
# To build wheel from source, you need setuptools and wheel already installed.
# We get around this by using a pre-built wheel, see:

View File

@@ -20,8 +20,7 @@ class PyWidgetsnbextension(PythonPackage):
version("1.2.6", sha256="c618cfb32978c9517caf0b4ef3aec312f8dd138577745e7b0d4abfcc7315ce51")
depends_on("py-setuptools", type="build")
# TODO: replace this after concretizer learns how to concretize separate build deps
depends_on("py-jupyter-packaging11", when="@4.0.3:", type="build")
depends_on("py-jupyter-packaging@0.10:0", when="@4.0.3:", type="build")
depends_on("python@2.7:2.8,3.3:", type=("build", "run"))
depends_on("python@3.7:", when="@4.0.3:", type=("build", "run"))

View File

@@ -42,10 +42,11 @@ class Python(Package):
version("3.12.0", sha256="51412956d24a1ef7c97f1cb5f70e185c13e3de1f50d131c0aac6338080687afb")
version(
"3.11.5",
sha256="a12a0a013a30b846c786c010f2c19dd36b7298d888f7c4bd1581d90ce18b5e58",
"3.11.6",
sha256="c049bf317e877cbf9fce8c3af902436774ecef5249a29d10984ca3a37f7f4736",
preferred=True,
)
version("3.11.5", sha256="a12a0a013a30b846c786c010f2c19dd36b7298d888f7c4bd1581d90ce18b5e58")
version("3.11.4", sha256="85c37a265e5c9dd9f75b35f954e31fbfc10383162417285e30ad25cc073a0d63")
version("3.11.3", sha256="1a79f3df32265d9e6625f1a0b31c28eb1594df911403d11f3320ee1da1b3e048")
version("3.11.2", sha256="2411c74bda5bbcfcddaf4531f66d1adc73f247f529aee981b029513aefdbf849")

View File

@@ -16,6 +16,7 @@ class Rkcommon(CMakePackage):
# maintainers("github_user1",o"github_user2")
version("1.11.0", sha256="9cfeedaccdefbdcf23c465cb1e6c02057100c4a1a573672dc6cfea5348cedfdd")
version("1.10.0", sha256="57a33ce499a7fc5a5aaffa39ec7597115cf69ed4ff773546b5b71ff475ee4730")
version("1.9.0", sha256="b68aa02ef44c9e35c168f826a14802bb5cc6a9d769ba4b64b2c54f347a14aa53")
version("1.8.0", sha256="f037c15f7049610ef8bca37500b2ab00775af60ebbb9d491ba5fc2e5c04a7794")

View File

@@ -0,0 +1,20 @@
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack.package import *
class RktRacketLib(RacketPackage):
"""Stub package for packages which are currently part of core
racket installation (but which may change in the future)."""
git = "ssh://git@github.com/racket/racket.git"
maintainers = ["elfprince13"]
version("8.3", commit="cab83438422bfea0e4bd74bc3e8305e6517cf25f") # tag="v8.3"
depends_on("racket@8.3", type=("build", "run"), when="@8.3")
racket_name = "racket-lib"

View File

@@ -17,3 +17,4 @@ class RktSchemeLib(RacketPackage):
depends_on("rkt-base@8.3", type=("build", "run"), when="@8.3")
racket_name = "scheme-lib"
subdirectory = None

View File

@@ -11,7 +11,7 @@ class SpiralPackageJit(Package):
Compilation (RTC)."""
homepage = "https://spiralgen.com"
url = "https://github.com/spiral-software/spiral-package-jit/archive/refs/tags/1.0.2.tar.gz"
url = "https://github.com/spiral-software/spiral-package-jit/archive/refs/tags/1.0.3.tar.gz"
git = "https://github.com/spiral-software/spiral-package-jit.git"
maintainers("spiralgen")
@@ -21,6 +21,7 @@ class SpiralPackageJit(Package):
version("develop", branch="develop")
version("main", branch="main")
version("1.0.3", sha256="97ff0d7d46ed4e53b1971ca279a30b27f0d9b328c70585d4cc0c56dfe6701894")
version("1.0.2", sha256="d7fac0493ac406a8b1874491223c3a9a1c6727ea1aa39de7ef4694c59aac9d26")
version("1.0.1", sha256="acf22db04e705276f06642d7f2ebf161f6c347f93bb1bdd6e3ddcfc4b7be5707")

View File

@@ -189,12 +189,14 @@ def test_make_test(self):
options = [cmake_dir]
if "+rocm" in self.spec:
options.append(f"-Dhip_DIR={self.spec['hip'].prefix.lib.cmake.hip}")
options.append(
f"-DAMDDeviceLibs_DIR={self.spec['llvm-amdgpu'].prefix.lib.cmake.AMDDeviceLibs}"
)
options.append(f"-Damd_comgr_DIR={self.spec['comgr'].prefix.lib.cmake.amd_comgr}")
options.append(
f"-Dhsa-runtime64_DIR={self.spec['hsa-rocr-dev'].prefix.lib.cmake.hsa-runtime64}"
"-Dhsa-runtime64_DIR="
+ join_path(self.spec["hsa-rocr-dev"].prefix.lib.cmake, "hsa-runtime64")
)
options.append(f"-DHSA_HEADER={self.spec['hsa-rocr-dev'].prefix.include}")
options.append(f"-DCMAKE_INCLUDE_PATH={self.spec['hsa-rocr-dev'].prefix.include.hsa}")

View File

@@ -6,6 +6,13 @@
from spack.package import *
def is_positive_int(x):
if x.isdigit() and int(x) > 0:
return True
else:
return False
class Velvet(MakefilePackage):
"""Velvet is a de novo genomic assembler specially designed for short read
sequencing technologies."""
@@ -13,14 +20,54 @@ class Velvet(MakefilePackage):
homepage = "https://www.ebi.ac.uk/~zerbino/velvet/"
url = "https://www.ebi.ac.uk/~zerbino/velvet/velvet_1.2.10.tgz"
maintainers("snehring")
version("1.2.10", sha256="884dd488c2d12f1f89cdc530a266af5d3106965f21ab9149e8cb5c633c977640")
variant(
"categories",
default="2",
description="Number of channels which can be handled independently",
values=is_positive_int,
)
variant(
"maxkmerlength",
default="31",
description="Longest kmer size you can use in an analysis",
values=is_positive_int,
)
variant("bigassembly", default=False, description="Allow assemblies with more than 2^31 reads")
variant(
"vbigassembly",
default=False,
description="Allow unsigned 64-bit array index values (also enables bigassembly)",
)
variant(
"longsequences", default=False, description="Allow assembling contigs longer than 32kb"
)
variant("openmp", default=False, description="Enable multithreading")
variant("single_cov_cat", default=False, description="Per-library coverage")
depends_on("zlib-api")
def edit(self, spec, prefix):
makefile = FileFilter("Makefile")
if spec.target.family == "aarch64":
makefile = FileFilter("Makefile")
makefile.filter("-m64", "")
maxkmerlength = self.spec.variants["maxkmerlength"].value
categories = self.spec.variants["categories"].value
makefile.filter(r"^MAXKMERLENGTH\s*=\s*.*", f"MAXKMERLENGTH = {maxkmerlength}")
makefile.filter(r"^CATEGORIES\s*=\s*.*", f"CATEGORIES = {categories}")
if "+bigassembly" in self.spec:
makefile.filter("^ifdef BIGASSEMBLY", "BIGASSEMBLY=1\nifdef BIGASSEMBLY")
if "+vbigassembly" in self.spec:
makefile.filter("^ifdef VBIGASSEMBLY", "VBIGASSEMBLY=1\nifdef VBIGASSEMBLY")
if "+longsequences" in self.spec:
makefile.filter("^ifdef LONGSEQUENCES", "LONGSEQUENCES=1\nifdef LONGSEQUENCES")
if "+openmp" in self.spec:
makefile.filter("^ifdef OPENMP", "OPENMP=1\nifdef OPENMP")
if "+single_cov_cat" in self.spec:
makefile.filter("^ifdef SINGLE_COV_CAT", "SINGLE_COV_CAT=1\nifdef SINGLE_COV_CAT")
def install(self, spec, prefix):
mkdirp(prefix.bin)

View File

@@ -16,9 +16,10 @@ class W3emc(CMakePackage):
url = "https://github.com/NOAA-EMC/NCEPLIBS-w3emc/archive/refs/tags/v2.9.0.tar.gz"
git = "https://github.com/NOAA-EMC/NCEPLIBS-w3emc"
maintainers("t-brown", "AlexanderRichert-NOAA", "Hang-Lei-NOAA", "edwardhartnett")
maintainers("AlexanderRichert-NOAA", "Hang-Lei-NOAA", "edwardhartnett")
version("develop", branch="develop")
version("2.11.0", sha256="53a03d03421c5da699b026ca220512ed494a531b83284693f66d2579d570c43b")
version("2.10.0", sha256="366b55a0425fc3e729ecb9f3b236250349399fe4c8e19f325500463043fd2f18")
version("2.9.3", sha256="9ca1b08dd13dfbad4a955257ae0cf38d2e300ccd8d983606212bc982370a29bc")
version("2.9.2", sha256="eace811a1365f69b85fdf2bcd93a9d963ba72de5a7111e6fa7c0e6578b69bfbc")
@@ -56,7 +57,7 @@ class W3emc(CMakePackage):
def setup_run_environment(self, env):
if self.spec.satisfies("@:2.9"):
suffixes = ["4", "d", "8"]
suffixes = ("4", "d", "8")
shared = False
else:
suffixes = self.spec.variants["precision"].value
@@ -81,3 +82,7 @@ def cmake_args(self):
]
return args
def check(self):
with working_dir(self.builder.build_directory):
make("test")