From bf14b424bb589558ef03e46627ef53eb31afc891 Mon Sep 17 00:00:00 2001 From: "John W. Parent" <45471568+johnwparent@users.noreply.github.com> Date: Sat, 9 Mar 2024 02:40:27 -0500 Subject: [PATCH 001/155] proj: correct CMake arg for shared build with proj older than 7.0.0 (#43089) * proj: correct CMake arg for shared build with proj older than 7.0.0 * Actually use new CMake arg * Update var/spack/repos/builtin/packages/proj/package.py Co-authored-by: Adam J. Stewart --------- Co-authored-by: Adam J. Stewart --- var/spack/repos/builtin/packages/proj/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/proj/package.py b/var/spack/repos/builtin/packages/proj/package.py index fd876713cd6a57..ef18d834dcb641 100644 --- a/var/spack/repos/builtin/packages/proj/package.py +++ b/var/spack/repos/builtin/packages/proj/package.py @@ -128,10 +128,11 @@ def install_datum_grids(self): class CMakeBuilder(BaseBuilder, cmake.CMakeBuilder): def cmake_args(self): + shared_arg = "BUILD_SHARED_LIBS" if self.spec.satisfies("@7:") else "BUILD_LIBPROJ_SHARED" args = [ self.define_from_variant("ENABLE_TIFF", "tiff"), self.define_from_variant("ENABLE_CURL", "curl"), - self.define_from_variant("BUILD_SHARED_LIBS", "shared"), + self.define_from_variant(shared_arg, "shared"), self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"), ] if self.spec.satisfies("@6:") and self.pkg.run_tests: From 8955e63a68e895ca4d9b7ffa007318de9c2713a3 Mon Sep 17 00:00:00 2001 From: Pranav Sivaraman Date: Sun, 10 Mar 2024 03:55:39 -0400 Subject: [PATCH 002/155] feat: add LLVM v18.1.1 (#43109) --- var/spack/repos/builtin/packages/llvm/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/llvm/package.py b/var/spack/repos/builtin/packages/llvm/package.py index f52c89b89e5ddf..33f77e236388d1 100644 --- a/var/spack/repos/builtin/packages/llvm/package.py +++ b/var/spack/repos/builtin/packages/llvm/package.py @@ -37,6 +37,7 @@ class Llvm(CMakePackage, CudaPackage): license("Apache-2.0") version("main", branch="main") + version("18.1.1", sha256="62439f733311869dbbaf704ce2e02141d2a07092d952fc87ef52d1d636a9b1e4") version("18.1.0", sha256="eb18f65a68981e94ea1a5aae4f02321b17da9e99f76bfdb983b953f4ba2d3550") version("17.0.6", sha256="81494d32e6f12ea6f73d6d25424dbd2364646011bb8f7e345ca870750aa27de1") version("17.0.5", sha256="432c1eda3d1c9379cd52a9bee8e0ea6f7b204bff5075895f963fd8e575aa4fb8") From 1e413477ddc677320e47136d08f6aa9a7602fa22 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 10 Mar 2024 18:54:58 -0700 Subject: [PATCH 003/155] build(deps): bump mypy from 1.8.0 to 1.9.0 in /lib/spack/docs (#43103) Bumps [mypy](https://github.com/python/mypy) from 1.8.0 to 1.9.0. - [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md) - [Commits](https://github.com/python/mypy/compare/v1.8.0...1.9.0) --- updated-dependencies: - dependency-name: mypy dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lib/spack/docs/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/spack/docs/requirements.txt b/lib/spack/docs/requirements.txt index 9f2b078bac629c..042745cba7c75e 100644 --- a/lib/spack/docs/requirements.txt +++ b/lib/spack/docs/requirements.txt @@ -10,4 +10,4 @@ pytest==8.0.2 isort==5.13.2 black==24.2.0 flake8==7.0.0 -mypy==1.8.0 +mypy==1.9.0 From 000dff2fd4c04f3e29923eb40d7308ef8a1316c1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 10 Mar 2024 18:55:44 -0700 Subject: [PATCH 004/155] build(deps): bump docker/build-push-action from 5.1.0 to 5.2.0 (#43107) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5.1.0 to 5.2.0. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/4a13e500e55cf31b7a5d59a38ab2040ab0f42f56...af5a7ed5ba88268d5278f7203fb52cd833f66d6e) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build-containers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-containers.yml b/.github/workflows/build-containers.yml index e2f9d126093471..3f5739e826503e 100644 --- a/.github/workflows/build-containers.yml +++ b/.github/workflows/build-containers.yml @@ -113,7 +113,7 @@ jobs: password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build & Deploy ${{ matrix.dockerfile[0] }} - uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 + uses: docker/build-push-action@af5a7ed5ba88268d5278f7203fb52cd833f66d6e with: context: dockerfiles/${{ matrix.dockerfile[0] }} platforms: ${{ matrix.dockerfile[1] }} From d6421a69ebf9ea2172f1fa9ff5339a1a7317cf3c Mon Sep 17 00:00:00 2001 From: Jonas Eschle Date: Sun, 10 Mar 2024 21:56:27 -0400 Subject: [PATCH 005/155] fix typo in dependency (#43105) --- var/spack/repos/builtin/packages/py-zfit-interface/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/py-zfit-interface/package.py b/var/spack/repos/builtin/packages/py-zfit-interface/package.py index 306d3b4eba399c..c04dcaa4224274 100644 --- a/var/spack/repos/builtin/packages/py-zfit-interface/package.py +++ b/var/spack/repos/builtin/packages/py-zfit-interface/package.py @@ -22,7 +22,7 @@ class PyZfitInterface(PythonPackage): depends_on("python@3.8:", type=("build", "run")) depends_on("py-setuptools@42:", type="build") - depends_on("py-setuptools_scm@3.4:+toml", type="build") + depends_on("py-setuptools-scm@3.4:+toml", type="build") depends_on("py-setuptools-scm-git-archive", type="build") depends_on("py-numpy", type=("build", "run")) depends_on("py-uhi", type=("build", "run")) From 1e47ccb83a3e0b394560f39538cde6563edbaca3 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Mon, 11 Mar 2024 08:47:55 +0100 Subject: [PATCH 006/155] Remove dead code (#43114) * Remove dead code in spack * Remove dead code in llnl --- lib/spack/llnl/path.py | 5 -- lib/spack/llnl/util/filesystem.py | 70 ---------------------- lib/spack/llnl/util/lang.py | 90 ----------------------------- lib/spack/llnl/util/lock.py | 4 -- lib/spack/llnl/util/tty/__init__.py | 35 ----------- lib/spack/spack/spec.py | 34 ----------- 6 files changed, 238 deletions(-) diff --git a/lib/spack/llnl/path.py b/lib/spack/llnl/path.py index 18f9b6e9a24eb6..9ef90eec4c03e5 100644 --- a/lib/spack/llnl/path.py +++ b/lib/spack/llnl/path.py @@ -42,11 +42,6 @@ def convert_to_posix_path(path: str) -> str: return format_os_path(path, mode=Path.unix) -def convert_to_windows_path(path: str) -> str: - """Converts the input path to Windows style.""" - return format_os_path(path, mode=Path.windows) - - def convert_to_platform_path(path: str) -> str: """Converts the input path to the current platform's native style.""" return format_os_path(path, mode=Path.platform_path) diff --git a/lib/spack/llnl/util/filesystem.py b/lib/spack/llnl/util/filesystem.py index a9cfc10091f2d4..390d1f651e9a5f 100644 --- a/lib/spack/llnl/util/filesystem.py +++ b/lib/spack/llnl/util/filesystem.py @@ -237,16 +237,6 @@ def _get_mime_type(): return file_command("-b", "-h", "--mime-type") -@memoized -def _get_mime_type_compressed(): - """Same as _get_mime_type but attempts to check for - compression first - """ - mime_uncompressed = _get_mime_type() - mime_uncompressed.add_default_arg("-Z") - return mime_uncompressed - - def mime_type(filename): """Returns the mime type and subtype of a file. @@ -262,21 +252,6 @@ def mime_type(filename): return type, subtype -def compressed_mime_type(filename): - """Same as mime_type but checks for type that has been compressed - - Args: - filename (str): file to be analyzed - - Returns: - Tuple containing the MIME type and subtype - """ - output = _get_mime_type_compressed()(filename, output=str, error=str).strip() - tty.debug("==> " + output) - type, _, subtype = output.partition("/") - return type, subtype - - #: This generates the library filenames that may appear on any OS. library_extensions = ["a", "la", "so", "tbd", "dylib"] @@ -308,13 +283,6 @@ def paths_containing_libs(paths, library_names): return rpaths_to_include -@system_path_filter -def same_path(path1, path2): - norm1 = os.path.abspath(path1).rstrip(os.path.sep) - norm2 = os.path.abspath(path2).rstrip(os.path.sep) - return norm1 == norm2 - - def filter_file( regex: str, repl: Union[str, Callable[[Match], str]], @@ -909,17 +877,6 @@ def is_exe(path): return os.path.isfile(path) and os.access(path, os.X_OK) -@system_path_filter -def get_filetype(path_name): - """ - Return the output of file path_name as a string to identify file type. - """ - file = Executable("file") - file.add_default_env("LC_ALL", "C") - output = file("-b", "-h", "%s" % path_name, output=str, error=str) - return output.strip() - - def has_shebang(path): """Returns whether a path has a shebang line. Returns False if the file cannot be opened.""" try: @@ -1169,20 +1126,6 @@ def write_tmp_and_move(filename): shutil.move(tmp, filename) -@contextmanager -@system_path_filter -def open_if_filename(str_or_file, mode="r"): - """Takes either a path or a file object, and opens it if it is a path. - - If it's a file object, just yields the file object. - """ - if isinstance(str_or_file, str): - with open(str_or_file, mode) as f: - yield f - else: - yield str_or_file - - @system_path_filter def touch(path): """Creates an empty file at the specified path.""" @@ -1295,19 +1238,6 @@ def temp_cwd(): shutil.rmtree(tmp_dir, **kwargs) -@contextmanager -@system_path_filter -def temp_rename(orig_path, temp_path): - same_path = os.path.realpath(orig_path) == os.path.realpath(temp_path) - if not same_path: - shutil.move(orig_path, temp_path) - try: - yield - finally: - if not same_path: - shutil.move(temp_path, orig_path) - - @system_path_filter def can_access(file_name): """True if we have read/write access to the file.""" diff --git a/lib/spack/llnl/util/lang.py b/lib/spack/llnl/util/lang.py index c59ecf2758ad86..c3e67f205d870b 100644 --- a/lib/spack/llnl/util/lang.py +++ b/lib/spack/llnl/util/lang.py @@ -98,36 +98,6 @@ def caller_locals(): del stack -def get_calling_module_name(): - """Make sure that the caller is a class definition, and return the - enclosing module's name. - """ - # Passing zero here skips line context for speed. - stack = inspect.stack(0) - try: - # Make sure locals contain __module__ - caller_locals = stack[2][0].f_locals - finally: - del stack - - if "__module__" not in caller_locals: - raise RuntimeError( - "Must invoke get_calling_module_name() " "from inside a class definition!" - ) - - module_name = caller_locals["__module__"] - base_name = module_name.split(".")[-1] - return base_name - - -def attr_required(obj, attr_name): - """Ensure that a class has a required attribute.""" - if not hasattr(obj, attr_name): - raise RequiredAttributeError( - "No required attribute '%s' in class '%s'" % (attr_name, obj.__class__.__name__) - ) - - def attr_setdefault(obj, name, value): """Like dict.setdefault, but for objects.""" if not hasattr(obj, name): @@ -513,42 +483,6 @@ def copy(self): return clone -def in_function(function_name): - """True if the caller was called from some function with - the supplied Name, False otherwise.""" - stack = inspect.stack() - try: - for elt in stack[2:]: - if elt[3] == function_name: - return True - return False - finally: - del stack - - -def check_kwargs(kwargs, fun): - """Helper for making functions with kwargs. Checks whether the kwargs - are empty after all of them have been popped off. If they're - not, raises an error describing which kwargs are invalid. - - Example:: - - def foo(self, **kwargs): - x = kwargs.pop('x', None) - y = kwargs.pop('y', None) - z = kwargs.pop('z', None) - check_kwargs(kwargs, self.foo) - - # This raises a TypeError: - foo(w='bad kwarg') - """ - if kwargs: - raise TypeError( - "'%s' is an invalid keyword argument for function %s()." - % (next(iter(kwargs)), fun.__name__) - ) - - def match_predicate(*args): """Utility function for making string matching predicates. @@ -764,11 +698,6 @@ def pretty_seconds(seconds): return pretty_seconds_formatter(seconds)(seconds) -class RequiredAttributeError(ValueError): - def __init__(self, message): - super().__init__(message) - - class ObjectWrapper: """Base class that wraps an object. Derived classes can add new behavior while staying undercover. @@ -935,25 +864,6 @@ def uniq(sequence): return uniq_list -def star(func): - """Unpacks arguments for use with Multiprocessing mapping functions""" - - def _wrapper(args): - return func(*args) - - return _wrapper - - -class Devnull: - """Null stream with less overhead than ``os.devnull``. - - See https://stackoverflow.com/a/2929954. - """ - - def write(self, *_): - pass - - def elide_list(line_list, max_num=10): """Takes a long list and limits it to a smaller number of elements, replacing intervening elements with '...'. For example:: diff --git a/lib/spack/llnl/util/lock.py b/lib/spack/llnl/util/lock.py index 08c90b21ce89f7..3df408cb319d7e 100644 --- a/lib/spack/llnl/util/lock.py +++ b/lib/spack/llnl/util/lock.py @@ -815,10 +815,6 @@ def __init__(self, path): super().__init__(msg) -class LockLimitError(LockError): - """Raised when exceed maximum attempts to acquire a lock.""" - - class LockTimeoutError(LockError): """Raised when an attempt to acquire a lock times out.""" diff --git a/lib/spack/llnl/util/tty/__init__.py b/lib/spack/llnl/util/tty/__init__.py index 7a322a6e48c21a..3f3ba1d4624e54 100644 --- a/lib/spack/llnl/util/tty/__init__.py +++ b/lib/spack/llnl/util/tty/__init__.py @@ -44,10 +44,6 @@ def is_debug(level=1): return _debug >= level -def is_stacktrace(): - return _stacktrace - - def set_debug(level=0): global _debug assert level >= 0, "Debug level must be a positive value" @@ -252,37 +248,6 @@ def die(message, *args, **kwargs) -> NoReturn: sys.exit(1) -def get_number(prompt, **kwargs): - default = kwargs.get("default", None) - abort = kwargs.get("abort", None) - - if default is not None and abort is not None: - prompt += " (default is %s, %s to abort) " % (default, abort) - elif default is not None: - prompt += " (default is %s) " % default - elif abort is not None: - prompt += " (%s to abort) " % abort - - number = None - while number is None: - msg(prompt, newline=False) - ans = input() - if ans == str(abort): - return None - - if ans: - try: - number = int(ans) - if number < 1: - msg("Please enter a valid number.") - number = None - except ValueError: - msg("Please enter a valid number.") - elif default is not None: - number = default - return number - - def get_yes_or_no(prompt, **kwargs): default_value = kwargs.get("default", None) diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py index d54921bf672a79..53d2dc6b050f60 100644 --- a/lib/spack/spack/spec.py +++ b/lib/spack/spack/spec.py @@ -625,18 +625,6 @@ def __init__(self, *args): else: raise TypeError("__init__ takes 1 or 2 arguments. (%d given)" % nargs) - def _add_versions(self, version_list): - # If it already has a non-trivial version list, this is an error - if self.versions and self.versions != vn.any_version: - # Note: This may be impossible to reach by the current parser - # Keeping it in case the implementation changes. - raise MultipleVersionError( - "A spec cannot contain multiple version signifiers. Use a version list instead." - ) - self.versions = vn.VersionList() - for version in version_list: - self.versions.add(version) - def _autospec(self, compiler_spec_like): if isinstance(compiler_spec_like, CompilerSpec): return compiler_spec_like @@ -1544,20 +1532,6 @@ def _dependencies_dict(self, depflag: dt.DepFlag = dt.ALL): result[key] = list(group) return result - # - # Private routines here are called by the parser when building a spec. - # - def _add_versions(self, version_list): - """Called by the parser to add an allowable version.""" - # If it already has a non-trivial version list, this is an error - if self.versions and self.versions != vn.any_version: - raise MultipleVersionError( - "A spec cannot contain multiple version signifiers." " Use a version list instead." - ) - self.versions = vn.VersionList() - for version in version_list: - self.versions.add(version) - def _add_flag(self, name, value, propagate): """Called by the parser to add a known flag. Known flags currently include "arch" @@ -1626,14 +1600,6 @@ def _set_architecture(self, **kwargs): else: setattr(self.architecture, new_attr, new_value) - def _set_compiler(self, compiler): - """Called by the parser to set the compiler.""" - if self.compiler: - raise DuplicateCompilerSpecError( - "Spec for '%s' cannot have two compilers." % self.name - ) - self.compiler = compiler - def _add_dependency(self, spec: "Spec", *, depflag: dt.DepFlag, virtuals: Tuple[str, ...]): """Called by the parser to add another spec as a dependency.""" if spec.name not in self._dependencies or not spec.name: From 8ecae17c464cc081339f8625328aa7720b3326f9 Mon Sep 17 00:00:00 2001 From: Mikael Simberg Date: Mon, 11 Mar 2024 10:44:00 +0100 Subject: [PATCH 007/155] dla-future: Add patch for compilation with newer ROCm versions (#42348) --- .../hip_complex_operator_overloads.patch | 23 +++++++++++++++++++ .../builtin/packages/dla-future/package.py | 2 ++ 2 files changed, 25 insertions(+) create mode 100644 var/spack/repos/builtin/packages/dla-future/hip_complex_operator_overloads.patch diff --git a/var/spack/repos/builtin/packages/dla-future/hip_complex_operator_overloads.patch b/var/spack/repos/builtin/packages/dla-future/hip_complex_operator_overloads.patch new file mode 100644 index 00000000000000..a42f284f415181 --- /dev/null +++ b/var/spack/repos/builtin/packages/dla-future/hip_complex_operator_overloads.patch @@ -0,0 +1,23 @@ +diff --git a/src/lapack/gpu/add.cu b/src/lapack/gpu/add.cu +index a55110c2..5d839540 100644 +--- a/src/lapack/gpu/add.cu ++++ b/src/lapack/gpu/add.cu +@@ -32,6 +32,18 @@ __device__ inline void addAlpha(const T& alpha, const T& a, T& b) { + b = b + alpha * a; + } + ++template <> ++__device__ inline void addAlpha(const hipFloatComplex& alpha, const hipFloatComplex& a, ++ hipFloatComplex& b) { ++ b = b + hipCmulf(alpha, a); ++} ++ ++template <> ++__device__ inline void addAlpha(const hipDoubleComplex& alpha, ++ const hipDoubleComplex& a, hipDoubleComplex& b) { ++ b = b + hipCmul(alpha, a); ++} ++ + template + __device__ inline void sum(const T& /*alpha*/, const T& a, T& b) { + b = b + a; diff --git a/var/spack/repos/builtin/packages/dla-future/package.py b/var/spack/repos/builtin/packages/dla-future/package.py index 7d1f5b100281a6..ef931e9927dece 100644 --- a/var/spack/repos/builtin/packages/dla-future/package.py +++ b/var/spack/repos/builtin/packages/dla-future/package.py @@ -129,6 +129,8 @@ class DlaFuture(CMakePackage, CudaPackage, ROCmPackage): sha256="7f382c872d89f22da1ad499e85ffe9881cc7404c8465e42877a210a09382e2ea", when="@:0.3 %gcc@13:", ) + # https://github.com/spack/spack/issues/41511 + patch("hip_complex_operator_overloads.patch", when="+rocm") def cmake_args(self): spec = self.spec From c72619d4dbe1e9a36d43c9ef709fdff536dea9df Mon Sep 17 00:00:00 2001 From: Sinan Date: Mon, 11 Mar 2024 03:09:29 -0700 Subject: [PATCH 008/155] package/qgis: add new version (#42888) * package/qgis: add new version * improve Qsci.pro * improve * fix undefined symbol qsciprinter error * add import test * fix bug * add version 3.36 * [@spackbot] updating style on behalf of Sinan81 * fix long line * only run import test when +python * first attempt at stand-alone test * add TODO --------- Co-authored-by: sbulut Co-authored-by: Sinan81 Co-authored-by: Sinan81 --- .../repos/builtin/packages/qgis/package.py | 16 ++++++---- .../builtin/packages/qscintilla/package.py | 29 ++++++++++++++----- 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/var/spack/repos/builtin/packages/qgis/package.py b/var/spack/repos/builtin/packages/qgis/package.py index 7ea73f28fe8919..051a78660df694 100644 --- a/var/spack/repos/builtin/packages/qgis/package.py +++ b/var/spack/repos/builtin/packages/qgis/package.py @@ -19,13 +19,17 @@ class Qgis(CMakePackage): license("GPL-2.0-or-later") - version("3.34.0", sha256="348a2df4c4520813a319b7f72546b3823e044cacd28646ba189b56a49c7d1b5f") - # Prefer latest long term release + # TODO version 3.36 isn't building right now. + version("3.36.0", sha256="1b64bc92660bf07edc6b6478fc6a13656149e87d92eabe5c3db9493072506e2c") + # Prefer latest LTR version( - "3.28.12", - sha256="d6d0ea39ed3433d553f8b83324dc14cfa90f8caaf766fa484791df9169800f25", + "3.34.4", + sha256="7d1c5fafff13f508a9bcf6244c9666f891351deb1ace2aedcc63504f070c5ce4", preferred=True, ) + version("3.34.0", sha256="348a2df4c4520813a319b7f72546b3823e044cacd28646ba189b56a49c7d1b5f") + version("3.28.15", sha256="217342ba2232cc8fe5bf8f3671c2b3d6daf5504c33006b67424373e70d568dfa") + version("3.28.12", sha256="d6d0ea39ed3433d553f8b83324dc14cfa90f8caaf766fa484791df9169800f25") version("3.28.11", sha256="c5eb703893c7f98de051c45d677c4a34b40f986db51782a4930ddefad4e193b4") version("3.28.10", sha256="cff867e97909bbc2facce6343770dcb1b61fc6e4855f57783e30bf63d51c5218") version("3.28.3", sha256="a09124f46465a520f6d735306ba3954c339b84aa396d6f52b476b82edcc4fe0e") @@ -82,7 +86,7 @@ class Qgis(CMakePackage): ) variant("oauth2_plugin", default=True, description="Build OAuth2 authentication method plugin") variant("oracle", default=False, description="Build with Oracle support") - # variant("pdal", default=False, description="Build with PDAL support") #TODO + variant("pdal", default=False, description="Build with PDAL support") variant("postgresql", default=True, description="Build with PostreSQL support") variant( "py_compile", @@ -135,10 +139,12 @@ class Qgis(CMakePackage): depends_on("qt+dbus+location") depends_on("qt+dbus+location@5.12.0:", when="@3.20:") depends_on("qt+dbus+location@5.14.0:", when="@3.28:") + depends_on("qt+dbus+location@5.15.2:", when="@3.36:") depends_on("qtkeychain@0.5:", when="@3:") depends_on("qwt@5:") depends_on("qwtpolar") depends_on("sqlite@3.0.0: +column_metadata") + depends_on("pdal", when="+pdal") depends_on("protobuf", when="@3.16.4:") depends_on("protobuf@:3.21", when="@:3.28") depends_on("zstd", when="@3.22:") diff --git a/var/spack/repos/builtin/packages/qscintilla/package.py b/var/spack/repos/builtin/packages/qscintilla/package.py index 326b1137bea759..bbf0b5a3090a5a 100644 --- a/var/spack/repos/builtin/packages/qscintilla/package.py +++ b/var/spack/repos/builtin/packages/qscintilla/package.py @@ -88,10 +88,12 @@ def make_designer(self): @run_after("install", when="+python") def make_qsci_python(self): if "^py-pyqt5" in self.spec: + qtx = "qt5" py_pyqtx = "py-pyqt5" pyqtx = "PyQt5" ftoml = "pyproject-qt5.toml" elif "^py-pyqt6" in self.spec: + qtx = "qt6" py_pyqtx = "py-pyqt6" pyqtx = "PyQt6" ftoml = "pyproject-qt6.toml" @@ -103,17 +105,18 @@ def make_qsci_python(self): ) with open("pyproject.toml", "a") as tomlfile: + # https://pyqt-builder.readthedocs.io/en/latest/pyproject_toml.html tomlfile.write(f'\n[tool.sip.project]\nsip-include-dirs = ["{sip_inc_dir}"]\n') + # add widgets and printsupport to Qsci.pro + # also add link statement to fix "undefined symbol _Z...Qsciprinter... + link_qscilibs = "LIBS += -L" + self.prefix.lib + " -lqscintilla2_" + qtx + tomlfile.write( + f'\n[tool.sip.builder]\nqmake-settings = \ + ["QT += widgets", "QT += printsupport", "{link_qscilibs}"]\n' + ) + mkdirp(os.path.join(self.prefix.share.sip, pyqtx)) - if "^py-pyqt5" in self.spec: - # QT += widgets and QT += printsupport need to be added to Qsci.pro file - # to be generated via project.py - qsciproj = FileFilter(join_path("project.py")) - ptrn = "super().__init__(project, 'Qsci', qmake_CONFIG=qmake_CONFIG" - qsciproj.filter( - ptrn + ")", ptrn + ",qmake_QT=['widgets','printsupport'])", string=True - ) sip_build = Executable(self.spec["py-sip"].prefix.bin.join("sip-build")) sip_build( "--target-dir=" + python_platlib, @@ -130,3 +133,13 @@ def make_qsci_python(self): makefile = FileFilter(join_path("build", "Makefile")) makefile.filter("$(INSTALL_ROOT)", "", string=True) make("install", "-C", "build/") + + def test_python_import(self): + if "+python" in self.spec: + python = self.spec["python"].command + if "^py-pyqt5" in self.spec: + python("-c", "import PyQt5.Qsci") + if "^py-pyqt6" in self.spec: + python("-c", "import PyQt6.Qsci") + else: + print("qscintilla ins't built with python, skipping import test") From 9786bd932bdc958bb9b6cfc55d53aa5904535c64 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 11 Mar 2024 14:33:16 +0100 Subject: [PATCH 009/155] Update TensorFlow ecosystem (#41069) --- .../stacks/ml-linux-x86_64-cpu/spack.yaml | 2 +- .../stacks/ml-linux-x86_64-cuda/spack.yaml | 2 +- .../stacks/ml-linux-x86_64-rocm/spack.yaml | 2 +- .../repos/builtin/packages/py-h5py/package.py | 14 +++-- .../builtin/packages/py-keras/package.py | 6 +- .../packages/py-tensorboard/package.py | 48 +++++++++++++--- .../builtin/packages/py-tensorflow/package.py | 56 ++++++++++++++----- 7 files changed, 97 insertions(+), 33 deletions(-) diff --git a/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-cpu/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-cpu/spack.yaml index ec28ec1fa3a52a..fd22335885a970 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-cpu/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-cpu/spack.yaml @@ -21,7 +21,7 @@ spack: - py-jaxlib # Keras - # - py-keras backend=tensorflow + - py-keras backend=tensorflow - py-keras backend=jax - py-keras backend=torch - py-keras-applications diff --git a/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-cuda/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-cuda/spack.yaml index f9d74f6a4b2c4f..5053f28fd34e6e 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-cuda/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-cuda/spack.yaml @@ -25,7 +25,7 @@ spack: - py-jaxlib # Keras - # - py-keras backend=tensorflow + - py-keras backend=tensorflow - py-keras backend=jax - py-keras backend=torch - py-keras-applications diff --git a/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-rocm/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-rocm/spack.yaml index c83b4757fcc6c2..4fb9e0eddf0131 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-rocm/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/ml-linux-x86_64-rocm/spack.yaml @@ -29,7 +29,7 @@ spack: # Keras # - py-keras backend=tensorflow - py-keras backend=jax - # - py-keras backend=torch + - py-keras backend=torch - py-keras-applications - py-keras-preprocessing - py-keras2onnx diff --git a/var/spack/repos/builtin/packages/py-h5py/package.py b/var/spack/repos/builtin/packages/py-h5py/package.py index 9aad3c0396466b..aadeb4b9001b4a 100644 --- a/var/spack/repos/builtin/packages/py-h5py/package.py +++ b/var/spack/repos/builtin/packages/py-h5py/package.py @@ -18,6 +18,8 @@ class PyH5py(PythonPackage): license("BSD-3-Clause") version("master", branch="master") + version("3.10.0", sha256="d93adc48ceeb33347eb24a634fb787efc7ae4644e6ea4ba733d099605045c049") + version("3.9.0", sha256="e604db6521c1e367c6bd7fad239c847f53cc46646f2d2651372d05ae5e95f817") version("3.8.0", sha256="6fead82f0c4000cf38d53f9c030780d81bfa0220218aee13b90b7701c937d95f") version("3.7.0", sha256="3fcf37884383c5da64846ab510190720027dca0768def34dd8dcb659dbe5cbf3") version("3.6.0", sha256="8752d2814a92aba4e2b2a5922d2782d0029102d99caaf3c201a566bc0b40db29") @@ -40,11 +42,10 @@ class PyH5py(PythonPackage): variant("mpi", default=True, description="Build with MPI support") # Python versions - depends_on("python@3.7:", type=("build", "run"), when="@3.2:") - depends_on("python@3.6:", type=("build", "run"), when="@3:3.1") depends_on("python@:3.9", type=("build", "run"), when="@:2.8") # Build dependencies + depends_on("py-cython@0.29.31:0", type="build", when="@3.9:") depends_on("py-cython@0.29.15:0", type=("build"), when="@3:3.7 ^python@3.9.0:") depends_on("py-cython@0.29.14:0", type=("build"), when="@3:3.7 ^python@3.8.0:3.8") depends_on("py-cython@0.29:0", type=("build"), when="@3:") @@ -52,15 +53,13 @@ class PyH5py(PythonPackage): depends_on("py-pkgconfig", type="build") depends_on("py-setuptools@61:", type="build", when="@3.8.0:") depends_on("py-setuptools", type="build") - depends_on("py-wheel", type="build", when="@3:") # Build and runtime dependencies - depends_on("py-cached-property@1.5:", type=("build", "run"), when="@:3.6 ^python@:3.7") + depends_on("py-numpy@1.17.3:", type=("build", "run"), when="@3.9:") depends_on("py-numpy@1.19.3:", type=("build", "run"), when="@3:3.5 ^python@3.9.0:") depends_on("py-numpy@1.17.5:", type=("build", "run"), when="@3:3.5 ^python@3.8.0:3.8") depends_on("py-numpy@1.14.5:", type=("build", "run"), when="@3:") depends_on("py-numpy@1.7:", type=("build", "run"), when="@:2") - depends_on("py-six", type=("build", "run"), when="@:2") # Link dependencies (py-h5py v2 cannot build against HDF5 1.12 regardless # of API setting) @@ -71,9 +70,14 @@ class PyH5py(PythonPackage): # MPI dependencies depends_on("hdf5+mpi", when="+mpi") depends_on("mpi", when="+mpi") + depends_on("py-mpi4py@3.1.1:", when="@3.8: +mpi", type=("build", "run")) depends_on("py-mpi4py@3.0.2:", when="@3: +mpi", type=("build", "run")) depends_on("py-mpi4py", when="@:2 +mpi", type=("build", "run")) + # Historical dependencies + depends_on("py-cached-property@1.5:", type=("build", "run"), when="@:3.6 ^python@:3.7") + depends_on("py-six", type=("build", "run"), when="@:2") + def flag_handler(self, name, flags): if name == "cflags": if self.spec.satisfies("%oneapi@2023.0.0:"): diff --git a/var/spack/repos/builtin/packages/py-keras/package.py b/var/spack/repos/builtin/packages/py-keras/package.py index f9eb62b9a6ae94..924dd22a382bc2 100644 --- a/var/spack/repos/builtin/packages/py-keras/package.py +++ b/var/spack/repos/builtin/packages/py-keras/package.py @@ -25,6 +25,7 @@ class PyKeras(PythonPackage): version("3.0.2", sha256="526b6c053cdd880a33467c5bfd5c460a5bdc0c58869c2683171c2dec2ad3c2d0") version("3.0.1", sha256="d993721510fa654582132192193f69b1b3165418a6e00a73c3edce615b3cc672") version("3.0.0", sha256="82a9fa4b32a049b38151d11188ed15d74f21f853f163e78da0950dce1f244ccc") + version("2.15.0", sha256="b281ce09226576e0593b8dab0d9e5d42c334e053ce6f4f154dc6cd745ab93d2f") version("2.14.0", sha256="a845d446b6ae626f61dde5ab2fa952530b6c17b4f9ed03e9362bd20172d00cca") version("2.13.1", sha256="b3591493cce75a69adef7b192cec6be222e76e2386d132cd4e34aa190b0ecbd5") version("2.12.0", sha256="6336cebb6b2b0a91f7efd3ff3a9db3a94f2abccf07a40323138afb80826aec62") @@ -75,8 +76,7 @@ class PyKeras(PythonPackage): depends_on("py-protobuf", type=("build", "run"), when="@3:") # requirements-tensorflow-cuda.txt - conflicts("backend=tensorflow", msg="Requires TensorFlow 2.16, not yet released") - # depends_on("py-tensorflow@2.16.0", type=("build", "run"), when="@3.0 backend=tensorflow") + depends_on("py-tensorflow@2.16.1", type=("build", "run"), when="@3.0 backend=tensorflow") # requirements-jax-cuda.txt depends_on("py-jax@0.4.23", type=("build", "run"), when="@3.0.5: backend=jax") @@ -98,7 +98,7 @@ class PyKeras(PythonPackage): depends_on("py-pydot", type=("build", "run"), when="@:2") depends_on("py-pyyaml", type=("build", "run"), when="@:2") depends_on("py-six", type=("build", "run"), when="@:2") - for minor_ver in range(6, 15): + for minor_ver in range(6, 16): depends_on( "py-tensorflow@2.{}".format(minor_ver), type=("build", "run"), diff --git a/var/spack/repos/builtin/packages/py-tensorboard/package.py b/var/spack/repos/builtin/packages/py-tensorboard/package.py index 0f3322f49b98b6..9f39ece8c635d3 100644 --- a/var/spack/repos/builtin/packages/py-tensorboard/package.py +++ b/var/spack/repos/builtin/packages/py-tensorboard/package.py @@ -21,6 +21,36 @@ class PyTensorboard(PythonPackage): license("Apache-2.0") + version( + "2.16.2", + sha256="9f2b4e7dad86667615c0e5cd072f1ea8403fc032a299f0072d6f74855775cc45", + expand=False, + ) + version( + "2.16.1", + sha256="928b62567911a8eeb2ebeb7482a9e4599b35f6713a6f2c56655259c18a139569", + expand=False, + ) + version( + "2.16.0", + sha256="263b909a2009cb3a79daa6abe64c1785cc317c25a54e4db2fecb6429ffc54c58", + expand=False, + ) + version( + "2.15.2", + sha256="a6f6443728064d962caea6d34653e220e34ef8df764cb06a8212c17e1a8f0622", + expand=False, + ) + version( + "2.15.1", + sha256="c46c1d1cf13a458c429868a78b2531d8ff5f682058d69ec0840b0bc7a38f1c0f", + expand=False, + ) + version( + "2.15.0", + sha256="c05b4d02a3a9fd4bd6c25265087d52b49b790a871ddf98f4fb32fe97cbbc7ad0", + expand=False, + ) version( "2.14.1", sha256="3db108fb58f023b6439880e177743c5f1e703e9eeb5fb7d597871f949f85fd58", @@ -138,22 +168,26 @@ class PyTensorboard(PythonPackage): depends_on("py-grpcio@1.48.2:", type=("build", "run"), when="@2.12:") depends_on("py-grpcio@1.24.3:", type=("build", "run"), when="@2.3:") depends_on("py-grpcio@1.23.3:", type=("build", "run"), when="@2.2") - depends_on("py-google-auth@1.6.3:2", type=("build", "run"), when="@2.7:") - depends_on("py-google-auth@1.6.3:1", type=("build", "run"), when="@:2.6") - depends_on("py-google-auth-oauthlib@0.5:1.0", type=("build", "run"), when="@2.12.1:") - depends_on("py-google-auth-oauthlib@0.4.1:0.4", type=("build", "run"), when="@:2.12.0") depends_on("py-markdown@2.6.8:", type=("build", "run")) depends_on("py-numpy@1.12.0:", type=("build", "run")) - depends_on("py-protobuf@3.19.6:", type=("build", "run"), when="@2.12:") + depends_on("py-protobuf@3.19.6:4.23,4.24.1:", type=("build", "run"), when="@2.15.2:") + depends_on("py-protobuf@3.19.6:4.23", type=("build", "run"), when="@2.12:2.15.1") depends_on("py-protobuf@3.9.2:3", type=("build", "run"), when="@2.11") depends_on("py-protobuf@3.9.2:3.19", type=("build", "run"), when="@2.9:2.10") depends_on("py-protobuf@3.6.0:3.19", type=("build", "run"), when="@:2.8") - depends_on("py-requests@2.21.0:2", type=("build", "run")) depends_on("py-setuptools@41.0.0:", type=("build", "run")) depends_on("py-six@1.10.0:", type=("build", "run"), when="@:2.4,2.14:") depends_on("py-tensorboard-data-server@0.7", type=("build", "run"), when="@2.12:") depends_on("py-tensorboard-data-server@0.6", type=("build", "run"), when="@2.5:2.11") - depends_on("py-tensorboard-plugin-wit@1.6.0:", type=("build", "run"), when="@:2.13") depends_on("py-werkzeug@1.0.1:", type=("build", "run"), when="@2.9:") depends_on("py-werkzeug@0.11.15:", type=("build", "run")) + + # Historical dependencies + depends_on("py-google-auth@1.6.3:2", type=("build", "run"), when="@2.7:2.15") + depends_on("py-google-auth@1.6.3:1", type=("build", "run"), when="@:2.6") + depends_on("py-google-auth-oauthlib@0.5:1", type=("build", "run"), when="@2.15") + depends_on("py-google-auth-oauthlib@0.5:1.0", type=("build", "run"), when="@2.12.1:2.14") + depends_on("py-google-auth-oauthlib@0.4.1:0.4", type=("build", "run"), when="@:2.12.0") + depends_on("py-requests@2.21.0:2", type=("build", "run"), when="@:2.15") + depends_on("py-tensorboard-plugin-wit@1.6.0:", type=("build", "run"), when="@:2.13") depends_on("py-wheel@0.26:", type="build", when="@:2.13") diff --git a/var/spack/repos/builtin/packages/py-tensorflow/package.py b/var/spack/repos/builtin/packages/py-tensorflow/package.py index 20fdd358a6cb69..5de25247e20fb3 100644 --- a/var/spack/repos/builtin/packages/py-tensorflow/package.py +++ b/var/spack/repos/builtin/packages/py-tensorflow/package.py @@ -20,6 +20,10 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension): license("Apache-2.0") + version("2.16.1", sha256="c729e56efc945c6df08efe5c9f5b8b89329c7c91b8f40ad2bb3e13900bd4876d") + version("2.15.1", sha256="f36416d831f06fe866e149c7cd752da410a11178b01ff5620e9f265511ed57cf") + version("2.15.0", sha256="9cec5acb0ecf2d47b16891f8bc5bc6fbfdffe1700bdadc0d9ebe27ea34f0c220") + version("2.14.1", sha256="6b31ed347ed7a03c45b906aa41628ac91c3db7c84cb816971400d470e58ba494") version("2.14.0", sha256="ce357fd0728f0d1b0831d1653f475591662ec5bca736a94ff789e6b1944df19f") version("2.13.1", sha256="89c07aebd4f41fbe0d08cc88aef00305542134f2f16d3b62918dc3c1182f33e2") version("2.13.0", sha256="e58c939079588623e6fa1d054aec2f90f95018266e0a970fd353a5244f5173dc") @@ -111,14 +115,16 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension): extends("python") # Python support based on wheel availability - depends_on("python@3.9:3.11", when="@2.14:", type=("build", "run")) + depends_on("python@3.9:3.12", when="@2.16:", type=("build", "run")) + depends_on("python@3.9:3.11", when="@2.14:2.15", type=("build", "run")) depends_on("python@3.8:3.11", when="@2.12:2.13", type=("build", "run")) depends_on("python@:3.10", when="@2.8:2.11", type=("build", "run")) depends_on("python@:3.9", when="@2.5:2.7", type=("build", "run")) depends_on("python@:3.8", when="@2.2:2.4", type=("build", "run")) # See .bazelversion - depends_on("bazel@6.1.0", type="build", when="@2.14:") + depends_on("bazel@6.5.0", type="build", when="@2.16:") + depends_on("bazel@6.1.0", type="build", when="@2.14:2.15") depends_on("bazel@5.3.0", type="build", when="@2.11:2.13") depends_on("bazel@5.1.1", type="build", when="@2.10") # See _TF_MIN_BAZEL_VERSION and _TF_MAX_BAZEL_VERSION in configure.py @@ -159,7 +165,8 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension): depends_on("py-google-pasta@0.2:0", type=("build", "run"), when="@2.4:2.6") depends_on("py-google-pasta@0.1.8:", type=("build", "run"), when="@2.2:2.3") depends_on("py-google-pasta@0.1.6:", type=("build", "run"), when="@:2.1") - depends_on("py-h5py@2.9:", type=("build", "run"), when="@2.7:") + depends_on("py-h5py@3.10:", type=("build", "run"), when="@2.16:") + depends_on("py-h5py@2.9:", type=("build", "run"), when="@2.7:2.15") depends_on("py-h5py@3.1", type=("build", "run"), when="@2.5:2.6") depends_on("py-h5py@2.10", type=("build", "run"), when="@2.2:2.4") depends_on("py-h5py@:2.10.0", type=("build", "run"), when="@2.1.3:2.1") @@ -170,7 +177,9 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension): depends_on("hdf5~mpi", type="build", when="@2.1.3:~mpi") depends_on("py-libclang@13:", type=("build", "run"), when="@2.9:") depends_on("py-libclang@9.0.1:", type=("build", "run"), when="@2.7:2.8") - depends_on("py-ml-dtypes@0.2.0", type=("build", "run"), when="@2.14:") + depends_on("py-ml-dtypes@0.3.1:0.3", type=("build", "run"), when="@2.15.1:") + depends_on("py-ml-dtypes@0.2", type=("build", "run"), when="@2.15.0") + depends_on("py-ml-dtypes@0.2.0", type=("build", "run"), when="@2.14") depends_on("py-numpy@1.23.5:", type=("build", "run"), when="@2.14:") depends_on("py-numpy@1.22:1.24.3", type=("build", "run"), when="@2.13:") depends_on("py-numpy@1.22:1.23", type=("build", "run"), when="@2.12") @@ -190,6 +199,8 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension): depends_on("py-protobuf@:3.19", type=("build", "run"), when="@:2.11") # Must be matching versions of py-protobuf and protobuf conflicts("^py-protobuf~cpp") + depends_on("py-requests@2.21:2", type=("build", "run"), when="@2.16:") + depends_on("py-requests", type=("build", "run")) depends_on("py-setuptools", type=("build", "run")) depends_on("py-six@1.12:", type=("build", "run"), when="@:2.3,2.7:") depends_on("py-six@1.15", type=("build", "run"), when="@2.4:2.6") @@ -198,8 +209,8 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension): depends_on("py-typing-extensions@3.6.6:", type=("build", "run"), when="@2.7:2.12,2.14:") depends_on("py-typing-extensions@3.6.6:4.5", type=("build", "run"), when="@2.13") depends_on("py-typing-extensions@3.7.4:3.7", type=("build", "run"), when="@2.4:2.6") - depends_on("py-wrapt@1.11:1.14", type=("build", "run"), when="@2.12,2.14:") - depends_on("py-wrapt@1.11:", type=("build", "run"), when="@2.7:2.11,2.13") + depends_on("py-wrapt@1.11:", type=("build", "run"), when="@2.7:2.11,2.13,2.16:") + depends_on("py-wrapt@1.11:1.14", type=("build", "run"), when="@2.12,2.14:2.15") depends_on("py-wrapt@1.12.1:1.12", type=("build", "run"), when="@2.4:2.6") depends_on("py-wrapt@1.11.1:", type=("build", "run"), when="@:2.3") @@ -215,7 +226,7 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension): depends_on("py-grpcio@1.32", type=("build", "run"), when="@2.4") depends_on("py-grpcio@1.8.6:", type=("build", "run"), when="@:2.3") - for minor_ver in range(5, 15): + for minor_ver in range(5, 17): depends_on( "py-tensorboard@2.{}".format(minor_ver), type=("build", "run"), @@ -226,8 +237,8 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension): # depends_on('py-tensorflow-estimator') # circular dep # depends_on('py-keras') # circular dep - # Undocumented dependencies - depends_on("py-requests", type=("build", "run")) + # tensorflow/tools/pip_package/build_pip_package.sh + depends_on("patchelf", when="@2.13: platform=linux", type="build") # https://github.com/tensorflow/tensorflow/issues/60179#issuecomment-1491238631 depends_on("coreutils", when="@2.13: platform=darwin", type="build") @@ -247,12 +258,27 @@ class PyTensorflow(Package, CudaPackage, ROCmPackage, PythonExtension): depends_on("curl", when="+gcp") # depends_on('computecpp', when='+opencl+computecpp') # depends_on('trisycl', when='+opencl~computepp') - depends_on("cuda@:10.2", when="+cuda @:2.3") - depends_on("cuda@:11.4", when="+cuda @2.4:2.7") - # avoid problem fixed by commit a76f797b9cd4b9b15bec4c503b16236a804f676f - depends_on("cuda@:11.7.0", when="+cuda @:2.9") - depends_on("cudnn", when="+cuda") - depends_on("cudnn@:7", when="@:2.2 +cuda") + with when("+cuda"): + # https://www.tensorflow.org/install/source#gpu + depends_on("cuda@12.3:", when="@2.16:") + depends_on("cuda@12.2:", when="@2.15:") + depends_on("cuda@11.8:", when="@2.12:") + depends_on("cuda@11.2:", when="@2.5:") + depends_on("cuda@11.0:", when="@2.4:") + depends_on("cuda@10.1:", when="@2.1:") + + depends_on("cuda@:11.7.0", when="@:2.9") + depends_on("cuda@:11.4", when="@2.4:2.7") + depends_on("cuda@:10.2", when="@:2.3") + + depends_on("cudnn@8.9:", when="@2.15:") + depends_on("cudnn@8.7:", when="@2.14:") + depends_on("cudnn@8.6:", when="@2.12:") + depends_on("cudnn@8.1:", when="@2.5:") + depends_on("cudnn@8.0:", when="@2.4:") + depends_on("cudnn@7.6:", when="@2.1:") + + depends_on("cudnn@:7", when="@:2.2") # depends_on('tensorrt', when='+tensorrt') depends_on("nccl", when="+nccl+cuda") depends_on("mpi", when="+mpi") From 43ca6da3462ad11365eb9b0f1b09abef3bb1e024 Mon Sep 17 00:00:00 2001 From: downloadico Date: Mon, 11 Mar 2024 09:49:24 -0600 Subject: [PATCH 010/155] ruby: add version 3.3.0 (#43058) * ruby: add version 3.3.0 * added dependency on libyaml --- var/spack/repos/builtin/packages/ruby/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/ruby/package.py b/var/spack/repos/builtin/packages/ruby/package.py index 6c2b491f77d063..e71aa852d91889 100644 --- a/var/spack/repos/builtin/packages/ruby/package.py +++ b/var/spack/repos/builtin/packages/ruby/package.py @@ -24,6 +24,7 @@ class Ruby(AutotoolsPackage, NMakePackage): license("Ruby AND BSD-2-Clause AND MIT", checked_by="tgamblin") + version("3.3.0", sha256="96518814d9832bece92a85415a819d4893b307db5921ae1f0f751a9a89a56b7d") version("3.1.0", sha256="50a0504c6edcb4d61ce6b8cfdbddaa95707195fab0ecd7b5e92654b2a9412854") version("3.0.2", sha256="5085dee0ad9f06996a8acec7ebea4a8735e6fac22f22e2d98c3f2bc3bef7e6f1") version("3.0.1", sha256="369825db2199f6aeef16b408df6a04ebaddb664fb9af0ec8c686b0ce7ab77727") @@ -47,6 +48,7 @@ class Ruby(AutotoolsPackage, NMakePackage): depends_on("tk", when="@:2.3") depends_on("readline", when="+readline") depends_on("zlib-api") + depends_on("libyaml", when="@3:") with when("+openssl"): depends_on("openssl@:1") depends_on("openssl@:1.0", when="@:2.3") From 258c651a8fd4bdcbc5403a5fb7d6ea855bcc3026 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Mon, 11 Mar 2024 10:50:02 -0500 Subject: [PATCH 011/155] geant4: new variant timemory (#43111) * geant4: new variant timemory * geant4: depends_on timemory@3.2: * geant4: fix style --- var/spack/repos/builtin/packages/geant4/package.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/var/spack/repos/builtin/packages/geant4/package.py b/var/spack/repos/builtin/packages/geant4/package.py index d75fd6f9c70df1..c17322d34ea818 100644 --- a/var/spack/repos/builtin/packages/geant4/package.py +++ b/var/spack/repos/builtin/packages/geant4/package.py @@ -69,6 +69,7 @@ class Geant4(CMakePackage): variant("qt", default=False, description="Enable Qt support") variant("python", default=False, description="Enable Python bindings", when="@10.6.2:11.0") variant("tbb", default=False, description="Use TBB as a tasking backend", when="@11:") + variant("timemory", default=False, description="Use TiMemory for profiling", when="@9.5:") variant("vtk", default=False, description="Enable VTK support", when="@11:") depends_on("cmake@3.16:", type="build", when="@11.0.0:") @@ -100,6 +101,7 @@ class Geant4(CMakePackage): depends_on("zlib-api") depends_on("tbb", when="+tbb") + depends_on("timemory@3.2:", when="+timemory") depends_on("vtk@8.2:", when="+vtk") # Python, with boost requirement dealt with in cxxstd section @@ -262,6 +264,9 @@ def cmake_args(self): # geant4 libs at application runtime options.append("-DGEANT4_BUILD_TLS_MODEL=global-dynamic") + # Profiling + options.append(self.define_from_variant("GEANT4_USE_TIMEMORY", "timemory")) + # Never install the data with geant4, but point to the dependent # geant4-data's install directory to correctly set up the # Geant4Config.cmake values for Geant4_DATASETS . From 97e29e501d7d587743f3e6a9c676eedd16f2980d Mon Sep 17 00:00:00 2001 From: eugeneswalker <38933153+eugeneswalker@users.noreply.github.com> Date: Mon, 11 Mar 2024 09:29:51 -0700 Subject: [PATCH 012/155] e4s ci stacks: add cp2k cpu and gpu specs (#42454) * e4s ci stacks: add cp2k cpu and gpu specs * remove non-building cp2k specs --- .../cloud_pipelines/stacks/e4s-cray-rhel/spack.yaml | 1 + .../cloud_pipelines/stacks/e4s-cray-sles/spack.yaml | 1 + .../cloud_pipelines/stacks/e4s-neoverse-v2/spack.yaml | 6 +++++- .../cloud_pipelines/stacks/e4s-neoverse_v1/spack.yaml | 6 +++++- .../gitlab/cloud_pipelines/stacks/e4s-oneapi/spack.yaml | 1 + .../gitlab/cloud_pipelines/stacks/e4s-power/spack.yaml | 4 +++- .../cloud_pipelines/stacks/e4s-rocm-external/spack.yaml | 2 ++ share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml | 8 +++++++- 8 files changed, 25 insertions(+), 4 deletions(-) diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-rhel/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-rhel/spack.yaml index d70117d7957d0d..5ab5ba09b5e2ba 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-rhel/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-rhel/spack.yaml @@ -81,6 +81,7 @@ spack: - chai ~benchmarks ~tests - charliecloud - conduit + # - cp2k +mpi # libxsmm: ftn-78 ftn: ERROR in command linel; The -f option has an invalid argument, "tree-vectorize". - datatransferkit - flecsi - flit diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-sles/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-sles/spack.yaml index cca20af7dda9f0..c1a3135a272627 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-sles/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-sles/spack.yaml @@ -73,6 +73,7 @@ spack: - cabana - chai ~benchmarks ~tests - conduit + # - cp2k +mpi # cp2k: Error: Type mismatch between actual argument at (1) and actual argument at (2) (LOGICAL(4)/COMPLEX(4)). - datatransferkit - flecsi - fortrilinos diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse-v2/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse-v2/spack.yaml index 87f1387d2a3d0e..43042b09a9bcf9 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse-v2/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse-v2/spack.yaml @@ -67,6 +67,7 @@ spack: - chai ~benchmarks ~tests - charliecloud - conduit + - cp2k +mpi - datatransferkit - dyninst - ecp-data-vis-sdk ~cuda ~rocm +adios2 +ascent +cinema +darshan +faodel +hdf5 +paraview +pnetcdf +sz +unifyfs +veloc ~visit +vtkm +zfp # +visit: ? @@ -81,7 +82,7 @@ spack: - gmp - gotcha - gptune ~mpispawn - - gromacs +cp2k ^cp2k+dlaf build_system=cmake + - gromacs +cp2k ^cp2k +mpi +dlaf build_system=cmake - h5bench - hdf5-vol-async - hdf5-vol-cache @@ -214,6 +215,7 @@ spack: - cabana +cuda cuda_arch=75 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=75 - caliper +cuda cuda_arch=75 - chai ~benchmarks ~tests +cuda cuda_arch=75 ^umpire ~shared + # - cp2k +mpi +cuda cuda_arch=75 # cp2k: cp2k only supports cuda_arch ('35', '37', '60', '70', '80') - flecsi +cuda cuda_arch=75 - ginkgo +cuda cuda_arch=75 - gromacs +cuda cuda_arch=75 @@ -260,6 +262,7 @@ spack: - cabana +cuda cuda_arch=80 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=80 - caliper +cuda cuda_arch=80 - chai ~benchmarks ~tests +cuda cuda_arch=80 ^umpire ~shared + # - cp2k +mpi +cuda cuda_arch=80 # cp2k: Error: KeyError: 'Point environment variable LIBSMM_PATH to the absolute path of the libsmm.a file' - flecsi +cuda cuda_arch=80 - ginkgo +cuda cuda_arch=80 - gromacs +cuda cuda_arch=80 @@ -306,6 +309,7 @@ spack: - cabana +cuda cuda_arch=90 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=90 - caliper +cuda cuda_arch=90 - chai ~benchmarks ~tests +cuda cuda_arch=90 ^umpire ~shared + # - cp2k +mpi +cuda cuda_arch=90 # cp2k: cp2k only supports cuda_arch ('35', '37', '60', '70', '80') - flecsi +cuda cuda_arch=90 - ginkgo +cuda cuda_arch=90 - gromacs +cuda cuda_arch=90 diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse_v1/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse_v1/spack.yaml index a33156a196992e..c35860c4b5f711 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse_v1/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-neoverse_v1/spack.yaml @@ -67,6 +67,7 @@ spack: - chai ~benchmarks ~tests - charliecloud - conduit + - cp2k +mpi - datatransferkit - dyninst - ecp-data-vis-sdk ~cuda ~rocm +adios2 +ascent +cinema +darshan +faodel +hdf5 +paraview +pnetcdf +sz +unifyfs +veloc ~visit +vtkm +zfp # +visit: ? @@ -81,7 +82,7 @@ spack: - gmp - gotcha - gptune ~mpispawn - - gromacs +cp2k ^cp2k+dlaf build_system=cmake + - gromacs +cp2k ^cp2k +mpi +dlaf build_system=cmake - h5bench - hdf5-vol-async - hdf5-vol-cache @@ -214,6 +215,7 @@ spack: - cabana +cuda cuda_arch=75 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=75 - caliper +cuda cuda_arch=75 - chai ~benchmarks ~tests +cuda cuda_arch=75 ^umpire ~shared + # - cp2k +mpi +cuda cuda_arch=75 # cp2k: cp2k only supports cuda_arch ('35', '37', '60', '70', '80') - flecsi +cuda cuda_arch=75 - ginkgo +cuda cuda_arch=75 - gromacs +cuda cuda_arch=75 @@ -260,6 +262,7 @@ spack: - cabana +cuda cuda_arch=80 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=80 - caliper +cuda cuda_arch=80 - chai ~benchmarks ~tests +cuda cuda_arch=80 ^umpire ~shared + # - cp2k +mpi +cuda cuda_arch=80 # cp2k: Error: KeyError: 'Point environment variable LIBSMM_PATH to the absolute path of the libsmm.a file' - flecsi +cuda cuda_arch=80 - ginkgo +cuda cuda_arch=80 - gromacs +cuda cuda_arch=80 @@ -306,6 +309,7 @@ spack: - cabana +cuda cuda_arch=90 ^kokkos +wrapper +cuda_lambda +cuda cuda_arch=90 - caliper +cuda cuda_arch=90 - chai ~benchmarks ~tests +cuda cuda_arch=90 ^umpire ~shared + # - cp2k +mpi +cuda cuda_arch=90 # cp2k: cp2k only supports cuda_arch ('35', '37', '60', '70', '80') - flecsi +cuda cuda_arch=90 - ginkgo +cuda cuda_arch=90 - gromacs +cuda cuda_arch=90 diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-oneapi/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-oneapi/spack.yaml index 8179467dd97305..0d1f4951b2d31c 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-oneapi/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-oneapi/spack.yaml @@ -80,6 +80,7 @@ spack: - chai ~benchmarks ~tests - charliecloud - conduit + # - cp2k +mpi # dbcsr - datatransferkit - drishti - exaworks diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-power/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-power/spack.yaml index b4a341e85bff7e..bc08f000212ab2 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-power/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-power/spack.yaml @@ -68,6 +68,7 @@ spack: - chai ~benchmarks ~tests - charliecloud - conduit + - cp2k +mpi - datatransferkit - drishti - dxt-explorer @@ -83,7 +84,7 @@ spack: - gmp - gotcha - gptune - - gromacs +cp2k ^cp2k build_system=cmake + - gromacs +cp2k ^cp2k +mpi build_system=cmake - h5bench - hdf5-vol-async - hdf5-vol-cache @@ -218,6 +219,7 @@ spack: - arborx +cuda cuda_arch=70 ^kokkos +wrapper - caliper +cuda cuda_arch=70 - chai ~benchmarks ~tests +cuda cuda_arch=70 ^umpire ~shared + # - cp2k +mpi +cuda cuda_arch=70 # dbcsr - ecp-data-vis-sdk ~rocm +adios2 ~ascent +hdf5 +vtkm +zfp ~paraview +cuda cuda_arch=70 - exago +mpi +python +raja +hiop ~rocm +cuda cuda_arch=70 ~ipopt ^hiop@1.0.0 ~sparse +mpi +raja ~rocm +cuda cuda_arch=70 #^raja@0.14.0 - flecsi +cuda cuda_arch=70 diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml index 85727ce160c934..e0e20b0afdffdc 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-rocm-external/spack.yaml @@ -215,6 +215,7 @@ spack: - cabana +rocm amdgpu_target=gfx908 - caliper +rocm amdgpu_target=gfx908 - chai ~benchmarks +rocm amdgpu_target=gfx908 + # - cp2k +mpi +rocm amdgpu_target=gfx908 # cp2k: Error: KeyError: 'No spec with name rocm in... "-L{}".format(spec["rocm"].libs.directories[0]), - ecp-data-vis-sdk +paraview +vtkm +rocm amdgpu_target=gfx908 - exago +mpi +python +raja +hiop +rocm amdgpu_target=gfx908 ~ipopt cxxflags="-Wno-error=non-pod-varargs" ^hiop@1.0.0 ~sparse +mpi +raja +rocm amdgpu_target=gfx908 - gasnet +rocm amdgpu_target=gfx908 @@ -256,6 +257,7 @@ spack: - cabana +rocm amdgpu_target=gfx90a - caliper +rocm amdgpu_target=gfx90a - chai ~benchmarks +rocm amdgpu_target=gfx90a + # - cp2k +mpi +rocm amdgpu_target=gfx90a # cp2k: Error: KeyError: 'No spec with name rocm in... "-L{}".format(spec["rocm"].libs.directories[0]), - ecp-data-vis-sdk +paraview +vtkm +rocm amdgpu_target=gfx90a - exago +mpi +python +raja +hiop +rocm amdgpu_target=gfx90a ~ipopt cxxflags="-Wno-error=non-pod-varargs" ^hiop@1.0.0 ~sparse +mpi +raja +rocm amdgpu_target=gfx90a - gasnet +rocm amdgpu_target=gfx90a diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml index 18841dac6a238c..afd2058c9ad69c 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s/spack.yaml @@ -72,6 +72,7 @@ spack: - chai ~benchmarks ~tests - charliecloud - conduit + - cp2k +mpi - datatransferkit - dealii - drishti @@ -89,7 +90,7 @@ spack: - gmp - gotcha - gptune ~mpispawn - - gromacs +cp2k ^cp2k+dlaf build_system=cmake + - gromacs +cp2k ^cp2k +dlaf build_system=cmake - h5bench - hdf5-vol-async - hdf5-vol-cache @@ -395,6 +396,11 @@ spack: # # - lbann ~cuda +rocm amdgpu_target=gfx90a # aluminum: https://github.com/spack/spack/issues/38807 # # - papi +rocm amdgpu_target=gfx90a # papi: https://github.com/spack/spack/issues/27898 + # - cp2k +mpi +cuda cuda_arch=80 # cp2k: spack-stage-libxsmm-1.17-ml4asr3rsb5biw34x6m764cbrp3zrwyk/spack-src/./src/libxsmm_gemm.c:223: undefined reference to `dgemv_' + # - cp2k +mpi +cuda cuda_arch=90 # cp2k: cp2k only supports cuda_arch ('35', '37', '60', '70', '80') + # - cp2k +mpi +rocm amdgpu_target=gfx908 # cp2k: Error: KeyError: 'No spec with name rocm in... "-L{}".format(spec["rocm"].libs.directories[0]), + # - cp2k +mpi +rocm amdgpu_target=gfx90a # cp2k: Error: KeyError: 'No spec with name rocm in... "-L{}".format(spec["rocm"].libs.directories[0]), + ci: pipeline-gen: - build-job: From dbf5d79557f769abfee434f150caa17dfa4eccf2 Mon Sep 17 00:00:00 2001 From: tpeterka Date: Mon, 11 Mar 2024 13:56:26 -0500 Subject: [PATCH 013/155] updated diy/package.py to version 3.6.0 (#43101) --- var/spack/repos/builtin/packages/diy/package.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/diy/package.py b/var/spack/repos/builtin/packages/diy/package.py index 6a08ab5de2ffb6..bca8f759cf4fc6 100644 --- a/var/spack/repos/builtin/packages/diy/package.py +++ b/var/spack/repos/builtin/packages/diy/package.py @@ -10,13 +10,14 @@ class Diy(CMakePackage): """Data-parallel out-of-core library""" homepage = "https://github.com/diatomic/diy" - url = "https://github.com/diatomic/diy/archive/3.5.0.tar.gz" + url = "https://github.com/diatomic/diy/archive/3.6.0.tar.gz" git = "https://github.com/diatomic/diy.git" license("BSD-3-Clause-LBNL") - version("3.5.0", sha256="b3b5490441d521b6e9b33471c782948194bf95c7c3df3eb97bc5cf4530b91576") version("master", branch="master") + version("3.6.0", sha256="d12eb7dabe3a8a66cd406d34aabdb43c1ec178b7ed40cf1dff10016643bbf149") + version("3.5.0", sha256="b3b5490441d521b6e9b33471c782948194bf95c7c3df3eb97bc5cf4530b91576") depends_on("mpi") From 3934df622c204d7c74d5f505aa18262240205633 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Mon, 11 Mar 2024 11:58:15 -0700 Subject: [PATCH 014/155] fzf: add v0.47.0 (#43113) --- var/spack/repos/builtin/packages/fzf/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/fzf/package.py b/var/spack/repos/builtin/packages/fzf/package.py index eedd3fdea7f73c..aec27fd5997521 100644 --- a/var/spack/repos/builtin/packages/fzf/package.py +++ b/var/spack/repos/builtin/packages/fzf/package.py @@ -19,6 +19,7 @@ class Fzf(MakefilePackage): license("MIT") + version("0.47.0", sha256="bc566cb4630418bc9981898d3350dbfddc114637a896acaa8d818a51945bdf30") version("0.46.1", sha256="b0d640be3ae79980fdf461096f7d9d36d38ec752e25f8c4d2ca3ca6c041c2491") version("0.45.0", sha256="f0dd5548f80fe7f80d9277bb8fe252ac6e42a41e76fc85ce0f3af702cd987600") version("0.44.1", sha256="295f3aec9519f0cf2dce67a14e94d8a743d82c19520e5671f39c71c9ea04f90c") From 98162aa2e1574b2e8a2a43976ad27eda92e5c65e Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 11 Mar 2024 20:28:03 +0100 Subject: [PATCH 015/155] py-earth2mip: add new package (#43062) * py-earth2mip: add new package * Fix audit tests * Make things easier to concretize * Make things easier to concretize * Fix magics build * Fix onnx build * blacken * cmake > py-cmake * Fix onnxruntime build * onnxruntime: remove unknown cmake vars * Trick bazelisk into using Spack bazel * Different deps for main * protobuf: add v3.25.3 * Enforce upper bound on jaxlib version * py-chex: add v0.1.85 * py-dm-haiku: add v0.0.12 * py-jax: add v0.4.25 * Older jaxlib doesn't build on ppc64le either --- .../builtin/packages/abseil-cpp/package.py | 7 +- .../repos/builtin/packages/magics/package.py | 17 +++- .../builtin/packages/protobuf/package.py | 1 + .../packages/py-aiobotocore/package.py | 11 ++- .../builtin/packages/py-cdsapi/package.py | 3 +- .../builtin/packages/py-cfgrib/package.py | 13 ++- .../repos/builtin/packages/py-chex/package.py | 14 +++- .../builtin/packages/py-colabtools/package.py | 19 +++++ .../builtin/packages/py-dm-haiku/package.py | 25 ++++-- .../builtin/packages/py-earth2mip/package.py | 83 +++++++++++++++++++ .../packages/py-ecmwf-opendata/package.py | 20 +++++ .../builtin/packages/py-ecmwflibs/package.py | 34 ++++++++ .../builtin/packages/py-etils/package.py | 19 +++-- .../repos/builtin/packages/py-flax/package.py | 36 ++++++++ .../builtin/packages/py-flit-core/package.py | 1 + .../builtin/packages/py-fsspec/package.py | 3 +- .../builtin/packages/py-gcsfs/package.py | 4 +- .../builtin/packages/py-graphcast/package.py | 36 ++++++++ .../builtin/packages/py-h5netcdf/package.py | 6 +- .../packages/py-importlib-metadata/package.py | 1 + .../repos/builtin/packages/py-jax/package.py | 8 ++ .../builtin/packages/py-jaxlib/package.py | 3 +- .../builtin/packages/py-jraph/package.py | 24 ++++++ .../builtin/packages/py-multiurl/package.py | 25 ++++++ .../builtin/packages/py-netcdf4/package.py | 21 +++-- .../packages/py-nvidia-dali/package.py | 2 + .../packages/py-nvidia-modulus/package.py | 38 +++++++++ .../repos/builtin/packages/py-nvtx/package.py | 21 +++++ .../repos/builtin/packages/py-onnx/package.py | 38 +++++---- .../packages/py-onnxruntime/package.py | 51 ++++++------ .../packages/py-orbax-checkpoint/package.py | 37 +++++++++ .../packages/py-properscoring/package.py | 21 +++++ .../packages/py-pytest-asyncio/package.py | 7 +- .../packages/py-pytest-regtest/package.py | 20 +++++ .../packages/py-pytest-timeout/package.py | 3 +- .../packages/py-python-dotenv/package.py | 3 +- .../repos/builtin/packages/py-s3fs/package.py | 5 +- .../packages/py-tensorstore/package.py | 33 ++++++++ .../packages/py-torch-harmonics/package.py | 24 ++++++ .../repos/builtin/packages/py-tree/package.py | 22 +++++ .../builtin/packages/py-treelib/package.py | 20 +++++ .../builtin/packages/py-triton/package.py | 23 +++++ .../builtin/packages/py-xhistogram/package.py | 22 +++++ .../packages/py-xskillscore/package.py | 35 ++++++++ .../repos/builtin/packages/py-zarr/package.py | 23 +++-- 45 files changed, 781 insertions(+), 101 deletions(-) create mode 100644 var/spack/repos/builtin/packages/py-colabtools/package.py create mode 100644 var/spack/repos/builtin/packages/py-earth2mip/package.py create mode 100644 var/spack/repos/builtin/packages/py-ecmwf-opendata/package.py create mode 100644 var/spack/repos/builtin/packages/py-ecmwflibs/package.py create mode 100644 var/spack/repos/builtin/packages/py-flax/package.py create mode 100644 var/spack/repos/builtin/packages/py-graphcast/package.py create mode 100644 var/spack/repos/builtin/packages/py-jraph/package.py create mode 100644 var/spack/repos/builtin/packages/py-multiurl/package.py create mode 100644 var/spack/repos/builtin/packages/py-nvidia-modulus/package.py create mode 100644 var/spack/repos/builtin/packages/py-nvtx/package.py create mode 100644 var/spack/repos/builtin/packages/py-orbax-checkpoint/package.py create mode 100644 var/spack/repos/builtin/packages/py-properscoring/package.py create mode 100644 var/spack/repos/builtin/packages/py-pytest-regtest/package.py create mode 100644 var/spack/repos/builtin/packages/py-tensorstore/package.py create mode 100644 var/spack/repos/builtin/packages/py-torch-harmonics/package.py create mode 100644 var/spack/repos/builtin/packages/py-tree/package.py create mode 100644 var/spack/repos/builtin/packages/py-treelib/package.py create mode 100644 var/spack/repos/builtin/packages/py-triton/package.py create mode 100644 var/spack/repos/builtin/packages/py-xhistogram/package.py create mode 100644 var/spack/repos/builtin/packages/py-xskillscore/package.py diff --git a/var/spack/repos/builtin/packages/abseil-cpp/package.py b/var/spack/repos/builtin/packages/abseil-cpp/package.py index 1bc0955a0f0817..118e035e5a113d 100644 --- a/var/spack/repos/builtin/packages/abseil-cpp/package.py +++ b/var/spack/repos/builtin/packages/abseil-cpp/package.py @@ -17,6 +17,9 @@ class AbseilCpp(CMakePackage): license("Apache-2.0") + version( + "20240116.1", sha256="3c743204df78366ad2eaf236d6631d83f6bc928d1705dd0000b872e53b73dc6a" + ) version( "20230802.1", sha256="987ce98f02eefbaf930d6e38ab16aa05737234d7afbab2d5c4ea7adbe50c28ed" ) @@ -71,8 +74,8 @@ class AbseilCpp(CMakePackage): description="C++ standard used during compilation", ) - depends_on("cmake@3.10:", when="@2023:", type="build") - depends_on("cmake@3.5:", when="@2019:", type="build") + depends_on("cmake@3.10:", when="@20220907:", type="build") + depends_on("cmake@3.5:", when="@20190312:", type="build") depends_on("cmake@3.1:", type="build") def cmake_args(self): diff --git a/var/spack/repos/builtin/packages/magics/package.py b/var/spack/repos/builtin/packages/magics/package.py index 27328311575c50..c635278c348240 100644 --- a/var/spack/repos/builtin/packages/magics/package.py +++ b/var/spack/repos/builtin/packages/magics/package.py @@ -14,14 +14,15 @@ class Magics(CMakePackage): software MAGICS. Although completely redesigned in C++, it is intended to be as backwards-compatible as possible with the Fortran interface.""" - homepage = "https://software.ecmwf.int/wiki/display/MAGP/Magics" + homepage = "https://confluence.ecmwf.int/display/MAGP/Magics" url = "https://confluence.ecmwf.int/download/attachments/3473464/Magics-4.2.4-Source.tar.gz?api=v2" - list_url = "https://software.ecmwf.int/wiki/display/MAGP/Releases" + list_url = "https://confluence.ecmwf.int/display/MAGP/Releases" license("Apache-2.0") # The policy on which minor releases remain available and which get deleted # after a newer version becomes available is unclear. + version("4.15.3", sha256="1836e1e37534c556f55b5b13812a513091c2fa508b8c4f5a8b6842f07741f1a7") version("4.9.3", sha256="c01ee7c4b05c5512e93e573748d2766d299fa1a60c226f2a0d0989f3d7c5239b") version("4.4.0", sha256="544058cd334f3e28a16d00ea7811e13cdf282f9c1ebec2ad7868171d925abd24") version("4.3.3", sha256="27d3de71cf41f3d557fd85dabaea2baaab34c4c6422a5b5b15071a6a53387601") @@ -86,7 +87,7 @@ class Magics(CMakePackage): # Even if netcdf is disabled and -DENABLE_NETCDF=OFF is set, building # magics still requires legacy netcdf-cxx - depends_on("netcdf-cxx", when="@4.1.0:4.3.1") + conflicts("~netcdf", when="@4.1.0:4.3.1,4.15.3:") # Optional dependencies depends_on("netcdf-cxx", when="+netcdf") @@ -151,3 +152,13 @@ def cmake_args(self): args.append("-DENABLE_METVIEW=OFF") return args + + @property + def libs(self): + return find_libraries(["libMagPlus"], root=self.prefix, recursive=True) + + @property + def headers(self): + hl = find_all_headers(self.prefix.include) + hl.directories = [self.prefix.include, self.prefix.include.magics] + return hl diff --git a/var/spack/repos/builtin/packages/protobuf/package.py b/var/spack/repos/builtin/packages/protobuf/package.py index a87a0db6165146..8758299ef67804 100644 --- a/var/spack/repos/builtin/packages/protobuf/package.py +++ b/var/spack/repos/builtin/packages/protobuf/package.py @@ -16,6 +16,7 @@ class Protobuf(CMakePackage): license("BSD-3-Clause") + version("3.25.3", sha256="da82be8acc5347c7918ef806ebbb621b24988f7e1a19b32cd7fc73bc29b59186") version("3.24.3", sha256="2c23dee0bdbc36bd43ee457083f8f5560265d0815cc1c56033de3932843262fe") version("3.23.3", sha256="5e4b555f72a7e3f143a7aff7262292500bb02c49b174351684bb70fc7f2a6d33") version("3.22.2", sha256="2118051b4fb3814d59d258533a4e35452934b1ddb41230261c9543384cbb4dfc") diff --git a/var/spack/repos/builtin/packages/py-aiobotocore/package.py b/var/spack/repos/builtin/packages/py-aiobotocore/package.py index 6892f98978d441..b3cf5ba550669b 100644 --- a/var/spack/repos/builtin/packages/py-aiobotocore/package.py +++ b/var/spack/repos/builtin/packages/py-aiobotocore/package.py @@ -14,14 +14,19 @@ class PyAiobotocore(PythonPackage): license("Apache-2.0") + version("2.12.1", sha256="8706b28f16f93c541f6ed50352115a79d8f3499539f8d0bb70aa0f7a5379c1fe") version("2.5.0", sha256="6a5b397cddd4f81026aa91a14c7dd2650727425740a5af8ba75127ff663faf67") version("2.4.2", sha256="0603b74a582dffa7511ce7548d07dc9b10ec87bc5fb657eb0b34f9bd490958bf") version("1.2.1", sha256="58cc422e65fc89f7cb78eca740d241ac8e15f39f6b308cc23152711e8a987d45") depends_on("py-setuptools", type="build") + depends_on("py-botocore@1.34.41:1.34.51", when="@2.12.1", type=("build", "run")) depends_on("py-botocore@1.27.59", when="@2.4.2", type=("build", "run")) depends_on("py-botocore@1.19.52", when="@1.2.1", type=("build", "run")) depends_on("py-botocore@1.29.76", when="@2.5.0", type=("build", "run")) - depends_on("py-aiohttp@3.3.1:", type=("build", "run")) - depends_on("py-wrapt@1.10.10:", type=("build", "run")) - depends_on("py-aioitertools@0.5.1:", type=("build", "run")) + depends_on("py-aiohttp@3.7.4:3", when="@2.12:", type=("build", "run")) + depends_on("py-aiohttp@3.3.1:", when="@:2.5", type=("build", "run")) + depends_on("py-wrapt@1.10.10:1", when="@2.12:", type=("build", "run")) + depends_on("py-wrapt@1.10.10:", when="@:2.5", type=("build", "run")) + depends_on("py-aioitertools@0.5.1:0", when="@2.12:", type=("build", "run")) + depends_on("py-aioitertools@0.5.1:", when="@:2.5", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-cdsapi/package.py b/var/spack/repos/builtin/packages/py-cdsapi/package.py index 11e966f27a5161..cbd979a8ab73e4 100644 --- a/var/spack/repos/builtin/packages/py-cdsapi/package.py +++ b/var/spack/repos/builtin/packages/py-cdsapi/package.py @@ -7,13 +7,14 @@ class PyCdsapi(PythonPackage): - """The Climate Data Store Application Program Interface is a service providing programmatic access to CDS data. Get your UID and API key from the CDS portal at the address https://cds.climate.copernicus.eu/user and write it into the configuration file. Look at https://pypi.org/project/cdsapi/ for an example""" + """Climate Data Store API.""" homepage = "https://cds.climate.copernicus.eu" pypi = "cdsapi/cdsapi-0.2.3.tar.gz" license("Apache-2.0") + version("0.6.1", sha256="7d40c58e3fd3e75a8acdcdc81eab4ef9b6f763b2902ba01d7d1738f3652a5a30") version("0.2.3", sha256="333b31ec263224399635db9b21a2e1a50cd73451f5179f8d967437e7c9161d9b") depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-cfgrib/package.py b/var/spack/repos/builtin/packages/py-cfgrib/package.py index cbbeba01fd13c3..e0f3ed0269e600 100644 --- a/var/spack/repos/builtin/packages/py-cfgrib/package.py +++ b/var/spack/repos/builtin/packages/py-cfgrib/package.py @@ -15,21 +15,26 @@ class PyCfgrib(PythonPackage): license("Apache-2.0") + version("0.9.10.4", sha256="b490078192aa13ec89c77296110355521442325866b16a996f4b3cf421542909") version("0.9.9.0", sha256="6ff0227df9c5ee34aa7d6ab1f7af3fbe6838523a8a9891c74040b419b03ad289") version("0.9.8.5", sha256="07c224d7ac823a1df5738b96b9d3621515538f51f67e55044f9cc8ec1668e1bd") # Warning: can create infinite dependency loop with xarray+io ^cfgrib+xarray variant("xarray", default=False, description="Add xarray support") - depends_on("python@3.5:", type=("build", "run")) depends_on("py-setuptools", type="build") - depends_on("py-pytest-runner", when="@0.9.8.5", type="build") depends_on("py-attrs@19.2:", type=("build", "run")) - depends_on("py-cffi", when="@0.9.8.5", type=("build", "run")) depends_on("py-click", type=("build", "run")) + depends_on("py-eccodes@0.9.8:", when="@0.9.10:", type=("build", "run")) depends_on("py-eccodes", type=("build", "run")) depends_on("py-numpy", type=("build", "run")) - depends_on("py-xarray@0.12.0:", when="+xarray", type=("build", "run")) + + depends_on("py-xarray@0.15:", when="@0.9.10:+xarray", type=("build", "run")) + depends_on("py-xarray@0.12:", when="+xarray", type=("build", "run")) + + # Historical dependencies + depends_on("py-pytest-runner", when="@0.9.8.5", type="build") + depends_on("py-cffi", when="@0.9.8.5", type=("build", "run")) @property def import_modules(self): diff --git a/var/spack/repos/builtin/packages/py-chex/package.py b/var/spack/repos/builtin/packages/py-chex/package.py index abc993fad1bf35..b2dcfa5ee9620a 100644 --- a/var/spack/repos/builtin/packages/py-chex/package.py +++ b/var/spack/repos/builtin/packages/py-chex/package.py @@ -15,14 +15,24 @@ class PyChex(PythonPackage): license("Apache-2.0") + version("0.1.85", sha256="a27cfe87119d6e1fe24ccc1438a59195e6dc1d6e0e10099fcf618c3f64771faf") version("0.1.5", sha256="686858320f8f220c82a6c7eeb54dcdcaa4f3d7f66690dacd13a24baa1ee8299e") version("0.1.0", sha256="9e032058f5fed2fc1d5e9bf8e12ece5910cf6a478c12d402b6d30984695f2161") - depends_on("python@3.7:", type=("build", "run")) + depends_on("python@3.9:", type=("build", "run"), when="@0.1.85:") depends_on("py-setuptools", type="build") depends_on("py-absl-py@0.9.0:", type=("build", "run")) - depends_on("py-dm-tree@0.1.5:", type=("build", "run")) + depends_on("py-typing-extensions@4.2:", type=("build", "run"), when="@0.1.85:") + depends_on("py-jax@0.4.16:", type=("build", "run"), when="@0.1.85:") depends_on("py-jax@0.1.55:", type=("build", "run")) depends_on("py-jaxlib@0.1.37:", type=("build", "run")) + depends_on("py-numpy@1.24.1:", type=("build", "run"), when="@0.1.85:") depends_on("py-numpy@1.18.0:", type=("build", "run")) + depends_on("py-setuptools", type=("build", "run"), when="@0.1.85: ^python@3.12:") depends_on("py-toolz@0.9.0:", type=("build", "run")) + + # Historical dependencies + depends_on("py-dm-tree@0.1.5:", type=("build", "run"), when="@:0.1.5") + + # AttributeError: module 'jax.interpreters.pxla' has no attribute 'ShardedDeviceArray' + conflicts("^py-jax@0.4.14:", when="@:0.1.5") diff --git a/var/spack/repos/builtin/packages/py-colabtools/package.py b/var/spack/repos/builtin/packages/py-colabtools/package.py new file mode 100644 index 00000000000000..6d6d3621110d75 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-colabtools/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyColabtools(PythonPackage): + """Tools to work with colab from google.""" + + homepage = "https://github.com/zuuuhkrit/colabtools" + pypi = "colabtools/colabtools-0.0.1.tar.gz" + + license("LGPL-3.0-only") + + version("0.0.1", sha256="b6f7c0050e5924f4ad7e4762d46be663e21d417a39fc4adf6c6c90e8d9be47ec") + + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-dm-haiku/package.py b/var/spack/repos/builtin/packages/py-dm-haiku/package.py index 45adb2b7fc5306..add015e959a827 100644 --- a/var/spack/repos/builtin/packages/py-dm-haiku/package.py +++ b/var/spack/repos/builtin/packages/py-dm-haiku/package.py @@ -15,16 +15,31 @@ class PyDmHaiku(PythonPackage): license("Apache-2.0") + version("0.0.12", sha256="ba0b3acf71433156737fe342c486da11727e5e6c9e054245f4f9b8f0b53eb608") version("0.0.7", sha256="86c34af6952a305a4bbfda6b9925998577acc4aa2ad9333da3d6047f4f8ed7c1") version("0.0.5", sha256="e986237e1f840aa3bd26217ecad84b611bf1456e2139f0f79ea71f9c6222d231") - depends_on("python@3.7:", type=("build", "run")) + + variant("jax", default=False, description="Build with JAX support", when="@0.0.12:") + + # setup.py + depends_on("python@3.9:", when="@0.0.12:", type=("build", "run")) depends_on("py-setuptools", type="build") + + # requirements.txt depends_on("py-absl-py@0.7.1:", type=("build", "run")) depends_on("py-jmp@0.0.2:", type=("build", "run")) depends_on("py-numpy@1.18.0:", type=("build", "run")) depends_on("py-tabulate@0.8.9:", type=("build", "run")) + depends_on("py-flax@0.7.1:", when="@0.0.12:", type=("build", "run")) + + # requirements-jax.txt + with when("+jax"): + depends_on("py-jax@0.4.24:", type=("build", "run")) + depends_on("py-jaxlib@0.4.24:", type=("build", "run")) + + # Historical dependencies depends_on("py-typing-extensions", when="^python@:3.7", type=("build", "run")) - # from README.md: - # Because JAX installation is different depending on your CUDA version, Haiku does - # not list JAX as a dependency in `requirements.txt`. - depends_on("py-jax", type=("build", "run")) + depends_on("py-jax", when="@:0.0.7", type=("build", "run")) + + # AttributeError: module 'jax' has no attribute 'xla' + conflicts("^py-jax@0.4.14:", when="@:0.0.7") diff --git a/var/spack/repos/builtin/packages/py-earth2mip/package.py b/var/spack/repos/builtin/packages/py-earth2mip/package.py new file mode 100644 index 00000000000000..c6cfc0e7966e4e --- /dev/null +++ b/var/spack/repos/builtin/packages/py-earth2mip/package.py @@ -0,0 +1,83 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyEarth2mip(PythonPackage): + """Earth-2 Model Intercomparison Project (MIP). + + A python framework that enables climate researchers and scientists to explore + and experiment with AI models for weather and climate. + """ + + homepage = "https://github.com/NVIDIA/earth2mip" + url = "https://github.com/NVIDIA/earth2mip/archive/refs/tags/v0.1.0.tar.gz" + git = "https://github.com/NVIDIA/earth2mip.git" + + maintainers("adamjstewart") + + license("Apache-2.0") + + version("main", branch="main") + version("0.1.0", sha256="a49d0607893013783d30bfcb2f80412014ab535fbcc1e96dd139b78819bd98ab") + + variant("pangu", default=False, description="Build dependencies needed for Pangu-Weather") + variant("graphcast", default=False, description="Build dependencies needed for GraphCast") + + with default_args(type="build"): + depends_on("py-setuptools") + depends_on("py-setuptools-scm") + + with default_args(type=("build", "run")): + depends_on("python@3.10:") + depends_on("py-altair@4.2.2:") + depends_on("py-boto3@1.26.0:", when="@main") + depends_on("py-cdsapi@0.6.1:") + depends_on("py-cfgrib@0.9.10.3:") + depends_on("py-cftime") + depends_on("py-dask@2023.1.0:") + depends_on("py-distributed@2023.1.0:") + depends_on("py-eccodes@1.4.0:") + depends_on("py-ecmwflibs@0.5.2:") + depends_on("py-ecmwf-opendata@0.2.0:", when="@main") + depends_on("py-einops") + depends_on("py-fsspec") + depends_on("py-h5py@3.2.0:") + depends_on("py-h5netcdf@1.0.0:") + depends_on("py-importlib-metadata@6.7.0:") + depends_on("py-joblib@1.1.0:") + depends_on("py-loguru@0.6.0:", when="@main") + depends_on("py-netcdf4@1.6.4:") + depends_on("py-numpy") + depends_on("py-nvidia-modulus@0.4.0:") + depends_on("py-pandas@1.5.3:") + depends_on("py-properscoring@0.1:") + depends_on("py-pydantic@1.10:1.10.11") + depends_on("py-pytest-timeout@2.1.0:", when="@main") + depends_on("py-pytest-asyncio@0.21.0:") + depends_on("py-pytest-regtest") + depends_on("py-pytest@7.0.0:") + depends_on("py-python-dotenv@1.0.0:") + depends_on("py-s3fs") + depends_on("py-setuptools@38.4:") + depends_on("py-torch@1.13:") + depends_on("py-torch-harmonics@0.5.0:") + depends_on("py-tqdm@4.65.0:") + depends_on("py-typer") + depends_on("py-xarray") + depends_on("py-xskillscore@0.0.24:") + depends_on("py-zarr@2.14.2:") + + with default_args(type="run"): + with when("+pangu"): + depends_on("py-onnxruntime@1.15.1:") + + with when("+graphcast"): + depends_on("py-flax@0.7.3", when="@main") + depends_on("py-jax@0.4.16") + depends_on("py-graphcast@0.1") + depends_on("py-gcsfs") + depends_on("py-gcsfs@2023.6.0:", when="@0.1.0") diff --git a/var/spack/repos/builtin/packages/py-ecmwf-opendata/package.py b/var/spack/repos/builtin/packages/py-ecmwf-opendata/package.py new file mode 100644 index 00000000000000..65636fee6af13b --- /dev/null +++ b/var/spack/repos/builtin/packages/py-ecmwf-opendata/package.py @@ -0,0 +1,20 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyEcmwfOpendata(PythonPackage): + """A package to download ECMWF open data.""" + + homepage = "https://github.com/ecmwf/ecmwf-opendata" + pypi = "ecmwf-opendata/ecmwf-opendata-0.3.3.tar.gz" + + license("Apache-2.0") + + version("0.3.3", sha256="6f3181c7872b72e5529d2b4b7ec6ff08d37c37beee0a498f7f286410be178c6a") + + depends_on("py-setuptools", type="build") + depends_on("py-multiurl@0.2.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-ecmwflibs/package.py b/var/spack/repos/builtin/packages/py-ecmwflibs/package.py new file mode 100644 index 00000000000000..7ed64c30883385 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-ecmwflibs/package.py @@ -0,0 +1,34 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyEcmwflibs(PythonPackage): + """A Python package that wraps some of ECMWF libraries to be used by + Python interfaces to ECMWF software. + """ + + homepage = "https://github.com/ecmwf/ecmwflibs" + url = "https://github.com/ecmwf/ecmwflibs/archive/refs/tags/0.6.1.tar.gz" + + license("Apache-2.0") + + version("0.6.1", sha256="9f2153d1b4a07038b975b7d6bb89bbf9e88d6bc4e2ef4d4e067e58a2fb5270d3") + + depends_on("py-setuptools", type="build") + depends_on("py-findlibs", type=("build", "run")) + depends_on("eccodes") + depends_on("magics") + + def patch(self): + # Instruct setup.py where to find dependencies + library_dirs = self.spec["eccodes"].libs.directories + self.spec["magics"].libs.directories + include_dirs = ( + self.spec["eccodes"].headers.directories + self.spec["magics"].headers.directories + ) + setup = FileFilter("setup.py") + setup.filter("library_dirs=.*", f"library_dirs={library_dirs},") + setup.filter("include_dirs=.*", f"include_dirs={include_dirs},") diff --git a/var/spack/repos/builtin/packages/py-etils/package.py b/var/spack/repos/builtin/packages/py-etils/package.py index 59f1e0386d1ce3..ced24d6ab32c62 100644 --- a/var/spack/repos/builtin/packages/py-etils/package.py +++ b/var/spack/repos/builtin/packages/py-etils/package.py @@ -15,14 +15,23 @@ class PyEtils(PythonPackage): license("Apache-2.0") + version("1.7.0", sha256="97b68fd25e185683215286ef3a54e38199b6245f5fe8be6bedc1189be4256350") version("0.9.0", sha256="489103e9e499a566765c60458ee15d185cf0065f2060a4d16a68f8f46962ed0d") variant("epath", default=False, description="with epath module") + variant("epy", default=False, description="with epy module") - depends_on("python@3.7:", type=("build", "run")) + depends_on("python@3.10:", type=("build", "run"), when="@1.7:") + depends_on("py-flit-core@3.8:3", type="build", when="@1.7:") + depends_on("py-flit-core@3.5:3", type="build") - depends_on("py-importlib-resources", type=("build", "run"), when="+epath") - depends_on("py-typing-extensions", type=("build", "run"), when="+epath") - depends_on("py-zipp", type=("build", "run"), when="+epath") + conflicts("~epy", when="+epath") - depends_on("py-flit-core@3.5:3", type="build") + with when("+epath"): + depends_on("py-fsspec", type=("build", "run"), when="@1.7:") + depends_on("py-importlib-resources", type=("build", "run")) + depends_on("py-typing-extensions", type=("build", "run")) + depends_on("py-zipp", type=("build", "run")) + + with when("+epy"): + depends_on("py-typing-extensions", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-flax/package.py b/var/spack/repos/builtin/packages/py-flax/package.py new file mode 100644 index 00000000000000..f1bbc9678edb11 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-flax/package.py @@ -0,0 +1,36 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyFlax(PythonPackage): + """Flax: A neural network library for JAX designed for flexibility.""" + + homepage = "https://github.com/google/flax" + pypi = "flax/flax-0.8.1.tar.gz" + + license("Apache-2.0") + + version("0.8.1", sha256="ce3d99e9b4c0d2e4d9fc28bc56cced8ba953adfd695aabd24f096b4c8a7e2f92") + version("0.7.3", sha256="e9dbc7eb6c80d31277f97b626c07978d2a84f1bb635cf05957a02a3a496493e6") + + with default_args(type="build"): + depends_on("py-setuptools") + depends_on("py-setuptools-scm") + + with default_args(type=("build", "run")): + depends_on("python@3.9:", when="@0.8:") + depends_on("py-numpy@1.22:", when="@0.8:") + depends_on("py-numpy@1.12:") + depends_on("py-jax@0.4.19:", when="@0.8:") + depends_on("py-jax@0.4.2:") + depends_on("py-msgpack") + depends_on("py-optax") + depends_on("py-orbax-checkpoint") + depends_on("py-tensorstore") + depends_on("py-rich@11.1:") + depends_on("py-typing-extensions@4.2:") + depends_on("py-pyyaml@5.4.1:") diff --git a/var/spack/repos/builtin/packages/py-flit-core/package.py b/var/spack/repos/builtin/packages/py-flit-core/package.py index 162fdff298fefb..1046c7cc807019 100644 --- a/var/spack/repos/builtin/packages/py-flit-core/package.py +++ b/var/spack/repos/builtin/packages/py-flit-core/package.py @@ -14,6 +14,7 @@ class PyFlitCore(PythonPackage): # Tests import of a non-existing package skip_modules = ["flit_core.tests"] + tags = ["build-tools"] maintainers("takluyver") diff --git a/var/spack/repos/builtin/packages/py-fsspec/package.py b/var/spack/repos/builtin/packages/py-fsspec/package.py index ce4af47d63cf95..0b46a7c951c71b 100644 --- a/var/spack/repos/builtin/packages/py-fsspec/package.py +++ b/var/spack/repos/builtin/packages/py-fsspec/package.py @@ -17,6 +17,7 @@ class PyFsspec(PythonPackage): # Requires pytest skip_modules = ["fsspec.tests"] + version("2024.2.0", sha256="b6ad1a679f760dda52b1168c859d01b7b80648ea6f7f7c7f5a8a91dc3f3ecb84") version("2023.10.0", sha256="330c66757591df346ad3091a53bd907e15348c2ba17d63fd54f5c39c4457d2a5") version("2023.1.0", sha256="fbae7f20ff801eb5f7d0bedf81f25c787c0dfac5e982d98fa3884a9cde2b5411") version("2022.11.0", sha256="259d5fd5c8e756ff2ea72f42e7613c32667dc2049a4ac3d84364a7ca034acb8b") @@ -30,5 +31,5 @@ class PyFsspec(PythonPackage): variant("http", default=False, description="HTTPFileSystem support", when="@0.8.1:") depends_on("py-setuptools", type="build") - depends_on("py-requests", type=("build", "run"), when="+http") + depends_on("py-requests", type=("build", "run"), when="@:2023+http") depends_on("py-aiohttp", type=("build", "run"), when="+http") diff --git a/var/spack/repos/builtin/packages/py-gcsfs/package.py b/var/spack/repos/builtin/packages/py-gcsfs/package.py index fbd53aef29c5ac..873753d629cb99 100644 --- a/var/spack/repos/builtin/packages/py-gcsfs/package.py +++ b/var/spack/repos/builtin/packages/py-gcsfs/package.py @@ -14,12 +14,14 @@ class PyGcsfs(PythonPackage): license("BSD-3-Clause") + version("2024.2.0", sha256="f7cffd7cae2fb50c56ef883f8aef9792be045b5059f06c1902c3a6151509f506") version("2023.1.0", sha256="0a7b7ca8c1affa126a14ba35d7b7dff81c49e2aaceedda9732c7f159a4837a26") depends_on("py-setuptools", type="build") depends_on("py-aiohttp", type=("build", "run")) depends_on("py-decorator@4.1.3:", type=("build", "run")) - depends_on("py-fsspec@2023.1.0", type=("build", "run")) + depends_on("py-fsspec@2024.2.0", type=("build", "run"), when="@2024.2.0") + depends_on("py-fsspec@2023.1.0", type=("build", "run"), when="@2023.1.0") depends_on("py-google-auth@1.2:", type=("build", "run")) depends_on("py-google-auth-oauthlib", type=("build", "run")) depends_on("py-google-cloud-storage", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-graphcast/package.py b/var/spack/repos/builtin/packages/py-graphcast/package.py new file mode 100644 index 00000000000000..11f9d3746fd9c3 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-graphcast/package.py @@ -0,0 +1,36 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyGraphcast(PythonPackage): + """GraphCast: Learning skillful medium-range global weather forecasting.""" + + homepage = "https://github.com/google-deepmind/graphcast" + url = "https://github.com/google-deepmind/graphcast/archive/refs/tags/v0.1.tar.gz" + + license("Apache-2.0") + + version("0.1", sha256="a51a59b9ee42586ec2883257ae42a23b5653f643a47c608096f497524a17af48") + + depends_on("py-setuptools", type="build") + with default_args(type=("build", "run")): + depends_on("py-cartopy") + depends_on("py-chex") + depends_on("py-colabtools") + depends_on("py-dask") + depends_on("py-dm-haiku") + depends_on("py-jax") + depends_on("py-jraph") + depends_on("py-matplotlib") + depends_on("py-numpy") + depends_on("py-pandas") + depends_on("py-rtree") + depends_on("py-scipy") + depends_on("py-tree") + depends_on("py-trimesh") + depends_on("py-typing-extensions") + depends_on("py-xarray") diff --git a/var/spack/repos/builtin/packages/py-h5netcdf/package.py b/var/spack/repos/builtin/packages/py-h5netcdf/package.py index 3c2a2193cd5d9f..0e306a51022435 100644 --- a/var/spack/repos/builtin/packages/py-h5netcdf/package.py +++ b/var/spack/repos/builtin/packages/py-h5netcdf/package.py @@ -16,8 +16,12 @@ class PyH5netcdf(PythonPackage): license("BSD-3-Clause") + version("1.3.0", sha256="a171c027daeb34b24c24a3b6304195b8eabbb6f10c748256ed3cfe19806383cf") version("0.10.0", sha256="fc1cfec33bb9f730c412f87fcbc259167fd7620635679ccfc6e31971730dbd60") - depends_on("python@3.6:", type=("build", "run")) + depends_on("python@3.9:", when="@1.3:", type=("build", "run")) + depends_on("py-setuptools@42:", when="@1.3:", type="build") depends_on("py-setuptools", type="build") + depends_on("py-setuptools-scm@7:+toml", when="@1.3:", type="build") depends_on("py-h5py", type=("build", "run")) + depends_on("py-packaging", when="@1.3:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-importlib-metadata/package.py b/var/spack/repos/builtin/packages/py-importlib-metadata/package.py index d4ce2ae07dcd82..1e04856e17fd20 100644 --- a/var/spack/repos/builtin/packages/py-importlib-metadata/package.py +++ b/var/spack/repos/builtin/packages/py-importlib-metadata/package.py @@ -15,6 +15,7 @@ class PyImportlibMetadata(PythonPackage): license("Apache-2.0") + version("7.0.1", sha256="f238736bb06590ae52ac1fab06a3a9ef1d8dce2b7a35b5ab329371d6c8f5d2cc") version("6.6.0", sha256="92501cdf9cc66ebd3e612f1b4f0c0765dfa42f0fa38ffb319b6bd84dd675d705") version("5.1.0", sha256="d5059f9f1e8e41f80e9c56c2ee58811450c31984dfa625329ffd7c0dad88a73b") version("4.12.0", sha256="637245b8bab2b6502fcbc752cc4b7a6f6243bb02b31c5c26156ad103d3d45670") diff --git a/var/spack/repos/builtin/packages/py-jax/package.py b/var/spack/repos/builtin/packages/py-jax/package.py index 5c1f8b707916f4..1edf08895b8cee 100644 --- a/var/spack/repos/builtin/packages/py-jax/package.py +++ b/var/spack/repos/builtin/packages/py-jax/package.py @@ -23,7 +23,9 @@ class PyJax(PythonPackage): license("Apache-2.0") + version("0.4.25", sha256="a8ee189c782de2b7b2ffb64a8916da380b882a617e2769aa429b71d79747b982") version("0.4.23", sha256="2a229a5a758d1b803891b2eaed329723f6b15b4258b14dc0ccb1498c84963685") + version("0.4.16", sha256="e2ca82c9bf973c2c1c01f5340a583692b31f277aa3abd0544229c1fe5fa44b02") version("0.4.3", sha256="d43f08f940aa30eb339965cfb3d6bee2296537b0dc2f0c65ccae3009279529ae") version( "0.3.23", @@ -53,7 +55,13 @@ class PyJax(PythonPackage): depends_on("py-scipy@1.2.1:", type=("build", "run")) depends_on("py-importlib-metadata@4.6:", when="@0.4.11: ^python@:3.9", type=("build", "run")) + # See jax/_src/lib/__init__.py + # https://github.com/google/jax/commit/8be057de1f50756fe7522f7e98b2f30fad56f7e4 + for v in ["0.4.25", "0.4.23", "0.4.16", "0.4.3", "0.3.23"]: + depends_on(f"py-jaxlib@:{v}", when=f"@{v}", type=("build", "run")) + # See _minimum_jaxlib_version in jax/version.py + depends_on("py-jaxlib@0.4.20:", when="@0.4.25:", type=("build", "run")) depends_on("py-jaxlib@0.4.19:", when="@0.4.21:", type=("build", "run")) depends_on("py-jaxlib@0.4.14:", when="@0.4.15:", type=("build", "run")) depends_on("py-jaxlib@0.4.11:", when="@0.4.12:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-jaxlib/package.py b/var/spack/repos/builtin/packages/py-jaxlib/package.py index 4030a1f0ae028c..dedc39489bad18 100644 --- a/var/spack/repos/builtin/packages/py-jaxlib/package.py +++ b/var/spack/repos/builtin/packages/py-jaxlib/package.py @@ -21,6 +21,7 @@ class PyJaxlib(PythonPackage, CudaPackage): version("0.4.25", sha256="fc1197c401924942eb14185a61688d0c476e3e81ff71f9dc95e620b57c06eec8") version("0.4.24", sha256="c4e6963c2c36f634a9a1765e476a1ed4e6c4a7954465ebf72e29f344c28ddc28") + version("0.4.16", sha256="85c8bc050abe0a2cf62e8cfc7edb4904dd3807924b5714ec6277f291c576b5ca") version("0.4.3", sha256="2104735dc22be2b105e5517bd5bc6ae97f40e8e9e54928cac1585c6112a3d910") version( "0.3.22", @@ -81,7 +82,7 @@ class PyJaxlib(PythonPackage, CudaPackage): ) # https://github.com/google/jax/issues/19992 - conflicts("@0.4.24:", when="target=ppc64le:") + conflicts("@0.4.16:", when="target=ppc64le:") def patch(self): self.tmp_path = tempfile.mkdtemp(prefix="spack") diff --git a/var/spack/repos/builtin/packages/py-jraph/package.py b/var/spack/repos/builtin/packages/py-jraph/package.py new file mode 100644 index 00000000000000..e72cc9a505f574 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-jraph/package.py @@ -0,0 +1,24 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyJraph(PythonPackage): + """Jraph: A library for Graph Neural Networks in Jax.""" + + homepage = "https://github.com/deepmind/jraph" + pypi = "jraph/jraph-0.0.6.dev0.tar.gz" + + license("Apache-2.0") + + version( + "0.0.6.dev0", sha256="c3ac3a0b224b344eb6d367e8bc312d95ea41bf825d01ea31b80dd8c22c0dd8b8" + ) + + depends_on("py-setuptools", type="build") + depends_on("py-jax@0.1.55:", type=("build", "run")) + depends_on("py-jaxlib@0.1.37:", type=("build", "run")) + depends_on("py-numpy@1.18:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-multiurl/package.py b/var/spack/repos/builtin/packages/py-multiurl/package.py new file mode 100644 index 00000000000000..736e4188f69071 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-multiurl/package.py @@ -0,0 +1,25 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyMultiurl(PythonPackage): + """A package to download several URL as one, as well as supporting multi-part URLs.""" + + homepage = "https://github.com/ecmwf/multiurl" + pypi = "multiurl/multiurl-0.2.3.2.tar.gz" + + license("Apache-2.0") + + version("0.2.3.2", sha256="b625892ef3a5b8d4bd323f1dcd4750b6ea7e4e2e2e4574b6e88cdf92e10579e9") + + depends_on("py-setuptools", type="build") + + with default_args(type=("build", "run")): + depends_on("py-requests") + depends_on("py-tqdm") + depends_on("py-pytz") + depends_on("py-python-dateutil") diff --git a/var/spack/repos/builtin/packages/py-netcdf4/package.py b/var/spack/repos/builtin/packages/py-netcdf4/package.py index a51c62546a1540..84a28e0f33ca65 100644 --- a/var/spack/repos/builtin/packages/py-netcdf4/package.py +++ b/var/spack/repos/builtin/packages/py-netcdf4/package.py @@ -16,6 +16,7 @@ class PyNetcdf4(PythonPackage): license("MIT") + version("1.6.5", sha256="824881d0aacfde5bd982d6adedd8574259c85553781e7b83e0ce82b890bfa0ef") version("1.6.2", sha256="0382b02ff6a288419f6ffec85dec40f451f41b8755547154c575ddd9f0f4ae53") version("1.5.8", sha256="ca3d468f4812c0999df86e3f428851fb0c17ac34ce0827115c246b0b690e4e84") version("1.5.3", sha256="2a3ca855848f4bbf07fac366da77a681fcead18c0a8813d91d46302f562dc3be") @@ -23,22 +24,20 @@ class PyNetcdf4(PythonPackage): variant("mpi", default=True, description="Parallel IO support") - depends_on("python@2.6:2.7,3.3:", when="@1.2.8:1.5.1", type=("build", "link", "run")) - depends_on("python@2.7,3.5:", when="@1.5.2:1.5.3", type=("build", "link", "run")) - depends_on("python@3.6:", when="@1.5.4:", type=("build", "link", "run")) - - depends_on("py-setuptools@18:", when="@1.4.2:1.5.8", type="build") - depends_on("py-setuptools@41.2:", when="@1.6.2:", type="build") + depends_on("python", type=("build", "link", "run")) + depends_on("py-cython@0.29:", when="@1.6.5:", type="build") depends_on("py-cython@0.19:", type="build") - - depends_on("py-numpy@1.7:", type=("build", "link", "run")) - depends_on("py-numpy@1.9:", when="@1.5.4:", type=("build", "link", "run")) + depends_on("py-setuptools@61:", when="@1.6.5:", type="build") + depends_on("py-setuptools@41.2:", when="@1.6.2:", type="build") + depends_on("py-setuptools@18:", when="@1.4.2:1.5.8", type="build") depends_on("py-cftime", type=("build", "run")) + depends_on("py-certifi", when="@1.6.5:", type=("build", "run")) + depends_on("py-numpy", when="@1.6.5:", type=("build", "link", "run")) + depends_on("py-numpy@1.9:", when="@1.5.4:1.6.2", type=("build", "link", "run")) + depends_on("py-numpy@1.7:", type=("build", "link", "run")) depends_on("py-mpi4py", when="+mpi", type=("build", "run")) - depends_on("netcdf-c", when="-mpi") depends_on("netcdf-c+mpi", when="+mpi") - depends_on("hdf5@1.8.0:+hl", when="-mpi") depends_on("hdf5@1.8.0:+hl+mpi", when="+mpi") diff --git a/var/spack/repos/builtin/packages/py-nvidia-dali/package.py b/var/spack/repos/builtin/packages/py-nvidia-dali/package.py index b67fe5c01ec1db..fb844e65723116 100644 --- a/var/spack/repos/builtin/packages/py-nvidia-dali/package.py +++ b/var/spack/repos/builtin/packages/py-nvidia-dali/package.py @@ -16,6 +16,8 @@ class PyNvidiaDali(PythonPackage): homepage = "https://developer.nvidia.com/dali" url = "https://developer.download.nvidia.com/compute/redist/" + skip_version_audit = ["platform=darwin"] + maintainers("thomas-bouvier") system = platform.system().lower() diff --git a/var/spack/repos/builtin/packages/py-nvidia-modulus/package.py b/var/spack/repos/builtin/packages/py-nvidia-modulus/package.py new file mode 100644 index 00000000000000..c0a998fbc900d9 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-nvidia-modulus/package.py @@ -0,0 +1,38 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyNvidiaModulus(PythonPackage): + """A deep learning framework for AI-driven multi-physics systems.""" + + homepage = "https://github.com/NVIDIA/modulus" + url = "https://github.com/NVIDIA/modulus/archive/refs/tags/v0.5.0.tar.gz" + + license("Apache-2.0") + + version("0.5.0", sha256="ff2c7d47227b8cba59b075cac89599f8c1ec7cde60fd2db6e6874d0143828832") + + with default_args(type="build"): + depends_on("py-setuptools") + depends_on("py-setuptools-scm") + + with default_args(type=("build", "run")): + depends_on("py-torch@2.0.0:") + # Remove upper bound on numpy version + # https://github.com/NVIDIA/modulus/issues/383 + depends_on("py-numpy@1.22.4:") + depends_on("py-xarray@2023.1.0:") + depends_on("py-zarr@2.14.2:") + depends_on("py-fsspec@2023.1.0:") + depends_on("py-s3fs@2023.5.0:") + depends_on("py-nvidia-dali@1.16.0:") + depends_on("py-setuptools@67.6.0:") + depends_on("py-certifi@2023.7.22:") + depends_on("py-pytz@2023.3:") + depends_on("py-treelib@1.2.5:") + depends_on("py-tqdm@4.60.0:") + depends_on("py-nvtx@0.2.8:") diff --git a/var/spack/repos/builtin/packages/py-nvtx/package.py b/var/spack/repos/builtin/packages/py-nvtx/package.py new file mode 100644 index 00000000000000..b4d653d3456b4c --- /dev/null +++ b/var/spack/repos/builtin/packages/py-nvtx/package.py @@ -0,0 +1,21 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyNvtx(PythonPackage): + """PyNVTX - Python code annotation library.""" + + homepage = "https://github.com/NVIDIA/nvtx" + pypi = "nvtx/nvtx-0.2.10.tar.gz" + + license("Apache-2.0") + + version("0.2.10", sha256="58b89cd69079fda1ceef8441eec5c5c189d6a1ff94c090a3afe03aedd0bbd140") + + depends_on("py-setuptools", type="build") + depends_on("py-cython", type="build") + depends_on("nvtx") diff --git a/var/spack/repos/builtin/packages/py-onnx/package.py b/var/spack/repos/builtin/packages/py-onnx/package.py index 3b0044e57c1f06..323b6a6b6aa9b5 100644 --- a/var/spack/repos/builtin/packages/py-onnx/package.py +++ b/var/spack/repos/builtin/packages/py-onnx/package.py @@ -21,6 +21,7 @@ class PyOnnx(PythonPackage): license("Apache-2.0") + version("1.15.0", sha256="b18461a7d38f286618ca2a6e78062a2a9c634ce498e631e708a8041b00094825") version("1.13.1", sha256="0bdcc25c2c1ce4a8750e4ffbd93ae945442e7fac6e51176f38e366b74a97dfd9") version("1.13.0", sha256="410b39950367857f97b65093681fe2495a2e23d63777a8aceaf96c56a16d166e") version("1.12.0", sha256="13b3e77d27523b9dbf4f30dfc9c959455859d5e34e921c44f712d69b8369eff9") @@ -30,30 +31,31 @@ class PyOnnx(PythonPackage): version("1.6.0", sha256="3b88c3fe521151651a0403c4d131cb2e0311bd28b753ef692020a432a81ce345") version("1.5.0", sha256="1a584a4ef62a6db178c257fffb06a9d8e61b41c0a80bfd8bcd8a253d72c4b0b4") + # CMakeLists.txt + depends_on("cmake@3.1:", type="build") + + # requirements.txt + depends_on("py-setuptools@61:", type="build") depends_on("py-setuptools", type="build") - depends_on("protobuf") - depends_on("py-protobuf+cpp", type=("build", "run")) + depends_on("py-protobuf@3.20.2:", type=("build", "run"), when="@1.15:") + depends_on("py-protobuf@3.20.2:3", type=("build", "run"), when="@1.13") + depends_on("py-protobuf@3.12.2:3.20.1", type=("build", "run"), when="@1.12") + depends_on("py-protobuf@3.12.2:", type=("build", "run"), when="@1.11") + # https://github.com/protocolbuffers/protobuf/issues/10051 + # https://github.com/onnx/onnx/issues/4222 + depends_on("py-protobuf@:3", type=("build", "run"), when="@1.10") # Protobuf version limit is due to removal of SetTotalBytesLimit in # https://github.com/protocolbuffers/protobuf/pull/8794, fixed in # https://github.com/onnx/onnx/pull/3112 - depends_on("protobuf@:3.17", when="@:1.8") - depends_on("py-protobuf@:3.17", when="@:1.8", type=("build", "run")) - # https://github.com/protocolbuffers/protobuf/issues/10051 - # https://github.com/onnx/onnx/issues/4222 - depends_on("protobuf@:3", when="@1.10.1") - depends_on("py-protobuf@:3", type=("build", "run"), when="@1.10.1") - depends_on("protobuf@3.12.2:", when="@1.11.0") - depends_on("py-protobuf@3.12.2:", type=("build", "run"), when="@1.11.0") - depends_on("protobuf@3.12.2:3.20.1", when="@1.12.0") - depends_on("py-protobuf@3.12.2:3.20.1", type=("build", "run"), when="@1.12.0") - depends_on("protobuf@3.20.2:3", when="@1.13.0:") - depends_on("py-protobuf@3.20.2:3", type=("build", "run"), when="@1.13.0:") + depends_on("py-protobuf@:3.17", type=("build", "run"), when="@:1.8") + depends_on("py-protobuf+cpp", type=("build", "run")) depends_on("py-numpy", type=("build", "run")) - depends_on("py-numpy@1.16.6:", type=("build", "run"), when="@1.8.1:") + depends_on("py-numpy@1.16.6:", type=("build", "run"), when="@1.8.1:1.13") + + # Historical dependencies depends_on("py-six", type=("build", "run"), when="@:1.8.1") - depends_on("py-typing-extensions@3.6.2.1:", type=("build", "run")) - depends_on("cmake@3.1:", type="build") - depends_on("py-pytest-runner", type="build") + depends_on("py-typing-extensions@3.6.2.1:", type=("build", "run"), when="@:1.13") + depends_on("py-pytest-runner", type="build", when="@:1.13") # 'python_out' does not recognize dllexport_decl. patch("remove_dllexport_decl.patch", when="@:1.6.0") diff --git a/var/spack/repos/builtin/packages/py-onnxruntime/package.py b/var/spack/repos/builtin/packages/py-onnxruntime/package.py index b3fb62d0db05a9..e4ba9d13d80de3 100644 --- a/var/spack/repos/builtin/packages/py-onnxruntime/package.py +++ b/var/spack/repos/builtin/packages/py-onnxruntime/package.py @@ -18,42 +18,50 @@ class PyOnnxruntime(CMakePackage, PythonExtension): homepage = "https://github.com/microsoft/onnxruntime" git = "https://github.com/microsoft/onnxruntime.git" + submodules = True license("MIT") - version( - "1.10.0", tag="v1.10.0", commit="0d9030e79888d1d5828730b254fedc53c7b640c1", submodules=True - ) - version( - "1.7.2", tag="v1.7.2", commit="5bc92dff16b0ddd5063b717fb8522ca2ad023cb0", submodules=True - ) + version("1.17.1", tag="v1.17.1", commit="8f5c79cb63f09ef1302e85081093a3fe4da1bc7d") + version("1.10.0", tag="v1.10.0", commit="0d9030e79888d1d5828730b254fedc53c7b640c1") + version("1.7.2", tag="v1.7.2", commit="5bc92dff16b0ddd5063b717fb8522ca2ad023cb0") variant("cuda", default=False, description="Build with CUDA support") + # cmake/CMakeLists.txt + depends_on("cmake@3.26:", when="@1.17:", type="build") depends_on("cmake@3.1:", type="build") + # Needs absl/strings/has_absl_stringify.h + # cxxstd=20 may also work, but cxxstd=14 does not + depends_on("abseil-cpp@20240116.0: cxxstd=17", when="@1.17:") + + extends("python") depends_on("python", type=("build", "run")) depends_on("py-pip", type="build") - depends_on("protobuf") - # https://github.com/microsoft/onnxruntime/pull/11639 - depends_on("protobuf@:3.19", when="@:1.11") - depends_on("py-protobuf", type=("build", "run")) + depends_on("py-wheel", type="build") depends_on("py-setuptools", type="build") + depends_on("py-pybind11", type="build") + + # requirements.txt + depends_on("py-coloredlogs", when="@1.17:", type=("build", "run")) + depends_on("py-flatbuffers", type=("build", "run")) depends_on("py-numpy@1.16.6:", type=("build", "run")) - depends_on("py-sympy@1.1:", type=("build", "run")) depends_on("py-packaging", type=("build", "run")) + depends_on("py-protobuf", type=("build", "run")) + depends_on("py-sympy@1.1:", type=("build", "run")) + + depends_on("protobuf") + # https://github.com/microsoft/onnxruntime/pull/11639 + depends_on("protobuf@:3.19", when="@:1.11") depends_on("py-cerberus", type=("build", "run")) - depends_on("py-wheel", type="build") depends_on("py-onnx", type=("build", "run")) - depends_on("py-flatbuffers", type=("build", "run")) depends_on("zlib-api") depends_on("libpng") - depends_on("py-pybind11", type="build") depends_on("cuda", when="+cuda") depends_on("cudnn", when="+cuda") depends_on("iconv", type=("build", "link", "run")) depends_on("re2+shared") - extends("python") # Adopted from CMS experiment's fork of onnxruntime # https://github.com/cms-externals/onnxruntime/compare/5bc92df...d594f80 patch("cms.patch", level=1, when="@1.7.2") @@ -105,33 +113,22 @@ def cmake_args(self): define("onnxruntime_BUILD_SHARED_LIB", True), define_from_variant("onnxruntime_USE_CUDA", "cuda"), define("onnxruntime_BUILD_CSHARP", False), - define("onnxruntime_USE_EIGEN_FOR_BLAS", True), - define("onnxruntime_USE_OPENBLAS", False), - define("onnxruntime_USE_MKLML", False), - define("onnxruntime_USE_NGRAPH", False), - define("onnxruntime_USE_OPENMP", False), define("onnxruntime_USE_TVM", False), - define("onnxruntime_USE_LLVM", False), define("onnxruntime_ENABLE_MICROSOFT_INTERNAL", False), - define("onnxruntime_USE_BRAINSLICE", False), - define("onnxruntime_USE_NUPHAR", False), define("onnxruntime_USE_TENSORRT", False), define("onnxruntime_CROSS_COMPILING", False), define("onnxruntime_USE_FULL_PROTOBUF", True), define("onnxruntime_DISABLE_CONTRIB_OPS", False), - define("onnxruntime_USE_PREINSTALLED_PROTOBUF", True), - define("onnxruntime_PREFER_SYSTEM_LIB", True), ] if self.spec.satisfies("+cuda"): args.extend( ( - define("onnxruntime_CUDA_VERSION", str(self.spec["cuda"].version)), define("onnxruntime_CUDA_HOME", self.spec["cuda"].prefix), define("onnxruntime_CUDNN_HOME", self.spec["cudnn"].prefix), define("CMAKE_CUDA_FLAGS", "-cudart shared"), define("CMAKE_CUDA_RUNTIME_LIBRARY", "Shared"), - define("DCMAKE_TRY_COMPILE_PLATFORM_VARIABLES", "CMAKE_CUDA_RUNTIME_LIBRARY"), + define("CMAKE_TRY_COMPILE_PLATFORM_VARIABLES", "CMAKE_CUDA_RUNTIME_LIBRARY"), ) ) diff --git a/var/spack/repos/builtin/packages/py-orbax-checkpoint/package.py b/var/spack/repos/builtin/packages/py-orbax-checkpoint/package.py new file mode 100644 index 00000000000000..a74a1198f017f1 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-orbax-checkpoint/package.py @@ -0,0 +1,37 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyOrbaxCheckpoint(PythonPackage): + """Orbax includes a checkpointing library oriented towards JAX users, supporting a variety + of different features required by different frameworks, including asynchronous checkpointing + various types, and various storage formats. We aim to provide a highly customizable and + composable API which maximizes flexibility for diverse use cases. + """ + + homepage = "http://github.com/google/orbax" + pypi = "orbax_checkpoint/orbax_checkpoint-0.5.3.tar.gz" + + license("Apache-2.0") + + version("0.5.3", sha256="1572904cbbfe8513927e0d80f80b730e0ef2f680332d3c2810d8443532938b45") + + depends_on("py-flit-core@3.5:3", type="build") + + with default_args(type=("build", "run")): + depends_on("python@3.9:") + depends_on("py-absl-py") + depends_on("py-etils+epath+epy") + depends_on("py-typing-extensions") + depends_on("py-msgpack") + depends_on("py-jax@0.4.9:") + depends_on("py-jaxlib") + depends_on("py-numpy") + depends_on("py-pyyaml") + depends_on("py-tensorstore@0.1.51:") + depends_on("py-nest-asyncio") + depends_on("py-protobuf") diff --git a/var/spack/repos/builtin/packages/py-properscoring/package.py b/var/spack/repos/builtin/packages/py-properscoring/package.py new file mode 100644 index 00000000000000..9f7e05b0af15c4 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-properscoring/package.py @@ -0,0 +1,21 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyProperscoring(PythonPackage): + """Proper scoring rules in Python.""" + + homepage = "https://github.com/properscoring/properscoring" + pypi = "properscoring/properscoring-0.1.tar.gz" + + license("Apache-2.0") + + version("0.1", sha256="b0cc4963cc218b728d6c5f77b3259c8f835ae00e32e82678cdf6936049b93961") + + depends_on("py-setuptools", type="build") + depends_on("py-numpy", type=("build", "run")) + depends_on("py-scipy", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pytest-asyncio/package.py b/var/spack/repos/builtin/packages/py-pytest-asyncio/package.py index 2275fdf11ff736..19857525d8a46f 100644 --- a/var/spack/repos/builtin/packages/py-pytest-asyncio/package.py +++ b/var/spack/repos/builtin/packages/py-pytest-asyncio/package.py @@ -15,6 +15,7 @@ class PyPytestAsyncio(PythonPackage): license("Apache-2.0") + version("0.23.5", sha256="3a048872a9c4ba14c3e90cc1aa20cbc2def7d01c7c8db3777ec281ba9c057675") version("0.18.3", sha256="7659bdb0a9eb9c6e3ef992eef11a2b3e69697800ad02fb06374a210d85b29f91") version("0.9.0", sha256="fbd92c067c16111174a1286bfb253660f1e564e5146b39eeed1133315cf2c2cf") @@ -24,6 +25,6 @@ class PyPytestAsyncio(PythonPackage): depends_on("py-setuptools", type="build", when="@0.9.0:") depends_on("py-wheel@0.36:", type="build", when="@0.18.3:") depends_on("py-setuptools-scm@6.2:+toml", type="build", when="@0.18.3:") - depends_on("py-pytest@6.1.0:", type=("build", "run"), when="@0.18.3:") - depends_on("py-pytest@3.0.6:", type=("build", "run"), when="@0.9.0:") - depends_on("py-typing-extensions@3.7.2:", type=("build", "run"), when="@0.18.3:^python@:3.7") + depends_on("py-pytest@7:8", type=("build", "run"), when="@0.23:") + depends_on("py-pytest@6.1.0:", type=("build", "run"), when="@0.18.3") + depends_on("py-pytest@3.0.6:", type=("build", "run"), when="@0.9.0") diff --git a/var/spack/repos/builtin/packages/py-pytest-regtest/package.py b/var/spack/repos/builtin/packages/py-pytest-regtest/package.py new file mode 100644 index 00000000000000..c70e415d2d80e9 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pytest-regtest/package.py @@ -0,0 +1,20 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyPytestRegtest(PythonPackage): + """pytest plugin for snapshot regression testing.""" + + homepage = "https://gitlab.com/uweschmitt/pytest-regtest" + pypi = "pytest_regtest/pytest_regtest-2.1.1.tar.gz" + + license("MIT") + + version("2.1.1", sha256="bd08a6161832378b59ecd4f5815fbe26af7cd091db4a1e710e30476d5f3b8832") + + depends_on("py-hatchling", type="build") + depends_on("py-pytest@7.3:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-pytest-timeout/package.py b/var/spack/repos/builtin/packages/py-pytest-timeout/package.py index 65810daefb36a8..72479d95096fc7 100644 --- a/var/spack/repos/builtin/packages/py-pytest-timeout/package.py +++ b/var/spack/repos/builtin/packages/py-pytest-timeout/package.py @@ -16,8 +16,9 @@ class PyPytestTimeout(PythonPackage): license("MIT") + version("2.2.0", sha256="3b0b95dabf3cb50bac9ef5ca912fa0cfc286526af17afc806824df20c2f72c90") version("1.4.2", sha256="20b3113cf6e4e80ce2d403b6fb56e9e1b871b510259206d40ff8d609f48bda76") - depends_on("python@2.7:2.8,3.5:", type=("build", "run")) depends_on("py-setuptools", type="build") + depends_on("py-pytest@5:", when="@2:", type=("build", "run")) depends_on("py-pytest@3.6.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-python-dotenv/package.py b/var/spack/repos/builtin/packages/py-python-dotenv/package.py index a9e8d5e8cbbf1d..b3aebc3df9276c 100644 --- a/var/spack/repos/builtin/packages/py-python-dotenv/package.py +++ b/var/spack/repos/builtin/packages/py-python-dotenv/package.py @@ -16,11 +16,10 @@ class PyPythonDotenv(PythonPackage): license("BSD-3-Clause") + version("1.0.1", sha256="e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca") version("0.19.2", sha256="a5de49a31e953b45ff2d2fd434bbc2670e8db5273606c1e737cc6b93eff3655f") variant("cli", default=False, description="Add commandline tools") - depends_on("python@3.5:", type=("build", "run")) depends_on("py-setuptools", type="build") - depends_on("py-click@5:", when="+cli", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-s3fs/package.py b/var/spack/repos/builtin/packages/py-s3fs/package.py index 12a5c3d78476da..371b416f791fe9 100644 --- a/var/spack/repos/builtin/packages/py-s3fs/package.py +++ b/var/spack/repos/builtin/packages/py-s3fs/package.py @@ -15,12 +15,15 @@ class PyS3fs(PythonPackage): license("BSD-3-Clause") + version("2024.2.0", sha256="f8064f522ad088b56b043047c825734847c0269df19f2613c956d4c20de15b62") version("2022.11.0", sha256="10c5ac283a4f5b67ffad6d1f25ff7ee026142750c5c5dc868746cd904f617c33") version("0.5.2", sha256="87e5210415db17b9de18c77bcfc4a301570cc9030ee112b77dc47ab82426bae1") depends_on("py-setuptools", type="build") - depends_on("py-aiobotocore@2.4", when="@2022:", type=("build", "run")) + depends_on("py-aiobotocore@2.5.4:2", when="@2024:", type=("build", "run")) + depends_on("py-aiobotocore@2.4", when="@2022", type=("build", "run")) depends_on("py-aiobotocore@1.0.1:", when="@:0", type=("build", "run")) + depends_on("py-fsspec@2024.2.0", when="@2024.2.0", type=("build", "run")) depends_on("py-fsspec@2022.11.0", when="@2022.11.0", type=("build", "run")) depends_on("py-fsspec@0.8.0:", when="@0", type=("build", "run")) depends_on("py-aiohttp", when="@2022:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-tensorstore/package.py b/var/spack/repos/builtin/packages/py-tensorstore/package.py new file mode 100644 index 00000000000000..61fdd3b919303c --- /dev/null +++ b/var/spack/repos/builtin/packages/py-tensorstore/package.py @@ -0,0 +1,33 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyTensorstore(PythonPackage): + """Read and write large, multi-dimensional arrays.""" + + homepage = "https://github.com/google/tensorstore" + pypi = "tensorstore/tensorstore-0.1.54.tar.gz" + + license("Apache-2.0") + + version("0.1.54", sha256="e1a9dcb0be7c828f752375409537d4b39c658dd6c6a0873fe21a24a556ec0e2a") + + # .bazelversion + depends_on("bazel@6.4.0", type="build") + + with default_args(type="build"): + depends_on("py-setuptools@30.3:") + depends_on("py-setuptools-scm") + + with default_args(type=("build", "run")): + depends_on("python@3.9:") + depends_on("py-numpy@1.16:") + depends_on("py-ml-dtypes@0.3.1:") + + def patch(self): + # Trick bazelisk into using the Spack-installed copy of bazel + symlink(bazel.path, join_path("tools", "bazel")) diff --git a/var/spack/repos/builtin/packages/py-torch-harmonics/package.py b/var/spack/repos/builtin/packages/py-torch-harmonics/package.py new file mode 100644 index 00000000000000..f680459c41a2c1 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-torch-harmonics/package.py @@ -0,0 +1,24 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyTorchHarmonics(PythonPackage): + """A differentiable spherical harmonic transform for PyTorch.""" + + homepage = "https://github.com/NVIDIA/torch-harmonics" + pypi = "torch_harmonics/torch_harmonics-0.6.5.tar.gz" + + maintainers("adamjstewart") + + license("BSD") + + version("0.6.5", sha256="e467d04bc58eb2dc800eb21870025407d38ebcbf8df4de479bd5b4915daf987e") + + depends_on("py-setuptools", type="build") + depends_on("py-torch", type=("build", "run")) + depends_on("py-numpy", type=("build", "run")) + depends_on("py-triton", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-tree/package.py b/var/spack/repos/builtin/packages/py-tree/package.py new file mode 100644 index 00000000000000..a8d03a0e12039f --- /dev/null +++ b/var/spack/repos/builtin/packages/py-tree/package.py @@ -0,0 +1,22 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyTree(PythonPackage): + """A package for creating and drawing trees.""" + + homepage = "https://github.com/PixelwarStudio/PyTree" + pypi = "Tree/Tree-0.2.4.tar.gz" + + license("MIT") + + version("0.2.4", sha256="f84d8ec9bf50dd69f551da78925a23d110864e7706551f590cdade27646f7883") + + depends_on("pil", type=("build", "run")) + depends_on("py-svgwrite", type=("build", "run")) + depends_on("py-setuptools", type=("build", "run")) + depends_on("py-click", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-treelib/package.py b/var/spack/repos/builtin/packages/py-treelib/package.py new file mode 100644 index 00000000000000..0185c21ab18a6d --- /dev/null +++ b/var/spack/repos/builtin/packages/py-treelib/package.py @@ -0,0 +1,20 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyTreelib(PythonPackage): + """A Python implementation of tree structure.""" + + homepage = "https://github.com/caesar0301/treelib" + pypi = "treelib/treelib-1.7.0.tar.gz" + + license("Apache-2.0") + + version("1.7.0", sha256="9bff1af416b9e642a6cd0e0431d15edf26a24b8d0c8ae68afbd3801b5e30fb61") + + depends_on("py-setuptools", type="build") + depends_on("py-six", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-triton/package.py b/var/spack/repos/builtin/packages/py-triton/package.py new file mode 100644 index 00000000000000..4b73388d5fd2e3 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-triton/package.py @@ -0,0 +1,23 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyTriton(PythonPackage): + """A language and compiler for custom Deep Learning operations.""" + + homepage = "https://github.com/openai/triton" + url = "https://github.com/openai/triton/archive/refs/tags/v2.1.0.tar.gz" + + license("MIT") + + version("2.1.0", sha256="4338ca0e80a059aec2671f02bfc9320119b051f378449cf5f56a1273597a3d99") + + depends_on("py-setuptools@40.8:", type="build") + depends_on("cmake@3.18:", type="build") + depends_on("py-filelock", type=("build", "run")) + + build_directory = "python" diff --git a/var/spack/repos/builtin/packages/py-xhistogram/package.py b/var/spack/repos/builtin/packages/py-xhistogram/package.py new file mode 100644 index 00000000000000..f9c932a9049d6a --- /dev/null +++ b/var/spack/repos/builtin/packages/py-xhistogram/package.py @@ -0,0 +1,22 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyXhistogram(PythonPackage): + """Fast, flexible, label-aware histograms for numpy and xarray.""" + + homepage = "https://github.com/xgcm/xhistogram" + pypi = "xhistogram/xhistogram-0.3.2.tar.gz" + + license("MIT") + + version("0.3.2", sha256="56b0751e1469eaed81710f644c8ba5c574b51883baa2feee26a95f2f708f91a1") + + depends_on("py-setuptools", type="build") + depends_on("py-xarray@0.12:", type=("build", "run")) + depends_on("py-dask@2.3:+array", type=("build", "run")) + depends_on("py-numpy@1.17:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-xskillscore/package.py b/var/spack/repos/builtin/packages/py-xskillscore/package.py new file mode 100644 index 00000000000000..3907c1fe9f1040 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-xskillscore/package.py @@ -0,0 +1,35 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyXskillscore(PythonPackage): + """Metrics for verifying forecasts.""" + + homepage = "https://github.com/xarray-contrib/xskillscore" + pypi = "xskillscore/xskillscore-0.0.24.tar.gz" + + license("Apache-2.0") + + version("0.0.24", sha256="ce3306c60626eafea722a1522016e272ca516ce6f2447c75f92c52888939f8c2") + + with default_args(type="build"): + depends_on("py-setuptools-scm") + depends_on("py-setuptools@30.3:") + depends_on("py-setuptools-scm-git-archive") + + with default_args(type=("build", "run")): + depends_on("py-bottleneck") + depends_on("py-cftime") + depends_on("py-dask") + depends_on("py-numba@0.52:") + depends_on("py-numpy") + depends_on("py-properscoring") + depends_on("py-scikit-learn") + depends_on("py-scipy") + depends_on("py-toolz") + depends_on("py-xarray@0.16.1:") + depends_on("py-xhistogram@0.3.0:") diff --git a/var/spack/repos/builtin/packages/py-zarr/package.py b/var/spack/repos/builtin/packages/py-zarr/package.py index 669a5b53c22d50..6d3dbf9b2d47c0 100644 --- a/var/spack/repos/builtin/packages/py-zarr/package.py +++ b/var/spack/repos/builtin/packages/py-zarr/package.py @@ -15,21 +15,26 @@ class PyZarr(PythonPackage): license("MIT") + version("2.17.0", sha256="6390a2b8af31babaab4c963efc45bf1da7f9500c9aafac193f84cf019a7c66b0") version("2.10.2", sha256="5c6ae914ab9215631bb95c09e76b9b9b4fffa70fec0c7bca26b68387d858ebe2") version("2.6.1", sha256="fa7eac1e4ff47ff82d09c42bb4679e18e8a05a73ee81ce59cee6a441a210b2fd") version("2.5.0", sha256="d54f060739208392494c3dbcbfdf41c8df9fa23d9a32b91aea0549b4c5e2b77f") version("2.4.0", sha256="53aa21b989a47ddc5e916eaff6115b824c0864444b1c6f3aaf4f6cf9a51ed608") version("2.3.2", sha256="c62d0158fb287151c978904935a177b3d2d318dea3057cfbeac8541915dfa105") - depends_on("python@3.5:", type=("build", "run"), when="@2.4.0:") - depends_on("python@3.6:", type=("build", "run"), when="@2.6.0:") - depends_on("python@3.7:3", type=("build", "run"), when="@2.10:") - depends_on("py-asciitree", type=("build", "run")) - depends_on("py-fasteners", type=("build", "run")) - depends_on("py-msgpack", type=("build", "run"), when="@:2.3.2") - depends_on("py-setuptools@18.0:", type="build") + depends_on("python@3.9:", type=("build", "run"), when="@2.17:") + depends_on("python@3.7:3", type=("build", "run"), when="@2.10") + depends_on("py-setuptools@64:", type="build", when="@2.17:") depends_on("py-setuptools@38.6.0:", type="build", when="@2.4.0:") + depends_on("py-setuptools@18.0:", type="build") depends_on("py-setuptools-scm@1.5.5:", type="build") - depends_on("py-numcodecs@0.6.2:", type=("build", "run")) - depends_on("py-numcodecs@0.6.4:", type=("build", "run"), when="@2.4.0:") + depends_on("py-asciitree", type=("build", "run")) + depends_on("py-numpy@1.21.1:", type=("build", "run"), when="@2.17:") depends_on("py-numpy@1.7:", type=("build", "run")) + depends_on("py-fasteners", type=("build", "run")) + depends_on("py-numcodecs@0.10:", type=("build", "run"), when="@2.17:") + depends_on("py-numcodecs@0.6.4:", type=("build", "run"), when="@2.4.0:") + depends_on("py-numcodecs@0.6.2:", type=("build", "run")) + + # Historical dependencies + depends_on("py-msgpack", type=("build", "run"), when="@:2.3.2") From 9dcaa56db449ef058254d3fe2284df199004538c Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 11 Mar 2024 20:42:16 +0100 Subject: [PATCH 016/155] py-onnx-opcounter: add new package (#43119) --- .../packages/py-onnx-opcounter/package.py | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-onnx-opcounter/package.py diff --git a/var/spack/repos/builtin/packages/py-onnx-opcounter/package.py b/var/spack/repos/builtin/packages/py-onnx-opcounter/package.py new file mode 100644 index 00000000000000..5c2408346b44ef --- /dev/null +++ b/var/spack/repos/builtin/packages/py-onnx-opcounter/package.py @@ -0,0 +1,24 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyOnnxOpcounter(PythonPackage): + """ONNX flops / params counter.""" + + homepage = "https://github.com/gmalivenko/onnx-opcounter" + pypi = "onnx_opcounter/onnx_opcounter-0.0.3.tar.gz" + + license("Apache-2.0") + + version("0.0.3", sha256="c75e76d066eb777e4855c486beb402b1fef83783a6634237b8ca20eb75cce8c9") + + depends_on("py-setuptools", type="build") + + with default_args(type=("build", "run")): + depends_on("py-numpy") + depends_on("py-onnx") + depends_on("py-onnxruntime") From a9d294c53210c566e3142d82e2c10a00a4c8809c Mon Sep 17 00:00:00 2001 From: Stephen Sachs Date: Mon, 11 Mar 2024 20:45:30 +0100 Subject: [PATCH 017/155] aocl-utils: source sha has changed (#43120) * aocl-utils: source sha has changed * aocl-utils: version 4.1 hash updated --- var/spack/repos/builtin/packages/aocl-utils/package.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/aocl-utils/package.py b/var/spack/repos/builtin/packages/aocl-utils/package.py index cafe60e6849b00..d32477c7814e77 100644 --- a/var/spack/repos/builtin/packages/aocl-utils/package.py +++ b/var/spack/repos/builtin/packages/aocl-utils/package.py @@ -39,10 +39,10 @@ class AoclUtils(CMakePackage): version( "4.2", - sha256="48ce7fae592f5c73a1c3d2c18752f43c939451ed5d3f7a154551f738af440d77", + sha256="1294cdf275de44d3a22fea6fc4cd5bf66260d0a19abb2e488b898aaf632486bd", preferred=True, ) - version("4.1", sha256="a2f271f5eef07da366dae421af3c89286ebb6239047a31a46451758d4a06bc85") + version("4.1", sha256="660746e7770dd195059ec25e124759b126ee9f060f43302d13354560ca76c02c") variant("doc", default=False, description="enable documentation") variant("tests", default=False, description="enable testing") From 24d37df1a25f0f6f61e2f12db661de6b67db75a0 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 11 Mar 2024 20:47:20 +0100 Subject: [PATCH 018/155] py-climax: add new package (#43121) --- .../builtin/packages/py-cf-xarray/package.py | 22 ++++++++++++ .../builtin/packages/py-climax/package.py | 36 +++++++++++++++++++ .../builtin/packages/py-xesmf/package.py | 32 +++++++++++++++++ 3 files changed, 90 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-cf-xarray/package.py create mode 100644 var/spack/repos/builtin/packages/py-climax/package.py create mode 100644 var/spack/repos/builtin/packages/py-xesmf/package.py diff --git a/var/spack/repos/builtin/packages/py-cf-xarray/package.py b/var/spack/repos/builtin/packages/py-cf-xarray/package.py new file mode 100644 index 00000000000000..87da7d11043d71 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-cf-xarray/package.py @@ -0,0 +1,22 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyCfXarray(PythonPackage): + """A convenience wrapper for using CF attributes on xarray objects.""" + + homepage = "https://cf-xarray.readthedocs.io/" + pypi = "cf_xarray/cf_xarray-0.9.0.tar.gz" + + license("Apache-2.0") + + version("0.9.0", sha256="01213bdc5ed4d41eeb5da179d99076f49a905b1995daef2a0c7ec402b148675c") + + depends_on("python@3.9:", type=("build", "run")) + depends_on("py-setuptools@45:", type="build") + depends_on("py-setuptools-scm@6.2:+toml", type="build") + depends_on("py-xarray@2022.03:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-climax/package.py b/var/spack/repos/builtin/packages/py-climax/package.py new file mode 100644 index 00000000000000..7d6d34832735f9 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-climax/package.py @@ -0,0 +1,36 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyClimax(PythonPackage): + """ClimaX: A foundation model for weather and climate.""" + + homepage = "https://github.com/microsoft/ClimaX" + url = "https://github.com/microsoft/ClimaX/archive/refs/tags/v0.3.1.tar.gz" + git = "https://github.com/microsoft/ClimaX.git" + + license("MIT") + + version("main", branch="main") + version("0.3.1", sha256="1a8ab02fd1083de4340e26889ceea75f9dbc6e56433c731ba616cb46767872fc") + + # pyproject.toml + depends_on("py-setuptools", type="build") + + # docker/environment.yml + # (only including deps that are actually imported, ignoring version) + with default_args(type=("build", "run")): + depends_on("py-click") + depends_on("py-numpy") + depends_on("py-pytorch-lightning") + depends_on("py-scipy") + depends_on("py-timm") + depends_on("py-torch") + depends_on("py-torchdata") + depends_on("py-tqdm") + depends_on("py-xarray") + depends_on("py-xesmf") diff --git a/var/spack/repos/builtin/packages/py-xesmf/package.py b/var/spack/repos/builtin/packages/py-xesmf/package.py new file mode 100644 index 00000000000000..2aca604b34532a --- /dev/null +++ b/var/spack/repos/builtin/packages/py-xesmf/package.py @@ -0,0 +1,32 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyXesmf(PythonPackage): + """Universal Regridder for Geospatial Data.""" + + homepage = "https://github.com/pangeo-data/xESMF" + pypi = "xesmf/xesmf-0.8.4.tar.gz" + + license("MIT") + + version("0.8.4", sha256="c5a2c4b3e8dbbc9fccd5772a940f9067d68e824215ef87ba222b06718c4eeb56") + + with default_args(type="build"): + depends_on("py-setuptools@41.2:") + depends_on("py-setuptools-scm") + + with default_args(type=("build", "run")): + depends_on("py-cf-xarray@0.5.1:") + # TODO: add optional dependency + # https://github.com/esmf-org/esmf/tree/develop/src/addon/esmpy + # depends_on("py-esmpy@8:") + depends_on("py-numba@0.55.2:") + depends_on("py-numpy@1.16:") + depends_on("py-shapely") + depends_on("py-sparse@0.8:") + depends_on("py-xarray@0.16.2:") From ce75adada6cd3564d42d37bef19eb35dbf368e2a Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Mon, 11 Mar 2024 20:48:21 +0100 Subject: [PATCH 019/155] Fix callbacks accumulation when using mixins with builders (#43100) fixes #43097 Before this PR the behavior of mixins used together with builders was to mask completely the callbacks defined from the class coming later in the MRO. Here we fix the behavior by accumulating all callbacks, and de-duplicating them later. --- lib/spack/spack/builder.py | 25 +++++++++------ lib/spack/spack/test/builder.py | 17 ++++++++++ lib/spack/spack/test/cmd/list.py | 5 +-- .../packages/builder-and-mixins/package.py | 32 +++++++++++++++++++ 4 files changed, 65 insertions(+), 14 deletions(-) create mode 100644 var/spack/repos/builder.test/packages/builder-and-mixins/package.py diff --git a/lib/spack/spack/builder.py b/lib/spack/spack/builder.py index 4119062ab6bc55..00734d5533796c 100644 --- a/lib/spack/spack/builder.py +++ b/lib/spack/spack/builder.py @@ -9,6 +9,8 @@ import inspect from typing import List, Optional, Tuple +from llnl.util import lang + import spack.build_environment #: Builder classes, as registered by the "builder" decorator @@ -231,24 +233,27 @@ def __new__(mcs, name, bases, attr_dict): for temporary_stage in (_RUN_BEFORE, _RUN_AFTER): staged_callbacks = temporary_stage.callbacks - # We don't have callbacks in this class, move on - if not staged_callbacks: + # Here we have an adapter from an old-style package. This means there is no + # hierarchy of builders, and every callback that had to be combined between + # *Package and *Builder has been combined already by _PackageAdapterMeta + if name == "Adapter": continue - # If we are here we have callbacks. To get a complete list, get first what - # was attached to parent classes, then prepend what we have registered here. + # If we are here we have callbacks. To get a complete list, we accumulate all the + # callbacks from base classes, we deduplicate them, then prepend what we have + # registered here. # # The order should be: # 1. Callbacks are registered in order within the same class # 2. Callbacks defined in derived classes precede those defined in base # classes + callbacks_from_base = [] for base in bases: - callbacks_from_base = getattr(base, temporary_stage.attribute_name, None) - if callbacks_from_base: - break - else: - callbacks_from_base = [] - + current_callbacks = getattr(base, temporary_stage.attribute_name, None) + if not current_callbacks: + continue + callbacks_from_base.extend(current_callbacks) + callbacks_from_base = list(lang.dedupe(callbacks_from_base)) # Set the callbacks in this class and flush the temporary stage attr_dict[temporary_stage.attribute_name] = staged_callbacks[:] + callbacks_from_base del temporary_stage.callbacks[:] diff --git a/lib/spack/spack/test/builder.py b/lib/spack/spack/test/builder.py index 9a99e6ee08cf4e..4bd128c3bfb31b 100644 --- a/lib/spack/spack/test/builder.py +++ b/lib/spack/spack/test/builder.py @@ -164,3 +164,20 @@ def test_install_time_test_callback(tmpdir, config, mock_packages, mock_stage): with open(s.package.tester.test_log_file, "r") as f: results = f.read().replace("\n", " ") assert "PyTestCallback test" in results + + +@pytest.mark.regression("43097") +@pytest.mark.usefixtures("builder_test_repository", "config") +def test_mixins_with_builders(working_env): + """Tests that run_after and run_before callbacks are accumulated correctly, + when mixins are used with builders. + """ + s = spack.spec.Spec("builder-and-mixins").concretized() + builder = spack.builder.create(s.package) + + # Check that callbacks added by the mixin are in the list + assert any(fn.__name__ == "before_install" for _, fn in builder.run_before_callbacks) + assert any(fn.__name__ == "after_install" for _, fn in builder.run_after_callbacks) + + # Check that callback from the GenericBuilder are in the list too + assert any(fn.__name__ == "sanity_check_prefix" for _, fn in builder.run_after_callbacks) diff --git a/lib/spack/spack/test/cmd/list.py b/lib/spack/spack/test/cmd/list.py index a46e690cd27eb9..4a925046738995 100644 --- a/lib/spack/spack/test/cmd/list.py +++ b/lib/spack/spack/test/cmd/list.py @@ -144,12 +144,9 @@ def test_list_repos(): os.path.join(spack.paths.repos_path, "builder.test"), ): total_pkgs = len(list().strip().split()) - mock_pkgs = len(list("-r", "builtin.mock").strip().split()) builder_pkgs = len(list("-r", "builder.test").strip().split()) + both_repos = len(list("-r", "builtin.mock", "-r", "builder.test").strip().split()) - assert builder_pkgs == 8 assert total_pkgs > mock_pkgs > builder_pkgs - - both_repos = len(list("-r", "builtin.mock", "-r", "builder.test").strip().split()) assert both_repos == total_pkgs diff --git a/var/spack/repos/builder.test/packages/builder-and-mixins/package.py b/var/spack/repos/builder.test/packages/builder-and-mixins/package.py new file mode 100644 index 00000000000000..2e12b0e8061230 --- /dev/null +++ b/var/spack/repos/builder.test/packages/builder-and-mixins/package.py @@ -0,0 +1,32 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) +import spack.builder +from spack.build_systems import generic +from spack.package import * + + +class BuilderAndMixins(Package): + """This package defines a mixin for its builder""" + + homepage = "http://www.example.com" + url = "http://www.example.com/a-1.0.tar.gz" + + version("2.0", md5="abcdef0123456789abcdef0123456789") + version("1.0", md5="0123456789abcdef0123456789abcdef") + + +class BuilderMixin(metaclass=spack.builder.PhaseCallbacksMeta): + @run_before("install") + def before_install(self): + pass + + @run_after("install") + def after_install(self): + pass + + +class GenericBuilder(BuilderMixin, generic.GenericBuilder): + def install(self, pkg, spec, prefix): + pass From f5e89df6f20fea0c29c1a98e986054c5af4f6d73 Mon Sep 17 00:00:00 2001 From: Christopher Christofi <77968333+ChristopherChristofi@users.noreply.github.com> Date: Mon, 11 Mar 2024 23:04:35 +0000 Subject: [PATCH 020/155] perl-parsetemplate: add new package (#41845) * perl-parsetemplate: add new package * perl-parsetemplate: update to latest copyright date and add license --- .../packages/perl-parsetemplate/package.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 var/spack/repos/builtin/packages/perl-parsetemplate/package.py diff --git a/var/spack/repos/builtin/packages/perl-parsetemplate/package.py b/var/spack/repos/builtin/packages/perl-parsetemplate/package.py new file mode 100644 index 00000000000000..9084638ec0b29b --- /dev/null +++ b/var/spack/repos/builtin/packages/perl-parsetemplate/package.py @@ -0,0 +1,17 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PerlParsetemplate(PerlPackage): + """Parse::Template - Processor for templates containing Perl expressions.""" + + homepage = "https://metacpan.org/pod/Parse::Template" + url = "https://cpan.metacpan.org/authors/id/P/PS/PSCUST/ParseTemplate-3.08.tar.gz" + + license("Artistic-1.0-Perl OR GPL-1.0-or-later") + + version("3.08", sha256="3c7734f53999de8351a77cb09631d7a4a0482b6f54bca63d69d5a4eec8686d51") From 001af6258529413d87128c3e5681b1fbfd8783f4 Mon Sep 17 00:00:00 2001 From: Christopher Christofi <77968333+ChristopherChristofi@users.noreply.github.com> Date: Mon, 11 Mar 2024 23:09:51 +0000 Subject: [PATCH 021/155] perl-math-symbolic: add required perl-parse-recdescent dependency (#42157) * perl-math-symbolic: add required perl-parse-recdescent dependency * perl-math-symbolic: add new runtime dependency --- var/spack/repos/builtin/packages/perl-math-symbolic/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/perl-math-symbolic/package.py b/var/spack/repos/builtin/packages/perl-math-symbolic/package.py index 886dcce52ad105..8bb76a66c1f745 100644 --- a/var/spack/repos/builtin/packages/perl-math-symbolic/package.py +++ b/var/spack/repos/builtin/packages/perl-math-symbolic/package.py @@ -12,6 +12,9 @@ class PerlMathSymbolic(PerlPackage): homepage = "https://metacpan.org/pod/Math::Symbolic" url = "https://cpan.metacpan.org/authors/id/S/SM/SMUELLER/Math-Symbolic-0.612.tar.gz" + license("GPL-1.0-or-later OR Artistic-1.0-Perl") + version("0.612", sha256="a9af979956c4c28683c535b5e5da3cde198c0cac2a11b3c9a129da218b3b9c08") depends_on("perl-module-build", type="build") + depends_on("perl-parse-recdescent", type="run") From e12a8a69c7b8c5bee2839b51b23c4f8dbc60e950 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Tue, 12 Mar 2024 04:02:03 +0100 Subject: [PATCH 022/155] py-neuralgcm: add new package (#43117) Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> --- .../builtin/packages/py-dinosaur/package.py | 33 +++++++++++++++++++ .../builtin/packages/py-neuralgcm/package.py | 32 ++++++++++++++++++ .../builtin/packages/py-tree-math/package.py | 20 +++++++++++ .../packages/py-xarray-tensorstore/package.py | 27 +++++++++++++++ 4 files changed, 112 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-dinosaur/package.py create mode 100644 var/spack/repos/builtin/packages/py-neuralgcm/package.py create mode 100644 var/spack/repos/builtin/packages/py-tree-math/package.py create mode 100644 var/spack/repos/builtin/packages/py-xarray-tensorstore/package.py diff --git a/var/spack/repos/builtin/packages/py-dinosaur/package.py b/var/spack/repos/builtin/packages/py-dinosaur/package.py new file mode 100644 index 00000000000000..a5e37777b56214 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-dinosaur/package.py @@ -0,0 +1,33 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyDinosaur(PythonPackage): + """Dinosaur: differentiable dynamics for global atmospheric modeling.""" + + homepage = "https://github.com/google-research/dinosaur" + git = "https://github.com/google-research/dinosaur.git" + + license("Apache-2.0") + + version("main", branch="main") + + depends_on("py-setuptools", type="build") + + with default_args(type=("build", "run")): + depends_on("python@3.10:") + depends_on("py-fsspec") + depends_on("py-jax") + depends_on("py-jaxlib") + depends_on("py-numpy") + depends_on("py-pandas") + depends_on("py-pint") + depends_on("py-scipy") + depends_on("py-scikit-learn") + depends_on("py-tree-math") + depends_on("py-xarray") + depends_on("py-xarray-tensorstore") diff --git a/var/spack/repos/builtin/packages/py-neuralgcm/package.py b/var/spack/repos/builtin/packages/py-neuralgcm/package.py new file mode 100644 index 00000000000000..af57eb8ee27e0c --- /dev/null +++ b/var/spack/repos/builtin/packages/py-neuralgcm/package.py @@ -0,0 +1,32 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyNeuralgcm(PythonPackage): + """NeuralGCM: Hybrid ML + Physics model of Earth's atmosphere.""" + + homepage = "https://github.com/google-research/neuralgcm" + git = "https://github.com/google-research/neuralgcm.git" + + license("Apache-2.0") + + version("main", branch="main") + + depends_on("py-setuptools", type="build") + + with default_args(type=("build", "run")): + depends_on("python@3.10:") + depends_on("py-dinosaur") + depends_on("py-dm-haiku") + depends_on("py-gin-config") + depends_on("py-jax") + depends_on("py-jaxlib") + depends_on("py-numpy") + depends_on("py-optax") + depends_on("py-pandas") + depends_on("py-tensorflow-probability") + depends_on("py-xarray") diff --git a/var/spack/repos/builtin/packages/py-tree-math/package.py b/var/spack/repos/builtin/packages/py-tree-math/package.py new file mode 100644 index 00000000000000..4012457d950e0f --- /dev/null +++ b/var/spack/repos/builtin/packages/py-tree-math/package.py @@ -0,0 +1,20 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyTreeMath(PythonPackage): + """Mathematical operations for JAX pytrees.""" + + homepage = "https://github.com/google/tree-math" + pypi = "tree-math/tree-math-0.2.0.tar.gz" + + license("Apache-2.0") + + version("0.2.0", sha256="fced2b436fa265b4e24ab46b5768d7b03a4a8d0b75de8a5ab110abaeac3b5772") + + depends_on("py-setuptools", type="build") + depends_on("py-jax", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-xarray-tensorstore/package.py b/var/spack/repos/builtin/packages/py-xarray-tensorstore/package.py new file mode 100644 index 00000000000000..ea315c8d0e0109 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-xarray-tensorstore/package.py @@ -0,0 +1,27 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyXarrayTensorstore(PythonPackage): + """Xarray-TensorStore is a small library that allows opening Zarr arrays into Xarray + via TensorStore, instead of the standard Zarr-Python library. + """ + + homepage = "https://github.com/google/xarray-tensorstore" + pypi = "xarray-tensorstore/xarray-tensorstore-0.1.1.tar.gz" + + license("Apache-2.0") + + version("0.1.1", sha256="2ee6f164c9f1bc43328245b8d06c21863204fcd4e6159ddd6d8867c313c1d9b4") + + depends_on("py-setuptools", type="build") + + with default_args(type=("build", "run")): + depends_on("py-numpy") + depends_on("py-xarray") + depends_on("py-zarr") + depends_on("py-tensorstore") From 5f5fc78236f8ad84121ac1d9aabf47d509676349 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Tue, 12 Mar 2024 09:31:15 +0100 Subject: [PATCH 023/155] Update archspec to v0.2.3 (#42854) --- lib/spack/external/__init__.py | 2 +- lib/spack/external/archspec/__init__.py | 3 +- lib/spack/external/archspec/__main__.py | 1 + lib/spack/external/archspec/cli.py | 6 +- lib/spack/external/archspec/cpu/__init__.py | 10 +- lib/spack/external/archspec/cpu/detect.py | 372 +++--- .../archspec/cpu/microarchitecture.py | 55 +- lib/spack/external/archspec/cpu/schema.py | 68 +- lib/spack/external/archspec/json/README.md | 10 +- .../external/archspec/json/cpu/cpuid.json | 1050 +++++++++++++++++ .../archspec/json/cpu/cpuid_schema.json | 134 +++ .../external/archspec/vendor/cpuid/LICENSE | 20 + .../external/archspec/vendor/cpuid/README.md | 76 ++ .../external/archspec/vendor/cpuid/cpuid.py | 172 +++ .../external/archspec/vendor/cpuid/example.py | 62 + lib/spack/spack/compilers/msvc.py | 5 + lib/spack/spack/target.py | 5 +- 17 files changed, 1837 insertions(+), 214 deletions(-) create mode 100644 lib/spack/external/archspec/json/cpu/cpuid.json create mode 100644 lib/spack/external/archspec/json/cpu/cpuid_schema.json create mode 100644 lib/spack/external/archspec/vendor/cpuid/LICENSE create mode 100644 lib/spack/external/archspec/vendor/cpuid/README.md create mode 100644 lib/spack/external/archspec/vendor/cpuid/cpuid.py create mode 100644 lib/spack/external/archspec/vendor/cpuid/example.py diff --git a/lib/spack/external/__init__.py b/lib/spack/external/__init__.py index cb88b0c867f6e9..2d96eb3c96bdcf 100644 --- a/lib/spack/external/__init__.py +++ b/lib/spack/external/__init__.py @@ -18,7 +18,7 @@ * Homepage: https://pypi.python.org/pypi/archspec * Usage: Labeling, comparison and detection of microarchitectures -* Version: 0.2.2 (commit 1dc58a5776dd77e6fc6e4ba5626af5b1fb24996e) +* Version: 0.2.3 (commit 7b8fe60b69e2861e7dac104bc1c183decfcd3daf) astunparse ---------------- diff --git a/lib/spack/external/archspec/__init__.py b/lib/spack/external/archspec/__init__.py index 22a430894b4af0..7568bbd0e90936 100644 --- a/lib/spack/external/archspec/__init__.py +++ b/lib/spack/external/archspec/__init__.py @@ -1,2 +1,3 @@ """Init file to avoid namespace packages""" -__version__ = "0.2.2" + +__version__ = "0.2.3" diff --git a/lib/spack/external/archspec/__main__.py b/lib/spack/external/archspec/__main__.py index 2321fb06a6aa20..45fbe12704517a 100644 --- a/lib/spack/external/archspec/__main__.py +++ b/lib/spack/external/archspec/__main__.py @@ -3,6 +3,7 @@ """ import sys + from .cli import main sys.exit(main()) diff --git a/lib/spack/external/archspec/cli.py b/lib/spack/external/archspec/cli.py index 4049f98f7af492..eaddaf5d77bef8 100755 --- a/lib/spack/external/archspec/cli.py +++ b/lib/spack/external/archspec/cli.py @@ -46,7 +46,11 @@ def _make_parser() -> argparse.ArgumentParser: def cpu() -> int: """Run the `archspec cpu` subcommand.""" - print(archspec.cpu.host()) + try: + print(archspec.cpu.host()) + except FileNotFoundError as exc: + print(exc) + return 1 return 0 diff --git a/lib/spack/external/archspec/cpu/__init__.py b/lib/spack/external/archspec/cpu/__init__.py index b3ea025732e1ea..5fa60d28748c07 100644 --- a/lib/spack/external/archspec/cpu/__init__.py +++ b/lib/spack/external/archspec/cpu/__init__.py @@ -5,10 +5,14 @@ """The "cpu" package permits to query and compare different CPU microarchitectures. """ -from .microarchitecture import Microarchitecture, UnsupportedMicroarchitecture -from .microarchitecture import TARGETS, generic_microarchitecture -from .microarchitecture import version_components from .detect import host +from .microarchitecture import ( + TARGETS, + Microarchitecture, + UnsupportedMicroarchitecture, + generic_microarchitecture, + version_components, +) __all__ = [ "Microarchitecture", diff --git a/lib/spack/external/archspec/cpu/detect.py b/lib/spack/external/archspec/cpu/detect.py index 305bf9d9d67435..179b7a947b1983 100644 --- a/lib/spack/external/archspec/cpu/detect.py +++ b/lib/spack/external/archspec/cpu/detect.py @@ -4,15 +4,17 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) """Detection of CPU microarchitectures""" import collections -import functools import os import platform import re +import struct import subprocess import warnings +from typing import Dict, List, Optional, Set, Tuple, Union -from .microarchitecture import generic_microarchitecture, TARGETS -from .schema import TARGETS_JSON +from ..vendor.cpuid.cpuid import CPUID +from .microarchitecture import TARGETS, Microarchitecture, generic_microarchitecture +from .schema import CPUID_JSON, TARGETS_JSON #: Mapping from operating systems to chain of commands #: to obtain a dictionary of raw info on the current cpu @@ -22,43 +24,46 @@ #: functions checking the compatibility of the host with a given target COMPATIBILITY_CHECKS = {} +# Constants for commonly used architectures +X86_64 = "x86_64" +AARCH64 = "aarch64" +PPC64LE = "ppc64le" +PPC64 = "ppc64" +RISCV64 = "riscv64" -def info_dict(operating_system): - """Decorator to mark functions that are meant to return raw info on - the current cpu. + +def detection(operating_system: str): + """Decorator to mark functions that are meant to return partial information on the current cpu. Args: - operating_system (str or tuple): operating system for which the marked - function is a viable factory of raw info dictionaries. + operating_system: operating system where this function can be used. """ def decorator(factory): INFO_FACTORY[operating_system].append(factory) + return factory - @functools.wraps(factory) - def _impl(): - info = factory() - - # Check that info contains a few mandatory fields - msg = 'field "{0}" is missing from raw info dictionary' - assert "vendor_id" in info, msg.format("vendor_id") - assert "flags" in info, msg.format("flags") - assert "model" in info, msg.format("model") - assert "model_name" in info, msg.format("model_name") - - return info + return decorator - return _impl - return decorator +def partial_uarch( + name: str = "", vendor: str = "", features: Optional[Set[str]] = None, generation: int = 0 +) -> Microarchitecture: + """Construct a partial microarchitecture, from information gathered during system scan.""" + return Microarchitecture( + name=name, + parents=[], + vendor=vendor, + features=features or set(), + compilers={}, + generation=generation, + ) -@info_dict(operating_system="Linux") -def proc_cpuinfo(): - """Returns a raw info dictionary by parsing the first entry of - ``/proc/cpuinfo`` - """ - info = {} +@detection(operating_system="Linux") +def proc_cpuinfo() -> Microarchitecture: + """Returns a partial Microarchitecture, obtained from scanning ``/proc/cpuinfo``""" + data = {} with open("/proc/cpuinfo") as file: # pylint: disable=unspecified-encoding for line in file: key, separator, value = line.partition(":") @@ -70,11 +75,96 @@ def proc_cpuinfo(): # # we are on a blank line separating two cpus. Exit early as # we want to read just the first entry in /proc/cpuinfo - if separator != ":" and info: + if separator != ":" and data: break - info[key.strip()] = value.strip() - return info + data[key.strip()] = value.strip() + + architecture = _machine() + if architecture == X86_64: + return partial_uarch( + vendor=data.get("vendor_id", "generic"), features=_feature_set(data, key="flags") + ) + + if architecture == AARCH64: + return partial_uarch( + vendor=_canonicalize_aarch64_vendor(data), + features=_feature_set(data, key="Features"), + ) + + if architecture in (PPC64LE, PPC64): + generation_match = re.search(r"POWER(\d+)", data.get("cpu", "")) + try: + generation = int(generation_match.group(1)) + except AttributeError: + # There might be no match under emulated environments. For instance + # emulating a ppc64le with QEMU and Docker still reports the host + # /proc/cpuinfo and not a Power + generation = 0 + return partial_uarch(generation=generation) + + if architecture == RISCV64: + if data.get("uarch") == "sifive,u74-mc": + data["uarch"] = "u74mc" + return partial_uarch(name=data.get("uarch", RISCV64)) + + return generic_microarchitecture(architecture) + + +class CpuidInfoCollector: + """Collects the information we need on the host CPU from cpuid""" + + # pylint: disable=too-few-public-methods + def __init__(self): + self.cpuid = CPUID() + + registers = self.cpuid.registers_for(**CPUID_JSON["vendor"]["input"]) + self.highest_basic_support = registers.eax + self.vendor = struct.pack("III", registers.ebx, registers.edx, registers.ecx).decode( + "utf-8" + ) + + registers = self.cpuid.registers_for(**CPUID_JSON["highest_extension_support"]["input"]) + self.highest_extension_support = registers.eax + + self.features = self._features() + + def _features(self): + result = set() + + def check_features(data): + registers = self.cpuid.registers_for(**data["input"]) + for feature_check in data["bits"]: + current = getattr(registers, feature_check["register"]) + if self._is_bit_set(current, feature_check["bit"]): + result.add(feature_check["name"]) + + for call_data in CPUID_JSON["flags"]: + if call_data["input"]["eax"] > self.highest_basic_support: + continue + check_features(call_data) + + for call_data in CPUID_JSON["extension-flags"]: + if call_data["input"]["eax"] > self.highest_extension_support: + continue + check_features(call_data) + + return result + + def _is_bit_set(self, register: int, bit: int) -> bool: + mask = 1 << bit + return register & mask > 0 + + +@detection(operating_system="Windows") +def cpuid_info(): + """Returns a partial Microarchitecture, obtained from running the cpuid instruction""" + architecture = _machine() + if architecture == X86_64: + data = CpuidInfoCollector() + return partial_uarch(vendor=data.vendor, features=data.features) + + return generic_microarchitecture(architecture) def _check_output(args, env): @@ -83,14 +173,25 @@ def _check_output(args, env): return str(output.decode("utf-8")) +WINDOWS_MAPPING = { + "AMD64": "x86_64", + "ARM64": "aarch64", +} + + def _machine(): - """ "Return the machine architecture we are on""" + """Return the machine architecture we are on""" operating_system = platform.system() - # If we are not on Darwin, trust what Python tells us - if operating_system != "Darwin": + # If we are not on Darwin or Windows, trust what Python tells us + if operating_system not in ("Darwin", "Windows"): return platform.machine() + # Normalize windows specific names + if operating_system == "Windows": + platform_machine = platform.machine() + return WINDOWS_MAPPING.get(platform_machine, platform_machine) + # On Darwin it might happen that we are on M1, but using an interpreter # built for x86_64. In that case "platform.machine() == 'x86_64'", so we # need to fix that. @@ -103,54 +204,47 @@ def _machine(): if "Apple" in output: # Note that a native Python interpreter on Apple M1 would return # "arm64" instead of "aarch64". Here we normalize to the latter. - return "aarch64" + return AARCH64 - return "x86_64" + return X86_64 -@info_dict(operating_system="Darwin") -def sysctl_info_dict(): +@detection(operating_system="Darwin") +def sysctl_info() -> Microarchitecture: """Returns a raw info dictionary parsing the output of sysctl.""" child_environment = _ensure_bin_usrbin_in_path() - def sysctl(*args): + def sysctl(*args: str) -> str: return _check_output(["sysctl"] + list(args), env=child_environment).strip() - if _machine() == "x86_64": - flags = ( - sysctl("-n", "machdep.cpu.features").lower() - + " " - + sysctl("-n", "machdep.cpu.leaf7_features").lower() + if _machine() == X86_64: + features = ( + f'{sysctl("-n", "machdep.cpu.features").lower()} ' + f'{sysctl("-n", "machdep.cpu.leaf7_features").lower()}' ) - info = { - "vendor_id": sysctl("-n", "machdep.cpu.vendor"), - "flags": flags, - "model": sysctl("-n", "machdep.cpu.model"), - "model name": sysctl("-n", "machdep.cpu.brand_string"), - } - else: - model = "unknown" - model_str = sysctl("-n", "machdep.cpu.brand_string").lower() - if "m2" in model_str: - model = "m2" - elif "m1" in model_str: - model = "m1" - elif "apple" in model_str: - model = "m1" - - info = { - "vendor_id": "Apple", - "flags": [], - "model": model, - "CPU implementer": "Apple", - "model name": sysctl("-n", "machdep.cpu.brand_string"), - } - return info + features = set(features.split()) + + # Flags detected on Darwin turned to their linux counterpart + for darwin_flag, linux_flag in TARGETS_JSON["conversions"]["darwin_flags"].items(): + if darwin_flag in features: + features.update(linux_flag.split()) + + return partial_uarch(vendor=sysctl("-n", "machdep.cpu.vendor"), features=features) + + model = "unknown" + model_str = sysctl("-n", "machdep.cpu.brand_string").lower() + if "m2" in model_str: + model = "m2" + elif "m1" in model_str: + model = "m1" + elif "apple" in model_str: + model = "m1" + + return partial_uarch(name=model, vendor="Apple") def _ensure_bin_usrbin_in_path(): - # Make sure that /sbin and /usr/sbin are in PATH as sysctl is - # usually found there + # Make sure that /sbin and /usr/sbin are in PATH as sysctl is usually found there child_environment = dict(os.environ.items()) search_paths = child_environment.get("PATH", "").split(os.pathsep) for additional_path in ("/sbin", "/usr/sbin"): @@ -160,22 +254,10 @@ def _ensure_bin_usrbin_in_path(): return child_environment -def adjust_raw_flags(info): - """Adjust the flags detected on the system to homogenize - slightly different representations. - """ - # Flags detected on Darwin turned to their linux counterpart - flags = info.get("flags", []) - d2l = TARGETS_JSON["conversions"]["darwin_flags"] - for darwin_flag, linux_flag in d2l.items(): - if darwin_flag in flags: - info["flags"] += " " + linux_flag - - -def adjust_raw_vendor(info): - """Adjust the vendor field to make it human readable""" - if "CPU implementer" not in info: - return +def _canonicalize_aarch64_vendor(data: Dict[str, str]) -> str: + """Adjust the vendor field to make it human-readable""" + if "CPU implementer" not in data: + return "generic" # Mapping numeric codes to vendor (ARM). This list is a merge from # different sources: @@ -185,43 +267,37 @@ def adjust_raw_vendor(info): # https://github.com/gcc-mirror/gcc/blob/master/gcc/config/aarch64/aarch64-cores.def # https://patchwork.kernel.org/patch/10524949/ arm_vendors = TARGETS_JSON["conversions"]["arm_vendors"] - arm_code = info["CPU implementer"] - if arm_code in arm_vendors: - info["CPU implementer"] = arm_vendors[arm_code] + arm_code = data["CPU implementer"] + return arm_vendors.get(arm_code, arm_code) + +def _feature_set(data: Dict[str, str], key: str) -> Set[str]: + return set(data.get(key, "").split()) -def raw_info_dictionary(): - """Returns a dictionary with information on the cpu of the current host. - This function calls all the viable factories one after the other until - there's one that is able to produce the requested information. +def detected_info() -> Microarchitecture: + """Returns a partial Microarchitecture with information on the CPU of the current host. + + This function calls all the viable factories one after the other until there's one that is + able to produce the requested information. Falls-back to a generic microarchitecture, if none + of the calls succeed. """ # pylint: disable=broad-except - info = {} for factory in INFO_FACTORY[platform.system()]: try: - info = factory() + return factory() except Exception as exc: warnings.warn(str(exc)) - if info: - adjust_raw_flags(info) - adjust_raw_vendor(info) - break - - return info - + return generic_microarchitecture(_machine()) -def compatible_microarchitectures(info): - """Returns an unordered list of known micro-architectures that are - compatible with the info dictionary passed as argument. - Args: - info (dict): dictionary containing information on the host cpu +def compatible_microarchitectures(info: Microarchitecture) -> List[Microarchitecture]: + """Returns an unordered list of known micro-architectures that are compatible with the + partial Microarchitecture passed as input. """ architecture_family = _machine() - # If a tester is not registered, be conservative and assume no known - # target is compatible with the host + # If a tester is not registered, assume no known target is compatible with the host tester = COMPATIBILITY_CHECKS.get(architecture_family, lambda x, y: False) return [x for x in TARGETS.values() if tester(info, x)] or [ generic_microarchitecture(architecture_family) @@ -230,8 +306,8 @@ def compatible_microarchitectures(info): def host(): """Detects the host micro-architecture and returns it.""" - # Retrieve a dictionary with raw information on the host's cpu - info = raw_info_dictionary() + # Retrieve information on the host's cpu + info = detected_info() # Get a list of possible candidates for this micro-architecture candidates = compatible_microarchitectures(info) @@ -258,16 +334,15 @@ def sorting_fn(item): return max(candidates, key=sorting_fn) -def compatibility_check(architecture_family): +def compatibility_check(architecture_family: Union[str, Tuple[str, ...]]): """Decorator to register a function as a proper compatibility check. - A compatibility check function takes the raw info dictionary as a first - argument and an arbitrary target as the second argument. It returns True - if the target is compatible with the info dictionary, False otherwise. + A compatibility check function takes a partial Microarchitecture object as a first argument, + and an arbitrary target Microarchitecture as the second argument. It returns True if the + target is compatible with first argument, False otherwise. Args: - architecture_family (str or tuple): architecture family for which - this test can be used, e.g. x86_64 or ppc64le etc. + architecture_family: architecture family for which this test can be used """ # Turn the argument into something iterable if isinstance(architecture_family, str): @@ -280,86 +355,57 @@ def decorator(func): return decorator -@compatibility_check(architecture_family=("ppc64le", "ppc64")) +@compatibility_check(architecture_family=(PPC64LE, PPC64)) def compatibility_check_for_power(info, target): """Compatibility check for PPC64 and PPC64LE architectures.""" - basename = platform.machine() - generation_match = re.search(r"POWER(\d+)", info.get("cpu", "")) - try: - generation = int(generation_match.group(1)) - except AttributeError: - # There might be no match under emulated environments. For instance - # emulating a ppc64le with QEMU and Docker still reports the host - # /proc/cpuinfo and not a Power - generation = 0 - # We can use a target if it descends from our machine type and our # generation (9 for POWER9, etc) is at least its generation. - arch_root = TARGETS[basename] + arch_root = TARGETS[_machine()] return ( target == arch_root or arch_root in target.ancestors - ) and target.generation <= generation + ) and target.generation <= info.generation -@compatibility_check(architecture_family="x86_64") +@compatibility_check(architecture_family=X86_64) def compatibility_check_for_x86_64(info, target): """Compatibility check for x86_64 architectures.""" - basename = "x86_64" - vendor = info.get("vendor_id", "generic") - features = set(info.get("flags", "").split()) - # We can use a target if it descends from our machine type, is from our # vendor, and we have all of its features - arch_root = TARGETS[basename] + arch_root = TARGETS[X86_64] return ( (target == arch_root or arch_root in target.ancestors) - and target.vendor in (vendor, "generic") - and target.features.issubset(features) + and target.vendor in (info.vendor, "generic") + and target.features.issubset(info.features) ) -@compatibility_check(architecture_family="aarch64") +@compatibility_check(architecture_family=AARCH64) def compatibility_check_for_aarch64(info, target): """Compatibility check for AARCH64 architectures.""" - basename = "aarch64" - features = set(info.get("Features", "").split()) - vendor = info.get("CPU implementer", "generic") - - # At the moment it's not clear how to detect compatibility with + # At the moment, it's not clear how to detect compatibility with # a specific version of the architecture - if target.vendor == "generic" and target.name != "aarch64": + if target.vendor == "generic" and target.name != AARCH64: return False - arch_root = TARGETS[basename] + arch_root = TARGETS[AARCH64] arch_root_and_vendor = arch_root == target.family and target.vendor in ( - vendor, + info.vendor, "generic", ) # On macOS it seems impossible to get all the CPU features # with syctl info, but for ARM we can get the exact model if platform.system() == "Darwin": - model_key = info.get("model", basename) - model = TARGETS[model_key] + model = TARGETS[info.name] return arch_root_and_vendor and (target == model or target in model.ancestors) - return arch_root_and_vendor and target.features.issubset(features) + return arch_root_and_vendor and target.features.issubset(info.features) -@compatibility_check(architecture_family="riscv64") +@compatibility_check(architecture_family=RISCV64) def compatibility_check_for_riscv64(info, target): """Compatibility check for riscv64 architectures.""" - basename = "riscv64" - uarch = info.get("uarch") - - # sifive unmatched board - if uarch == "sifive,u74-mc": - uarch = "u74mc" - # catch-all for unknown uarchs - else: - uarch = "riscv64" - - arch_root = TARGETS[basename] + arch_root = TARGETS[RISCV64] return (target == arch_root or arch_root in target.ancestors) and ( - target == uarch or target.vendor == "generic" + target.name == info.name or target.vendor == "generic" ) diff --git a/lib/spack/external/archspec/cpu/microarchitecture.py b/lib/spack/external/archspec/cpu/microarchitecture.py index 954242736bc704..a6526aa9266c3d 100644 --- a/lib/spack/external/archspec/cpu/microarchitecture.py +++ b/lib/spack/external/archspec/cpu/microarchitecture.py @@ -13,6 +13,7 @@ import archspec import archspec.cpu.alias import archspec.cpu.schema + from .alias import FEATURE_ALIASES from .schema import LazyDictionary @@ -47,7 +48,7 @@ class Microarchitecture: which has "broadwell" as a parent, supports running binaries optimized for "broadwell". vendor (str): vendor of the micro-architecture - features (list of str): supported CPU flags. Note that the semantic + features (set of str): supported CPU flags. Note that the semantic of the flags in this field might vary among architectures, if at all present. For instance x86_64 processors will list all the flags supported by a given CPU while Arm processors will @@ -180,24 +181,28 @@ def generic(self): generics = [x for x in [self] + self.ancestors if x.vendor == "generic"] return max(generics, key=lambda x: len(x.ancestors)) - def to_dict(self, return_list_of_items=False): - """Returns a dictionary representation of this object. - - Args: - return_list_of_items (bool): if True returns an ordered list of - items instead of the dictionary - """ - list_of_items = [ - ("name", str(self.name)), - ("vendor", str(self.vendor)), - ("features", sorted(str(x) for x in self.features)), - ("generation", self.generation), - ("parents", [str(x) for x in self.parents]), - ] - if return_list_of_items: - return list_of_items - - return dict(list_of_items) + def to_dict(self): + """Returns a dictionary representation of this object.""" + return { + "name": str(self.name), + "vendor": str(self.vendor), + "features": sorted(str(x) for x in self.features), + "generation": self.generation, + "parents": [str(x) for x in self.parents], + "compilers": self.compilers, + } + + @staticmethod + def from_dict(data) -> "Microarchitecture": + """Construct a microarchitecture from a dictionary representation.""" + return Microarchitecture( + name=data["name"], + parents=[TARGETS[x] for x in data["parents"]], + vendor=data["vendor"], + features=set(data["features"]), + compilers=data.get("compilers", {}), + generation=data.get("generation", 0), + ) def optimization_flags(self, compiler, version): """Returns a string containing the optimization flags that needs @@ -271,9 +276,7 @@ def tuplify(ver): flags = flags_fmt.format(**compiler_entry) return flags - msg = ( - "cannot produce optimized binary for micro-architecture '{0}' with {1}@{2}" - ) + msg = "cannot produce optimized binary for micro-architecture '{0}' with {1}@{2}" if compiler_info: versions = [x["versions"] for x in compiler_info] msg += f' [supported compiler versions are {", ".join(versions)}]' @@ -289,9 +292,7 @@ def generic_microarchitecture(name): Args: name (str): name of the micro-architecture """ - return Microarchitecture( - name, parents=[], vendor="generic", features=[], compilers={} - ) + return Microarchitecture(name, parents=[], vendor="generic", features=[], compilers={}) def version_components(version): @@ -345,9 +346,7 @@ def fill_target_from_dict(name, data, targets): compilers = values.get("compilers", {}) generation = values.get("generation", 0) - targets[name] = Microarchitecture( - name, parents, vendor, features, compilers, generation - ) + targets[name] = Microarchitecture(name, parents, vendor, features, compilers, generation) known_targets = {} data = archspec.cpu.schema.TARGETS_JSON["microarchitectures"] diff --git a/lib/spack/external/archspec/cpu/schema.py b/lib/spack/external/archspec/cpu/schema.py index d560ce4e3c670b..0ffc2231650b69 100644 --- a/lib/spack/external/archspec/cpu/schema.py +++ b/lib/spack/external/archspec/cpu/schema.py @@ -7,7 +7,9 @@ """ import collections.abc import json -import os.path +import os +import pathlib +from typing import Tuple class LazyDictionary(collections.abc.MutableMapping): @@ -46,21 +48,65 @@ def __len__(self): return len(self.data) -def _load_json_file(json_file): - json_dir = os.path.join(os.path.dirname(__file__), "..", "json", "cpu") - json_dir = os.path.abspath(json_dir) +#: Environment variable that might point to a directory with a user defined JSON file +DIR_FROM_ENVIRONMENT = "ARCHSPEC_CPU_DIR" - def _factory(): - filename = os.path.join(json_dir, json_file) - with open(filename, "r", encoding="utf-8") as file: - return json.load(file) +#: Environment variable that might point to a directory with extensions to JSON files +EXTENSION_DIR_FROM_ENVIRONMENT = "ARCHSPEC_EXTENSION_CPU_DIR" - return _factory + +def _json_file(filename: str, allow_custom: bool = False) -> Tuple[pathlib.Path, pathlib.Path]: + """Given a filename, returns the absolute path for the main JSON file, and an + optional absolute path for an extension JSON file. + + Args: + filename: filename for the JSON file + allow_custom: if True, allows overriding the location where the file resides + """ + json_dir = pathlib.Path(__file__).parent / ".." / "json" / "cpu" + if allow_custom and DIR_FROM_ENVIRONMENT in os.environ: + json_dir = pathlib.Path(os.environ[DIR_FROM_ENVIRONMENT]) + json_dir = json_dir.absolute() + json_file = json_dir / filename + + extension_file = None + if allow_custom and EXTENSION_DIR_FROM_ENVIRONMENT in os.environ: + extension_dir = pathlib.Path(os.environ[EXTENSION_DIR_FROM_ENVIRONMENT]) + extension_dir.absolute() + extension_file = extension_dir / filename + + return json_file, extension_file + + +def _load(json_file: pathlib.Path, extension_file: pathlib.Path): + with open(json_file, "r", encoding="utf-8") as file: + data = json.load(file) + + if not extension_file or not extension_file.exists(): + return data + + with open(extension_file, "r", encoding="utf-8") as file: + extension_data = json.load(file) + + top_level_sections = list(data.keys()) + for key in top_level_sections: + if key not in extension_data: + continue + + data[key].update(extension_data[key]) + + return data #: In memory representation of the data in microarchitectures.json, #: loaded on first access -TARGETS_JSON = LazyDictionary(_load_json_file("microarchitectures.json")) +TARGETS_JSON = LazyDictionary(_load, *_json_file("microarchitectures.json", allow_custom=True)) #: JSON schema for microarchitectures.json, loaded on first access -SCHEMA = LazyDictionary(_load_json_file("microarchitectures_schema.json")) +TARGETS_JSON_SCHEMA = LazyDictionary(_load, *_json_file("microarchitectures_schema.json")) + +#: Information on how to call 'cpuid' to get information on the HOST CPU +CPUID_JSON = LazyDictionary(_load, *_json_file("cpuid.json", allow_custom=True)) + +#: JSON schema for cpuid.json, loaded on first access +CPUID_JSON_SCHEMA = LazyDictionary(_load, *_json_file("cpuid_schema.json")) diff --git a/lib/spack/external/archspec/json/README.md b/lib/spack/external/archspec/json/README.md index e01b75f31aee6d..78c424a86fa348 100644 --- a/lib/spack/external/archspec/json/README.md +++ b/lib/spack/external/archspec/json/README.md @@ -9,11 +9,11 @@ language specific APIs. Currently the repository contains the following JSON files: ```console -. -├── COPYRIGHT -└── cpu -    ├── microarchitectures.json # Contains information on CPU microarchitectures -    └── microarchitectures_schema.json # Schema for the file above +cpu/ +├── cpuid.json # Contains information on CPUID calls to retrieve vendor and features on x86_64 +├── cpuid_schema.json # Schema for the file above +├── microarchitectures.json # Contains information on CPU microarchitectures +└── microarchitectures_schema.json # Schema for the file above ``` diff --git a/lib/spack/external/archspec/json/cpu/cpuid.json b/lib/spack/external/archspec/json/cpu/cpuid.json new file mode 100644 index 00000000000000..594e435383ad50 --- /dev/null +++ b/lib/spack/external/archspec/json/cpu/cpuid.json @@ -0,0 +1,1050 @@ +{ + "vendor": { + "description": "https://en.wikipedia.org/wiki/CPUID#EAX=0:_Highest_Function_Parameter_and_Manufacturer_ID", + "input": { + "eax": 0, + "ecx": 0 + } + }, + "highest_extension_support": { + "description": "https://en.wikipedia.org/wiki/CPUID#EAX=80000000h:_Get_Highest_Extended_Function_Implemented", + "input": { + "eax": 2147483648, + "ecx": 0 + } + }, + "flags": [ + { + "description": "https://en.wikipedia.org/wiki/CPUID#EAX=1:_Processor_Info_and_Feature_Bits", + "input": { + "eax": 1, + "ecx": 0 + }, + "bits": [ + { + "name": "fpu", + "register": "edx", + "bit": 0 + }, + { + "name": "vme", + "register": "edx", + "bit": 1 + }, + { + "name": "de", + "register": "edx", + "bit": 2 + }, + { + "name": "pse", + "register": "edx", + "bit": 3 + }, + { + "name": "tsc", + "register": "edx", + "bit": 4 + }, + { + "name": "msr", + "register": "edx", + "bit": 5 + }, + { + "name": "pae", + "register": "edx", + "bit": 6 + }, + { + "name": "mce", + "register": "edx", + "bit": 7 + }, + { + "name": "cx8", + "register": "edx", + "bit": 8 + }, + { + "name": "apic", + "register": "edx", + "bit": 9 + }, + { + "name": "sep", + "register": "edx", + "bit": 11 + }, + { + "name": "mtrr", + "register": "edx", + "bit": 12 + }, + { + "name": "pge", + "register": "edx", + "bit": 13 + }, + { + "name": "mca", + "register": "edx", + "bit": 14 + }, + { + "name": "cmov", + "register": "edx", + "bit": 15 + }, + { + "name": "pat", + "register": "edx", + "bit": 16 + }, + { + "name": "pse36", + "register": "edx", + "bit": 17 + }, + { + "name": "pn", + "register": "edx", + "bit": 18 + }, + { + "name": "clflush", + "register": "edx", + "bit": 19 + }, + { + "name": "dts", + "register": "edx", + "bit": 21 + }, + { + "name": "acpi", + "register": "edx", + "bit": 22 + }, + { + "name": "mmx", + "register": "edx", + "bit": 23 + }, + { + "name": "fxsr", + "register": "edx", + "bit": 24 + }, + { + "name": "sse", + "register": "edx", + "bit": 25 + }, + { + "name": "sse2", + "register": "edx", + "bit": 26 + }, + { + "name": "ss", + "register": "edx", + "bit": 27 + }, + { + "name": "ht", + "register": "edx", + "bit": 28 + }, + { + "name": "tm", + "register": "edx", + "bit": 29 + }, + { + "name": "ia64", + "register": "edx", + "bit": 30 + }, + { + "name": "pbe", + "register": "edx", + "bit": 31 + }, + { + "name": "pni", + "register": "ecx", + "bit": 0 + }, + { + "name": "pclmulqdq", + "register": "ecx", + "bit": 1 + }, + { + "name": "dtes64", + "register": "ecx", + "bit": 2 + }, + { + "name": "monitor", + "register": "ecx", + "bit": 3 + }, + { + "name": "ds_cpl", + "register": "ecx", + "bit": 4 + }, + { + "name": "vmx", + "register": "ecx", + "bit": 5 + }, + { + "name": "smx", + "register": "ecx", + "bit": 6 + }, + { + "name": "est", + "register": "ecx", + "bit": 7 + }, + { + "name": "tm2", + "register": "ecx", + "bit": 8 + }, + { + "name": "ssse3", + "register": "ecx", + "bit": 9 + }, + { + "name": "cid", + "register": "ecx", + "bit": 10 + }, + { + "name": "fma", + "register": "ecx", + "bit": 12 + }, + { + "name": "cx16", + "register": "ecx", + "bit": 13 + }, + { + "name": "xtpr", + "register": "ecx", + "bit": 14 + }, + { + "name": "pdcm", + "register": "ecx", + "bit": 15 + }, + { + "name": "pcid", + "register": "ecx", + "bit": 17 + }, + { + "name": "dca", + "register": "ecx", + "bit": 18 + }, + { + "name": "sse4_1", + "register": "ecx", + "bit": 19 + }, + { + "name": "sse4_2", + "register": "ecx", + "bit": 20 + }, + { + "name": "x2apic", + "register": "ecx", + "bit": 21 + }, + { + "name": "movbe", + "register": "ecx", + "bit": 22 + }, + { + "name": "popcnt", + "register": "ecx", + "bit": 23 + }, + { + "name": "tscdeadline", + "register": "ecx", + "bit": 24 + }, + { + "name": "aes", + "register": "ecx", + "bit": 25 + }, + { + "name": "xsave", + "register": "ecx", + "bit": 26 + }, + { + "name": "osxsave", + "register": "ecx", + "bit": 27 + }, + { + "name": "avx", + "register": "ecx", + "bit": 28 + }, + { + "name": "f16c", + "register": "ecx", + "bit": 29 + }, + { + "name": "rdrand", + "register": "ecx", + "bit": 30 + }, + { + "name": "hypervisor", + "register": "ecx", + "bit": 31 + } + ] + }, + { + "description": "https://en.wikipedia.org/wiki/CPUID#EAX=7,_ECX=0:_Extended_Features", + "input": { + "eax": 7, + "ecx": 0 + }, + "bits": [ + { + "name": "fsgsbase", + "register": "ebx", + "bit": 0 + }, + { + "name": "sgx", + "register": "ebx", + "bit": 2 + }, + { + "name": "bmi1", + "register": "ebx", + "bit": 3 + }, + { + "name": "hle", + "register": "ebx", + "bit": 4 + }, + { + "name": "avx2", + "register": "ebx", + "bit": 5 + }, + { + "name": "fdp-excptn-only", + "register": "ebx", + "bit": 6 + }, + { + "name": "smep", + "register": "ebx", + "bit": 7 + }, + { + "name": "bmi2", + "register": "ebx", + "bit": 8 + }, + { + "name": "erms", + "register": "ebx", + "bit": 9 + }, + { + "name": "invpcid", + "register": "ebx", + "bit": 10 + }, + { + "name": "rtm", + "register": "ebx", + "bit": 11 + }, + { + "name": "pqm", + "register": "ebx", + "bit": 12 + }, + { + "name": "mpx", + "register": "ebx", + "bit": 14 + }, + { + "name": "pqe", + "register": "ebx", + "bit": 15 + }, + { + "name": "avx512f", + "register": "ebx", + "bit": 16 + }, + { + "name": "avx512dq", + "register": "ebx", + "bit": 17 + }, + { + "name": "rdseed", + "register": "ebx", + "bit": 18 + }, + { + "name": "adx", + "register": "ebx", + "bit": 19 + }, + { + "name": "smap", + "register": "ebx", + "bit": 20 + }, + { + "name": "avx512ifma", + "register": "ebx", + "bit": 21 + }, + { + "name": "pcommit", + "register": "ebx", + "bit": 22 + }, + { + "name": "clflushopt", + "register": "ebx", + "bit": 23 + }, + { + "name": "clwb", + "register": "ebx", + "bit": 24 + }, + { + "name": "intel_pt", + "register": "ebx", + "bit": 25 + }, + { + "name": "avx512pf", + "register": "ebx", + "bit": 26 + }, + { + "name": "avx512er", + "register": "ebx", + "bit": 27 + }, + { + "name": "avx512cd", + "register": "ebx", + "bit": 28 + }, + { + "name": "sha_ni", + "register": "ebx", + "bit": 29 + }, + { + "name": "avx512bw", + "register": "ebx", + "bit": 30 + }, + { + "name": "avx512vl", + "register": "ebx", + "bit": 31 + }, + { + "name": "prefetchwt1", + "register": "ecx", + "bit": 0 + }, + { + "name": "avx512vbmi", + "register": "ecx", + "bit": 1 + }, + { + "name": "umip", + "register": "ecx", + "bit": 2 + }, + { + "name": "pku", + "register": "ecx", + "bit": 3 + }, + { + "name": "ospke", + "register": "ecx", + "bit": 4 + }, + { + "name": "waitpkg", + "register": "ecx", + "bit": 5 + }, + { + "name": "avx512_vbmi2", + "register": "ecx", + "bit": 6 + }, + { + "name": "cet_ss", + "register": "ecx", + "bit": 7 + }, + { + "name": "gfni", + "register": "ecx", + "bit": 8 + }, + { + "name": "vaes", + "register": "ecx", + "bit": 9 + }, + { + "name": "vpclmulqdq", + "register": "ecx", + "bit": 10 + }, + { + "name": "avx512_vnni", + "register": "ecx", + "bit": 11 + }, + { + "name": "avx512_bitalg", + "register": "ecx", + "bit": 12 + }, + { + "name": "tme", + "register": "ecx", + "bit": 13 + }, + { + "name": "avx512_vpopcntdq", + "register": "ecx", + "bit": 14 + }, + { + "name": "rdpid", + "register": "ecx", + "bit": 22 + }, + { + "name": "cldemote", + "register": "ecx", + "bit": 25 + }, + { + "name": "movdiri", + "register": "ecx", + "bit": 27 + }, + { + "name": "movdir64b", + "register": "ecx", + "bit": 28 + }, + { + "name": "enqcmd", + "register": "ecx", + "bit": 29 + }, + { + "name": "sgx_lc", + "register": "ecx", + "bit": 30 + }, + { + "name": "pks", + "register": "ecx", + "bit": 31 + }, + { + "name": "fsrm", + "register": "edx", + "bit": 4 + }, + { + "name": "avx512_vp2intersect", + "register": "edx", + "bit": 8 + }, + { + "name": "md_clear", + "register": "edx", + "bit": 10 + }, + { + "name": "serialize", + "register": "edx", + "bit": 14 + }, + { + "name": "tsxldtrk", + "register": "edx", + "bit": 16 + }, + { + "name": "amx_bf16", + "register": "edx", + "bit": 22 + }, + { + "name": "avx512_fp16", + "register": "edx", + "bit": 23 + }, + { + "name": "amx_tile", + "register": "edx", + "bit": 24 + }, + { + "name": "amx_int8", + "register": "edx", + "bit": 25 + }, + { + "name": "ssbd", + "register": "edx", + "bit": 31 + } + ] + }, + { + "description": "https://en.wikipedia.org/wiki/CPUID#EAX=7,_ECX=0:_Extended_Features", + "input": { + "eax": 7, + "ecx": 1 + }, + "bits": [ + { + "name": "sha512", + "register": "eax", + "bit": 0 + }, + { + "name": "sm3", + "register": "eax", + "bit": 1 + }, + { + "name": "sm4", + "register": "eax", + "bit": 2 + }, + { + "name": "rao_int", + "register": "eax", + "bit": 3 + }, + { + "name": "avx_vnni", + "register": "eax", + "bit": 4 + }, + { + "name": "avx512_bf16", + "register": "eax", + "bit": 5 + }, + { + "name": "cmpccxadd", + "register": "eax", + "bit": 7 + }, + { + "name": "arch_perfmon_ext", + "register": "eax", + "bit": 8 + }, + { + "name": "fzrm", + "register": "eax", + "bit": 10 + }, + { + "name": "fsrs", + "register": "eax", + "bit": 11 + }, + { + "name": "fsrc", + "register": "eax", + "bit": 12 + }, + { + "name": "lkgs", + "register": "eax", + "bit": 18 + }, + { + "name": "amx_fp16", + "register": "eax", + "bit": 21 + }, + { + "name": "avx_ifma", + "register": "eax", + "bit": 23 + }, + { + "name": "lam", + "register": "eax", + "bit": 26 + } + ] + }, + { + "description": "https://en.wikipedia.org/wiki/CPUID#EAX=0Dh:_XSAVE_features_and_state-components", + "input": { + "eax": 13, + "ecx": 1 + }, + "bits": [ + { + "name": "xsaveopt", + "register": "eax", + "bit": 0 + }, + { + "name": "xsavec", + "register": "eax", + "bit": 1 + }, + { + "name": "xgetbv1", + "register": "eax", + "bit": 2 + }, + { + "name": "xsaves", + "register": "eax", + "bit": 3 + }, + { + "name": "xfd", + "register": "eax", + "bit": 4 + } + ] + } + ], + "extension-flags": [ + { + "description": "https://en.wikipedia.org/wiki/CPUID#EAX=0Dh:_XSAVE_features_and_state-components", + "input": { + "eax": 2147483649, + "ecx": 0 + }, + "bits": [ + { + "name": "fpu", + "register": "edx", + "bit": 0 + }, + { + "name": "vme", + "register": "edx", + "bit": 1 + }, + { + "name": "de", + "register": "edx", + "bit": 2 + }, + { + "name": "pse", + "register": "edx", + "bit": 3 + }, + { + "name": "tsc", + "register": "edx", + "bit": 4 + }, + { + "name": "msr", + "register": "edx", + "bit": 5 + }, + { + "name": "pae", + "register": "edx", + "bit": 6 + }, + { + "name": "mce", + "register": "edx", + "bit": 7 + }, + { + "name": "cx8", + "register": "edx", + "bit": 8 + }, + { + "name": "apic", + "register": "edx", + "bit": 9 + }, + { + "name": "syscall", + "register": "edx", + "bit": 10 + }, + { + "name": "syscall", + "register": "edx", + "bit": 11 + }, + { + "name": "mtrr", + "register": "edx", + "bit": 12 + }, + { + "name": "pge", + "register": "edx", + "bit": 13 + }, + { + "name": "mca", + "register": "edx", + "bit": 14 + }, + { + "name": "cmov", + "register": "edx", + "bit": 15 + }, + { + "name": "pat", + "register": "edx", + "bit": 16 + }, + { + "name": "pse36", + "register": "edx", + "bit": 17 + }, + { + "name": "mp", + "register": "edx", + "bit": 19 + }, + { + "name": "nx", + "register": "edx", + "bit": 20 + }, + { + "name": "mmxext", + "register": "edx", + "bit": 22 + }, + { + "name": "mmx", + "register": "edx", + "bit": 23 + }, + { + "name": "fxsr", + "register": "edx", + "bit": 24 + }, + { + "name": "fxsr_opt", + "register": "edx", + "bit": 25 + }, + { + "name": "pdpe1gp", + "register": "edx", + "bit": 26 + }, + { + "name": "rdtscp", + "register": "edx", + "bit": 27 + }, + { + "name": "lm", + "register": "edx", + "bit": 29 + }, + { + "name": "3dnowext", + "register": "edx", + "bit": 30 + }, + { + "name": "3dnow", + "register": "edx", + "bit": 31 + }, + { + "name": "lahf_lm", + "register": "ecx", + "bit": 0 + }, + { + "name": "cmp_legacy", + "register": "ecx", + "bit": 1 + }, + { + "name": "svm", + "register": "ecx", + "bit": 2 + }, + { + "name": "extapic", + "register": "ecx", + "bit": 3 + }, + { + "name": "cr8_legacy", + "register": "ecx", + "bit": 4 + }, + { + "name": "abm", + "register": "ecx", + "bit": 5 + }, + { + "name": "sse4a", + "register": "ecx", + "bit": 6 + }, + { + "name": "misalignsse", + "register": "ecx", + "bit": 7 + }, + { + "name": "3dnowprefetch", + "register": "ecx", + "bit": 8 + }, + { + "name": "osvw", + "register": "ecx", + "bit": 9 + }, + { + "name": "ibs", + "register": "ecx", + "bit": 10 + }, + { + "name": "xop", + "register": "ecx", + "bit": 11 + }, + { + "name": "skinit", + "register": "ecx", + "bit": 12 + }, + { + "name": "wdt", + "register": "ecx", + "bit": 13 + }, + { + "name": "lwp", + "register": "ecx", + "bit": 15 + }, + { + "name": "fma4", + "register": "ecx", + "bit": 16 + }, + { + "name": "tce", + "register": "ecx", + "bit": 17 + }, + { + "name": "nodeid_msr", + "register": "ecx", + "bit": 19 + }, + { + "name": "tbm", + "register": "ecx", + "bit": 21 + }, + { + "name": "topoext", + "register": "ecx", + "bit": 22 + }, + { + "name": "perfctr_core", + "register": "ecx", + "bit": 23 + }, + { + "name": "perfctr_nb", + "register": "ecx", + "bit": 24 + }, + { + "name": "dbx", + "register": "ecx", + "bit": 26 + }, + { + "name": "perftsc", + "register": "ecx", + "bit": 27 + }, + { + "name": "pci_l2i", + "register": "ecx", + "bit": 28 + }, + { + "name": "mwaitx", + "register": "ecx", + "bit": 29 + } + ] + } + ] +} diff --git a/lib/spack/external/archspec/json/cpu/cpuid_schema.json b/lib/spack/external/archspec/json/cpu/cpuid_schema.json new file mode 100644 index 00000000000000..8dc5b982eac66a --- /dev/null +++ b/lib/spack/external/archspec/json/cpu/cpuid_schema.json @@ -0,0 +1,134 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Schema for microarchitecture definitions and feature aliases", + "type": "object", + "additionalProperties": false, + "properties": { + "vendor": { + "type": "object", + "additionalProperties": false, + "properties": { + "description": { + "type": "string" + }, + "input": { + "type": "object", + "additionalProperties": false, + "properties": { + "eax": { + "type": "integer" + }, + "ecx": { + "type": "integer" + } + } + } + } + }, + "highest_extension_support": { + "type": "object", + "additionalProperties": false, + "properties": { + "description": { + "type": "string" + }, + "input": { + "type": "object", + "additionalProperties": false, + "properties": { + "eax": { + "type": "integer" + }, + "ecx": { + "type": "integer" + } + } + } + } + }, + "flags": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "description": { + "type": "string" + }, + "input": { + "type": "object", + "additionalProperties": false, + "properties": { + "eax": { + "type": "integer" + }, + "ecx": { + "type": "integer" + } + } + }, + "bits": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "register": { + "type": "string" + }, + "bit": { + "type": "integer" + } + } + } + } + } + } + }, + "extension-flags": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "description": { + "type": "string" + }, + "input": { + "type": "object", + "additionalProperties": false, + "properties": { + "eax": { + "type": "integer" + }, + "ecx": { + "type": "integer" + } + } + }, + "bits": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "register": { + "type": "string" + }, + "bit": { + "type": "integer" + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/lib/spack/external/archspec/vendor/cpuid/LICENSE b/lib/spack/external/archspec/vendor/cpuid/LICENSE new file mode 100644 index 00000000000000..af36480022f9ff --- /dev/null +++ b/lib/spack/external/archspec/vendor/cpuid/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2014 Anders Høst + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/lib/spack/external/archspec/vendor/cpuid/README.md b/lib/spack/external/archspec/vendor/cpuid/README.md new file mode 100644 index 00000000000000..4c79e37d86ce7e --- /dev/null +++ b/lib/spack/external/archspec/vendor/cpuid/README.md @@ -0,0 +1,76 @@ +cpuid.py +======== + +Now, this is silly! + +Pure Python library for accessing information about x86 processors +by querying the [CPUID](http://en.wikipedia.org/wiki/CPUID) +instruction. Well, not exactly pure Python... + +It works by allocating a small piece of virtual memory, copying +a raw x86 function to that memory, giving the memory execute +permissions and then calling the memory as a function. The injected +function executes the CPUID instruction and copies the result back +to a ctypes.Structure where is can be read by Python. + +It should work fine on both 32 and 64 bit versions of Windows and Linux +running x86 processors. Apple OS X and other BSD systems should also work, +not tested though... + + +Why? +---- +For poops and giggles. Plus, having access to a low-level feature +without having to compile a C wrapper is pretty neat. + + +Examples +-------- +Getting info with eax=0: + + import cpuid + + q = cpuid.CPUID() + eax, ebx, ecx, edx = q(0) + +Running the files: + + $ python example.py + Vendor ID : GenuineIntel + CPU name : Intel(R) Xeon(R) CPU W3550 @ 3.07GHz + + Vector instructions supported: + SSE : Yes + SSE2 : Yes + SSE3 : Yes + SSSE3 : Yes + SSE4.1 : Yes + SSE4.2 : Yes + SSE4a : -- + AVX : -- + AVX2 : -- + + $ python cpuid.py + CPUID A B C D + 00000000 0000000b 756e6547 6c65746e 49656e69 + 00000001 000106a5 00100800 009ce3bd bfebfbff + 00000002 55035a01 00f0b2e4 00000000 09ca212c + 00000003 00000000 00000000 00000000 00000000 + 00000004 00000000 00000000 00000000 00000000 + 00000005 00000040 00000040 00000003 00001120 + 00000006 00000003 00000002 00000001 00000000 + 00000007 00000000 00000000 00000000 00000000 + 00000008 00000000 00000000 00000000 00000000 + 00000009 00000000 00000000 00000000 00000000 + 0000000a 07300403 00000044 00000000 00000603 + 0000000b 00000000 00000000 00000095 00000000 + 80000000 80000008 00000000 00000000 00000000 + 80000001 00000000 00000000 00000001 28100800 + 80000002 65746e49 2952286c 6f655820 2952286e + 80000003 55504320 20202020 20202020 57202020 + 80000004 30353533 20402020 37302e33 007a4847 + 80000005 00000000 00000000 00000000 00000000 + 80000006 00000000 00000000 01006040 00000000 + 80000007 00000000 00000000 00000000 00000100 + 80000008 00003024 00000000 00000000 00000000 + diff --git a/lib/spack/external/archspec/vendor/cpuid/cpuid.py b/lib/spack/external/archspec/vendor/cpuid/cpuid.py new file mode 100644 index 00000000000000..79c15d16d1ab7e --- /dev/null +++ b/lib/spack/external/archspec/vendor/cpuid/cpuid.py @@ -0,0 +1,172 @@ +# -*- coding: utf-8 -*- +# +# Copyright (c) 2024 Anders Høst +# + +from __future__ import print_function + +import platform +import os +import ctypes +from ctypes import c_uint32, c_long, c_ulong, c_size_t, c_void_p, POINTER, CFUNCTYPE + +# Posix x86_64: +# Three first call registers : RDI, RSI, RDX +# Volatile registers : RAX, RCX, RDX, RSI, RDI, R8-11 + +# Windows x86_64: +# Three first call registers : RCX, RDX, R8 +# Volatile registers : RAX, RCX, RDX, R8-11 + +# cdecl 32 bit: +# Three first call registers : Stack (%esp) +# Volatile registers : EAX, ECX, EDX + +_POSIX_64_OPC = [ + 0x53, # push %rbx + 0x89, 0xf0, # mov %esi,%eax + 0x89, 0xd1, # mov %edx,%ecx + 0x0f, 0xa2, # cpuid + 0x89, 0x07, # mov %eax,(%rdi) + 0x89, 0x5f, 0x04, # mov %ebx,0x4(%rdi) + 0x89, 0x4f, 0x08, # mov %ecx,0x8(%rdi) + 0x89, 0x57, 0x0c, # mov %edx,0xc(%rdi) + 0x5b, # pop %rbx + 0xc3 # retq +] + +_WINDOWS_64_OPC = [ + 0x53, # push %rbx + 0x89, 0xd0, # mov %edx,%eax + 0x49, 0x89, 0xc9, # mov %rcx,%r9 + 0x44, 0x89, 0xc1, # mov %r8d,%ecx + 0x0f, 0xa2, # cpuid + 0x41, 0x89, 0x01, # mov %eax,(%r9) + 0x41, 0x89, 0x59, 0x04, # mov %ebx,0x4(%r9) + 0x41, 0x89, 0x49, 0x08, # mov %ecx,0x8(%r9) + 0x41, 0x89, 0x51, 0x0c, # mov %edx,0xc(%r9) + 0x5b, # pop %rbx + 0xc3 # retq +] + +_CDECL_32_OPC = [ + 0x53, # push %ebx + 0x57, # push %edi + 0x8b, 0x7c, 0x24, 0x0c, # mov 0xc(%esp),%edi + 0x8b, 0x44, 0x24, 0x10, # mov 0x10(%esp),%eax + 0x8b, 0x4c, 0x24, 0x14, # mov 0x14(%esp),%ecx + 0x0f, 0xa2, # cpuid + 0x89, 0x07, # mov %eax,(%edi) + 0x89, 0x5f, 0x04, # mov %ebx,0x4(%edi) + 0x89, 0x4f, 0x08, # mov %ecx,0x8(%edi) + 0x89, 0x57, 0x0c, # mov %edx,0xc(%edi) + 0x5f, # pop %edi + 0x5b, # pop %ebx + 0xc3 # ret +] + +is_windows = os.name == "nt" +is_64bit = ctypes.sizeof(ctypes.c_voidp) == 8 + + +class CPUID_struct(ctypes.Structure): + _register_names = ("eax", "ebx", "ecx", "edx") + _fields_ = [(r, c_uint32) for r in _register_names] + + def __getitem__(self, item): + if item not in self._register_names: + raise KeyError(item) + return getattr(self, item) + + def __repr__(self): + return "eax=0x{:x}, ebx=0x{:x}, ecx=0x{:x}, edx=0x{:x}".format(self.eax, self.ebx, self.ecx, self.edx) + + +class CPUID(object): + def __init__(self): + if platform.machine() not in ("AMD64", "x86_64", "x86", "i686"): + raise SystemError("Only available for x86") + + if is_windows: + if is_64bit: + # VirtualAlloc seems to fail under some weird + # circumstances when ctypes.windll.kernel32 is + # used under 64 bit Python. CDLL fixes this. + self.win = ctypes.CDLL("kernel32.dll") + opc = _WINDOWS_64_OPC + else: + # Here ctypes.windll.kernel32 is needed to get the + # right DLL. Otherwise it will fail when running + # 32 bit Python on 64 bit Windows. + self.win = ctypes.windll.kernel32 + opc = _CDECL_32_OPC + else: + opc = _POSIX_64_OPC if is_64bit else _CDECL_32_OPC + + size = len(opc) + code = (ctypes.c_ubyte * size)(*opc) + + if is_windows: + self.win.VirtualAlloc.restype = c_void_p + self.win.VirtualAlloc.argtypes = [ctypes.c_void_p, ctypes.c_size_t, ctypes.c_ulong, ctypes.c_ulong] + self.addr = self.win.VirtualAlloc(None, size, 0x1000, 0x40) + if not self.addr: + raise MemoryError("Could not allocate RWX memory") + ctypes.memmove(self.addr, code, size) + else: + from mmap import ( + mmap, + MAP_PRIVATE, + MAP_ANONYMOUS, + PROT_WRITE, + PROT_READ, + PROT_EXEC, + ) + self.mm = mmap( + -1, + size, + flags=MAP_PRIVATE | MAP_ANONYMOUS, + prot=PROT_WRITE | PROT_READ | PROT_EXEC, + ) + self.mm.write(code) + self.addr = ctypes.addressof(ctypes.c_int.from_buffer(self.mm)) + + func_type = CFUNCTYPE(None, POINTER(CPUID_struct), c_uint32, c_uint32) + self.func_ptr = func_type(self.addr) + + def __call__(self, eax, ecx=0): + struct = self.registers_for(eax=eax, ecx=ecx) + return struct.eax, struct.ebx, struct.ecx, struct.edx + + def registers_for(self, eax, ecx=0): + """Calls cpuid with eax and ecx set as the input arguments, and returns a structure + containing eax, ebx, ecx, and edx. + """ + struct = CPUID_struct() + self.func_ptr(struct, eax, ecx) + return struct + + def __del__(self): + if is_windows: + self.win.VirtualFree.restype = c_long + self.win.VirtualFree.argtypes = [c_void_p, c_size_t, c_ulong] + self.win.VirtualFree(self.addr, 0, 0x8000) + else: + self.mm.close() + + + +if __name__ == "__main__": + def valid_inputs(): + cpuid = CPUID() + for eax in (0x0, 0x80000000): + highest, _, _, _ = cpuid(eax) + while eax <= highest: + regs = cpuid(eax) + yield (eax, regs) + eax += 1 + + + print(" ".join(x.ljust(8) for x in ("CPUID", "A", "B", "C", "D")).strip()) + for eax, regs in valid_inputs(): + print("%08x" % eax, " ".join("%08x" % reg for reg in regs)) diff --git a/lib/spack/external/archspec/vendor/cpuid/example.py b/lib/spack/external/archspec/vendor/cpuid/example.py new file mode 100644 index 00000000000000..e07e3c15215b0a --- /dev/null +++ b/lib/spack/external/archspec/vendor/cpuid/example.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +# +# Copyright (c) 2024 Anders Høst +# + +from __future__ import print_function + +import struct +import cpuid + + +def cpu_vendor(cpu): + _, b, c, d = cpu(0) + return struct.pack("III", b, d, c).decode("utf-8") + + +def cpu_name(cpu): + name = "".join((struct.pack("IIII", *cpu(0x80000000 + i)).decode("utf-8") + for i in range(2, 5))) + + return name.split('\x00', 1)[0] + + +def is_set(cpu, leaf, subleaf, reg_idx, bit): + """ + @param {leaf} %eax + @param {sublead} %ecx, 0 in most cases + @param {reg_idx} idx of [%eax, %ebx, %ecx, %edx], 0-based + @param {bit} bit of reg selected by {reg_idx}, 0-based + """ + + regs = cpu(leaf, subleaf) + + if (1 << bit) & regs[reg_idx]: + return "Yes" + else: + return "--" + + +if __name__ == "__main__": + cpu = cpuid.CPUID() + + print("Vendor ID : %s" % cpu_vendor(cpu)) + print("CPU name : %s" % cpu_name(cpu)) + print() + print("Vector instructions supported:") + print("SSE : %s" % is_set(cpu, 1, 0, 3, 25)) + print("SSE2 : %s" % is_set(cpu, 1, 0, 3, 26)) + print("SSE3 : %s" % is_set(cpu, 1, 0, 2, 0)) + print("SSSE3 : %s" % is_set(cpu, 1, 0, 2, 9)) + print("SSE4.1 : %s" % is_set(cpu, 1, 0, 2, 19)) + print("SSE4.2 : %s" % is_set(cpu, 1, 0, 2, 20)) + print("SSE4a : %s" % is_set(cpu, 0x80000001, 0, 2, 6)) + print("AVX : %s" % is_set(cpu, 1, 0, 2, 28)) + print("AVX2 : %s" % is_set(cpu, 7, 0, 1, 5)) + print("BMI1 : %s" % is_set(cpu, 7, 0, 1, 3)) + print("BMI2 : %s" % is_set(cpu, 7, 0, 1, 8)) + # Intel RDT CMT/MBM + print("L3 Monitoring : %s" % is_set(cpu, 0xf, 0, 3, 1)) + print("L3 Occupancy : %s" % is_set(cpu, 0xf, 1, 3, 0)) + print("L3 Total BW : %s" % is_set(cpu, 0xf, 1, 3, 1)) + print("L3 Local BW : %s" % is_set(cpu, 0xf, 1, 3, 2)) diff --git a/lib/spack/spack/compilers/msvc.py b/lib/spack/spack/compilers/msvc.py index 864d578b81f503..49f7582512ab6a 100644 --- a/lib/spack/spack/compilers/msvc.py +++ b/lib/spack/spack/compilers/msvc.py @@ -10,6 +10,8 @@ import tempfile from typing import Dict, List, Set +import archspec.cpu + import spack.compiler import spack.operating_systems.windows_os import spack.platforms @@ -186,6 +188,9 @@ def __init__(self, *args, **kwargs): # get current platform architecture and format for vcvars argument arch = spack.platforms.real_host().default.lower() arch = arch.replace("-", "_") + if str(archspec.cpu.host().family) == "x86_64": + arch = "amd64" + self.vcvars_call = VCVarsInvocation(vcvars_script_path, arch, self.msvc_version) env_cmds.append(self.vcvars_call) # Below is a check for a valid fortran path diff --git a/lib/spack/spack/target.py b/lib/spack/spack/target.py index 4ce8866ac76d44..cd28d8e5fa3363 100644 --- a/lib/spack/spack/target.py +++ b/lib/spack/spack/target.py @@ -102,7 +102,10 @@ def to_dict_or_value(self): if self.microarchitecture.vendor == "generic": return str(self) - return syaml.syaml_dict(self.microarchitecture.to_dict(return_list_of_items=True)) + # Get rid of compiler flag information before turning the uarch into a dict + uarch_dict = self.microarchitecture.to_dict() + uarch_dict.pop("compilers", None) + return syaml.syaml_dict(uarch_dict.items()) def __repr__(self): cls_name = self.__class__.__name__ From 03e22adb5b5a3ab099380142c286889d2ccd2fa5 Mon Sep 17 00:00:00 2001 From: Pierre Blanchard <147173952+blapie@users.noreply.github.com> Date: Tue, 12 Mar 2024 10:04:17 +0000 Subject: [PATCH 024/155] sleef: add v3.6 (#42978) --- var/spack/repos/builtin/packages/sleef/package.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/var/spack/repos/builtin/packages/sleef/package.py b/var/spack/repos/builtin/packages/sleef/package.py index d9ab3bbe12e0fb..55854015aa1ee1 100644 --- a/var/spack/repos/builtin/packages/sleef/package.py +++ b/var/spack/repos/builtin/packages/sleef/package.py @@ -10,18 +10,17 @@ class Sleef(CMakePackage): """SIMD Library for Evaluating Elementary Functions, vectorized libm and DFT.""" homepage = "https://sleef.org" - url = "https://github.com/shibatch/sleef/archive/3.2.tar.gz" + url = "https://github.com/shibatch/sleef/archive/3.6.tar.gz" git = "https://github.com/shibatch/sleef.git" + maintainers("blapie") + license("BSL-1.0") version("master", branch="master") + version("3.6", commit="a99491afee2bae0b11e9ffbf3211349f43a5fd10", preferred=True) version("3.5.1_2020-12-22", commit="e0a003ee838b75d11763aa9c3ef17bf71a725bff") # py-torch@1.8: - version( - "3.5.1", - sha256="415ee9b1bcc5816989d3d4d92afd0cd3f9ee89cbd5a33eb008e69751e40438ab", - preferred=True, - ) + version("3.5.1", sha256="415ee9b1bcc5816989d3d4d92afd0cd3f9ee89cbd5a33eb008e69751e40438ab") version( "3.4.0_2019-07-30", commit="7f523de651585fe25cade462efccca647dcc8d02" ) # py-torch@1.3:1.7 From 9a3d2483481f52ce5d51e5288b9c628fb98e0b55 Mon Sep 17 00:00:00 2001 From: Oakley Brunt <130391369+oakleybrunt@users.noreply.github.com> Date: Tue, 12 Mar 2024 13:46:48 +0000 Subject: [PATCH 025/155] py-psyclone and py-fparser: Add new releases (#42744) * py-psyclone and py-fparser new releases added * py-fparser: add missing releases for py-psyclone * py-psyclone: actioned @adamjstewart comments * py-psyclone: removed py-pytest-pylint * py-pytest-pylint: added package @ latest version * py-pytest-pylint: reformatted * Update var/spack/repos/builtin/packages/py-psyclone/package.py Co-authored-by: Adam J. Stewart * py-pytest-pylint: added build deps and runtime dep versions * py-pytest-pylint: removed version from setuptools * py-psyclone: add py-pytest-pylint test dep and alphabetize deps * Update var/spack/repos/builtin/packages/py-pytest-pylint/package.py Co-authored-by: Adam J. Stewart * py-psyclone: deps ordered --------- Co-authored-by: Adam J. Stewart --- .../builtin/packages/py-fparser/package.py | 36 ++++++++--- .../builtin/packages/py-psyclone/package.py | 61 +++++++++++++++---- .../packages/py-pytest-pylint/package.py | 31 ++++++++++ 3 files changed, 106 insertions(+), 22 deletions(-) create mode 100644 var/spack/repos/builtin/packages/py-pytest-pylint/package.py diff --git a/var/spack/repos/builtin/packages/py-fparser/package.py b/var/spack/repos/builtin/packages/py-fparser/package.py index 68d022c17b63c4..7ac6bca213b987 100644 --- a/var/spack/repos/builtin/packages/py-fparser/package.py +++ b/var/spack/repos/builtin/packages/py-fparser/package.py @@ -7,40 +7,56 @@ class PyFparser(PythonPackage): - """Parser for Fortran 77..2003 code.""" + """ + This project is based upon the Fortran (77..2003) parser + originally developed by Pearu Peterson for the F2PY project, + www.f2py.com. It provides a parser for Fortran source code + implemented purely in Python with minimal dependencies. + """ + + # Links homepage = "https://github.com/stfc/fparser" git = "https://github.com/stfc/fparser.git" - pypi = "fparser/fparser-0.1.3.tar.gz" + pypi = "fparser/fparser-0.1.4.tar.gz" + # License license("BSD-3-Clause") + # Releases version("develop", branch="master") + version("0.1.4", sha256="00d4f7e9bbd8a9024c3c2f308dd3be9b0eeff3cb852772c9f3cf0c4909dbafd4") version("0.1.3", sha256="10ba8b2803632846f6f011278e3810188a078d89afcb4a38bed0cbf10f775736") version("0.0.16", sha256="a06389b95a1b9ed12f8141b69c67343da5ba0a29277b2997b02573a93af14e13") + version("0.0.15", sha256="53a7f3e3a651b6d2a83c6cc8194d7de0abdc3bd54b2b83b0f379739b0dc74a9e") + version("0.0.14", sha256="ed8ffcd4aecb7e1f09d019c9663aa0effb44f489e96a60759e83e6a3834220eb") + version("0.0.13", sha256="3c7e939fcc6b010de717eb6bd5102750dea26f15b6f6346cb285652b6a55818a") + version("0.0.12", sha256="9ea2cf3cdf64e440ab9d5b526dda2dc3528fe5aa7a85634e81b0ee3c0c39886f") version("0.0.6", sha256="bf8a419cb528df1bfc24ddd26d63f2ebea6f1e103f1a259d8d3a6c9b1cd53012") version("0.0.5", sha256="f3b5b0ac56fd22abed558c0fb0ba4f28edb8de7ef24cfda8ca8996562215822f") - depends_on("py-setuptools@42:", type="build", when="@0.1:") + # Dependencies for latest version + depends_on("py-setuptools@61:", type="build", when="@0.1.4:") depends_on("py-setuptools", type="build") depends_on("py-setuptools-scm@6.2:+toml", type=("build", "run"), when="@0.1:") depends_on("py-setuptools-scm-git-archive", type="build", when="@0.1:") depends_on("py-wheel@0.29:", type="build", when="@0.1:") - depends_on("py-importlib-metadata", type=("build", "run"), when="@0.1:") + # Historical dependencies + depends_on("py-setuptools@42:", type="build", when="@0.1:") depends_on("py-numpy", type=("build", "run"), when="@:0.0.5") depends_on("py-nose", type=("build", "run"), when="@:0.0.7") - # six is unused as of 0.0.15, but still listed in setup.py depends_on("py-six", type=("build", "run"), when="@0.0.6:0.0.16") - depends_on("py-pytest", type="test") + # Dependencies only required for tests: + depends_on("py-pytest@3.3:", type="test") + # Test @run_after("install") @on_package_attributes(run_tests=True) def check_build(self): - # Ensure that pytest.ini exists inside the source tree, - # otherwise an external pytest.ini can cause havoc: - touch("pytest.ini") + pytest = which("pytest") + # Limit pystest to search inside the build tree with working_dir("src"): - Executable("py.test")() + pytest() diff --git a/var/spack/repos/builtin/packages/py-psyclone/package.py b/var/spack/repos/builtin/packages/py-psyclone/package.py index e8965d43b0a942..ce5b26621f7e00 100644 --- a/var/spack/repos/builtin/packages/py-psyclone/package.py +++ b/var/spack/repos/builtin/packages/py-psyclone/package.py @@ -7,36 +7,73 @@ class PyPsyclone(PythonPackage): - """Code generation for the PSyKAl framework from the GungHo project, - as used by the LFRic model at the UK Met Office.""" + """ + Code generation system developed to support domain-specific languages + (DSLs) for finite element, finite volume and finite difference codes. + Notably, it is used in the LFRic Project from the UK Met Office, and + it also supports the GOcean (2D, finite difference) DSL. + """ + + # Links homepage = "https://github.com/stfc/PSyclone" - url = "https://github.com/stfc/PSyclone/archive/1.5.1.tar.gz" git = "https://github.com/stfc/PSyclone.git" + pypi = "PSyclone/PSyclone-2.5.0.tar.gz" + + # License + license("BSD-3-Clause") + # Releases version("develop", branch="master") - version("1.5.1", commit="eba7a097175b02f75dec70616cf267b7b3170d78") + version("2.5.0", sha256="dd1b40d635423c6b23effd2c569908d319afa6153680692e1cbae27f7b5bf4dc") + version("2.4.0", sha256="14fd3717f99b317471356c59c1d4c4c22c41fd264af11b78ed831dd2eb71a270") + version("2.3.1", sha256="eee70b3069d71fcf95e9bc8796f0333bd502e0202a98df051b635b133432a082") + version("2.3.0", sha256="a2cb3f03ad827de99af6acef794d354146443f21623830e4ff62282a81b7cdb3") + version("2.2.0", sha256="da829e3b88bf8df7bdb1f261cfc9b20c119eae79fbbd92d970eefee7390ca159") + version("2.1.0", sha256="7ef967146d0e2f4662d1d68472242d12f2097adb90646c5646c962ea2e0f187c") + version("2.0.0", sha256="94766ffda760404af99f85d70341376192e4a1b8e16e7ae5df980038898a9c41") + version("1.5.1", sha256="f053ad7316623b2a4002afc79607abda3b22306645e86f2312d9f3fe56d312dc") + # Current dependencies depends_on("py-setuptools", type="build") depends_on("py-pyparsing", type=("build", "run")) + depends_on("py-fparser@0.1.4:", type=("build", "run"), when="@2.5.0") + depends_on("py-configparser", type=("build", "run")) + depends_on("py-jsonschema", type=("build", "run"), when="@2.5.0") + depends_on("py-sympy", type=("build", "run"), when="@2.2.0:") + + # Historical dependencies + depends_on("py-six", type=("build", "run"), when="@2.0.0:2.3.1") + depends_on("py-jsonschema@3.0.2", type=("build", "run"), when="@2.1.0:2.4.0") # Test cases fail without compatible versions of py-fparser: - depends_on("py-fparser@0.0.5", type=("build", "run"), when="@1.5.1") - depends_on("py-fparser", type=("build", "run"), when="@1.5.2:") + depends_on("py-fparser@0.1.3", type=("build", "run"), when="@2.4.0") + depends_on("py-fparser@0.0.16", type=("build", "run"), when="@2.3.1") + depends_on("py-fparser@0.0.15", type=("build", "run"), when="@2.3.0") + depends_on("py-fparser@0.0.14", type=("build", "run"), when="@2.2.0") + depends_on("py-fparser@0.0.13", type=("build", "run"), when="@2.1.0") + depends_on("py-fparser@0.0.12", type=("build", "run"), when="@2.0.0") # Dependencies only required for tests: - depends_on("py-numpy", type="test") - depends_on("py-nose", type="test") + depends_on("py-pep8", type="test") + depends_on("py-flake8", type="test") + depends_on("py-pylint@:2", type="test") + depends_on("py-pytest-cov", type="test") + depends_on("py-pytest-pep8", type="test") + depends_on("py-pytest-pylint", type="test") + depends_on("py-pytest-flakes", type="test") + depends_on("py-pytest-xdist", type="test") depends_on("py-pytest", type="test") + # Test @run_after("install") @on_package_attributes(run_tests=True) def check_build(self): - # Limit py.test to search inside the build tree: - touch("pytest.ini") + pytest = which("pytest") + # Limit pytest to search inside the build tree with working_dir("src"): - Executable("py.test")() + pytest() def setup_build_environment(self, env): - # Allow testing with installed executables: + # Allow testing with installed executables env.prepend_path("PATH", self.prefix.bin) diff --git a/var/spack/repos/builtin/packages/py-pytest-pylint/package.py b/var/spack/repos/builtin/packages/py-pytest-pylint/package.py new file mode 100644 index 00000000000000..597a26f1239a67 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pytest-pylint/package.py @@ -0,0 +1,31 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyPytestPylint(PythonPackage): + """Run pylint with pytest and have configurable rule types (i.e. + Convention, Warn, and Error) fail the build. You can also specify a + pylintrc file. + + """ + + homepage = "https://pypi.org/project/pytest-pylint/" + pypi = "pytest-pylint/pytest-pylint-0.21.0.tar.gz" + git = "https://github.com/pytest-dev/pytest" + + license("MIT") + + version("0.21.0", sha256="88764b8e1d5cfa18809248e0ccc2fc05035f08c35f0b0222ddcfea1c3c4e553e") + + # python_requires + depends_on("python@3.7:", type=("build", "run")) + + # install_requires + depends_on("py-setuptools", type=("build")) + depends_on("py-pytest@7.0.0:", type=("build", "run")) + depends_on("py-pylint@2.15.0:", type=("build", "run")) + depends_on("py-tomli@1.1.0:", type=("build", "run"), when="^python@:3.10") From 48183b37beadd6bcd57d39d58b3cd8c825dab583 Mon Sep 17 00:00:00 2001 From: Valentin Volkl Date: Tue, 12 Mar 2024 14:58:32 +0100 Subject: [PATCH 026/155] gaudi: add py-yaml dependency (#43116) Needed to parse job options in yaml format (https://gitlab.cern.ch/gaudi/Gaudi/-/blob/master/GaudiKernel/python/GaudiKernel/ProcessJobOptions.py#L528). In principle this is optional, but it's needed for the test 35 - GaudiKernel.pytest.nose.test_Configurables (Failed). Seems like there's no harm done in adding this as a full dependency. --- var/spack/repos/builtin/packages/gaudi/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/gaudi/package.py b/var/spack/repos/builtin/packages/gaudi/package.py index cc79f162105203..fded9262f2377d 100644 --- a/var/spack/repos/builtin/packages/gaudi/package.py +++ b/var/spack/repos/builtin/packages/gaudi/package.py @@ -83,6 +83,7 @@ class Gaudi(CMakePackage): depends_on("python", type=("build", "run")) depends_on("py-networkx", type=("build", "run")) depends_on("py-six", type=("build", "run")) + depends_on("py-pyyaml", type=("build", "run", "test")) depends_on("range-v3") depends_on("root +python +root7 +ssl +tbb +threads") depends_on("zlib-api") From 1e9c46296c352cf0179706382facfc3f37675a32 Mon Sep 17 00:00:00 2001 From: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Date: Tue, 12 Mar 2024 07:39:18 -0700 Subject: [PATCH 027/155] perl testing: refactor stand-alone testing into base class (#43044) --- lib/spack/docs/build_systems/perlpackage.rst | 66 +++++++++++++++++++ lib/spack/spack/build_systems/perl.py | 59 ++++++++++++++++- lib/spack/spack/test/cmd/test.py | 1 + .../packages/perl-algorithm-c3/package.py | 8 --- .../package.py | 8 --- .../packages/perl-any-uri-escape/package.py | 8 --- .../perl-apache-logformat-compiler/package.py | 8 --- .../builtin/packages/perl-b-cow/package.py | 8 --- .../perl-b-hooks-endofscope/package.py | 8 --- .../packages/perl-b-keywords/package.py | 8 --- .../perl-bio-asn1-entrezgene/package.py | 8 --- .../packages/perl-bio-cluster/package.py | 8 --- .../packages/perl-bio-eutilities/package.py | 8 --- .../packages/perl-bio-variation/package.py | 8 --- .../packages/perl-bsd-resource/package.py | 8 --- .../packages/perl-cache-cache/package.py | 8 --- .../packages/perl-cache-memcached/package.py | 8 --- .../packages/perl-canary-stability/package.py | 8 --- .../package.py | 8 --- .../perl-catalyst-action-rest/package.py | 8 --- .../package.py | 8 --- .../packages/perl-catalyst-devel/package.py | 8 --- .../perl-catalyst-plugin-cache/package.py | 8 --- .../package.py | 8 --- .../package.py | 8 --- .../packages/perl-catalyst-runtime/package.py | 8 --- .../perl-catalyst-view-json/package.py | 8 --- .../packages/perl-cgi-simple/package.py | 8 --- .../packages/perl-cgi-struct/package.py | 8 --- .../packages/perl-chart-gnuplot/package.py | 8 --- .../perl-chi-driver-memcached/package.py | 8 --- .../builtin/packages/perl-chi/package.py | 8 --- .../perl-class-accessor-grouped/package.py | 8 --- .../perl-class-accessor-lvalue/package.py | 8 --- .../packages/perl-class-accessor/package.py | 8 --- .../perl-class-c3-adopt-next/package.py | 8 --- .../perl-class-c3-componentised/package.py | 8 --- .../builtin/packages/perl-class-c3/package.py | 8 --- .../packages/perl-class-singleton/package.py | 8 --- .../builtin/packages/perl-clone-pp/package.py | 8 --- .../packages/perl-common-sense/package.py | 8 --- .../packages/perl-compress-lzo/package.py | 8 --- .../packages/perl-config-any/package.py | 8 --- .../packages/perl-config-inifiles/package.py | 8 --- .../packages/perl-config-tiny/package.py | 8 --- .../packages/perl-context-preserve/package.py | 8 --- .../perl-convert-nls-date-format/package.py | 8 --- .../packages/perl-cookie-baker/package.py | 8 --- .../packages/perl-cpanel-json-xs/package.py | 8 --- .../packages/perl-css-minifier-xs/package.py | 8 --- .../packages/perl-data-dump/package.py | 8 --- .../perl-data-dumper-concise/package.py | 8 --- .../packages/perl-data-predicate/package.py | 8 --- .../packages/perl-data-uuid/package.py | 8 --- .../packages/perl-data-visitor/package.py | 8 --- .../packages/perl-date-exception/package.py | 8 --- .../packages/perl-date-utils/package.py | 8 --- .../perl-datetime-format-builder/package.py | 8 --- .../perl-datetime-format-iso8601/package.py | 8 --- .../perl-datetime-format-mysql/package.py | 8 --- .../perl-datetime-format-oracle/package.py | 8 --- .../perl-datetime-format-pg/package.py | 8 --- .../perl-datetime-format-strptime/package.py | 8 --- .../packages/perl-datetime-locale/package.py | 8 --- .../perl-datetime-timezone/package.py | 8 --- .../builtin/packages/perl-datetime/package.py | 8 --- .../packages/perl-dbd-oracle/package.py | 8 --- .../packages/perl-dbix-class/package.py | 8 --- .../perl-devel-stacktrace-ashtml/package.py | 8 --- .../packages/perl-digest-jhash/package.py | 8 --- .../packages/perl-digest-sha1/package.py | 8 --- .../packages/perl-email-abstract/package.py | 8 --- .../packages/perl-email-address-xs/package.py | 8 --- .../perl-email-date-format/package.py | 8 --- .../packages/perl-email-messageid/package.py | 8 --- .../perl-email-mime-contenttype/package.py | 8 --- .../perl-email-mime-encodings/package.py | 8 --- .../packages/perl-email-mime/package.py | 8 --- .../packages/perl-email-sender/package.py | 8 --- .../packages/perl-email-simple/package.py | 8 --- .../packages/perl-email-stuffer/package.py | 8 --- .../packages/perl-exporter-auto/package.py | 8 --- .../perl-file-changenotify/package.py | 8 --- .../packages/perl-file-sharedir/package.py | 8 --- .../perl-filesys-notify-simple/package.py | 8 --- .../perl-getopt-long-descriptive/package.py | 8 --- .../builtin/packages/perl-graphviz/package.py | 8 --- .../packages/perl-gzip-faster/package.py | 8 --- .../packages/perl-hash-moreutils/package.py | 8 --- .../packages/perl-hash-multivalue/package.py | 8 --- .../builtin/packages/perl-heap/package.py | 8 --- .../packages/perl-hook-lexwrap/package.py | 8 --- .../packages/perl-html-template/package.py | 8 --- .../packages/perl-http-body/package.py | 8 --- .../packages/perl-http-cookiejar/package.py | 8 --- .../perl-http-entity-parser/package.py | 8 --- .../perl-http-headers-fast/package.py | 8 --- .../perl-http-multipartparser/package.py | 8 --- .../packages/perl-http-parser-xs/package.py | 8 --- .../perl-http-request-ascgi/package.py | 8 --- .../perl-http-server-simple/package.py | 8 --- .../packages/perl-import-into/package.py | 8 --- .../builtin/packages/perl-ipc-run3/package.py | 8 --- .../packages/perl-ipc-sharelite/package.py | 8 --- .../perl-ipc-system-simple/package.py | 8 --- .../perl-javascript-minifier-xs/package.py | 8 --- .../builtin/packages/perl-json-any/package.py | 8 --- .../packages/perl-json-maybexs/package.py | 8 --- .../builtin/packages/perl-json-xs/package.py | 8 --- .../packages/perl-kyotocabinet/package.py | 8 --- .../perl-lingua-en-inflect/package.py | 8 --- .../packages/perl-list-compare/package.py | 8 --- .../packages/perl-list-someutils/package.py | 8 --- .../perl-log-any-adapter-callback/package.py | 8 --- .../builtin/packages/perl-log-any/package.py | 8 --- .../perl-log-dispatch-filerotate/package.py | 8 --- .../packages/perl-log-dispatch/package.py | 8 --- .../packages/perl-metacpan-client/package.py | 8 --- .../packages/perl-mime-types/package.py | 8 --- .../packages/perl-mock-config/package.py | 8 --- .../packages/perl-module-find/package.py | 8 --- .../packages/perl-module-install/package.py | 2 + .../packages/perl-module-mask/package.py | 8 --- .../packages/perl-module-pluggable/package.py | 8 --- .../packages/perl-module-util/package.py | 8 --- .../packages/perl-mojolicious/package.py | 8 --- .../package.py | 8 --- .../packages/perl-moosex-getopt/package.py | 8 --- .../perl-moosex-methodattributes/package.py | 8 --- .../perl-moosex-role-parameterized/package.py | 8 --- .../package.py | 8 --- .../perl-moox-types-mooselike/package.py | 8 --- .../perl-namespace-autoclean/package.py | 8 --- .../packages/perl-namespace-clean/package.py | 8 --- .../packages/perl-net-cidr-lite/package.py | 8 --- .../builtin/packages/perl-net-ip/package.py | 8 --- .../perl-net-server-ss-prefork/package.py | 8 --- .../packages/perl-net-server/package.py | 8 --- .../packages/perl-package-variant/package.py | 8 --- .../perl-params-validationcompiler/package.py | 8 --- .../packages/perl-path-class/package.py | 8 --- .../perl-perl-critic-moose/package.py | 8 --- .../packages/perl-perl-critic/package.py | 8 --- .../packages/perl-perl-tidy/package.py | 8 --- .../perl-plack-middleware-assets/package.py | 8 --- .../package.py | 8 --- .../perl-plack-middleware-deflater/package.py | 8 --- .../package.py | 11 ---- .../package.py | 8 --- .../package.py | 8 --- .../package.py | 8 --- .../perl-plack-test-externalserver/package.py | 8 --- .../builtin/packages/perl-plack/package.py | 8 --- .../packages/perl-pod-coverage/package.py | 8 --- .../packages/perl-pod-parser/package.py | 8 --- .../packages/perl-pod-spell/package.py | 8 --- .../perl-posix-strftime-compiler/package.py | 8 --- .../builtin/packages/perl-ppi/package.py | 8 --- .../packages/perl-ppix-quotelike/package.py | 8 --- .../packages/perl-ppix-regexp/package.py | 8 --- .../packages/perl-ppix-utils/package.py | 8 --- .../packages/perl-proc-daemon/package.py | 8 --- .../perl-proc-processtable/package.py | 8 --- .../packages/perl-readonly-xs/package.py | 4 -- .../builtin/packages/perl-ref-util/package.py | 8 --- .../packages/perl-rose-datetime/package.py | 8 --- .../packages/perl-rose-db-object/package.py | 8 --- .../builtin/packages/perl-rose-db/package.py | 8 --- .../packages/perl-rose-object/package.py | 8 --- .../builtin/packages/perl-safe-isa/package.py | 8 --- .../packages/perl-scope-guard/package.py | 8 --- .../perl-search-elasticsearch/package.py | 8 --- .../packages/perl-sereal-decoder/package.py | 8 --- .../packages/perl-sereal-encoder/package.py | 8 --- .../builtin/packages/perl-sereal/package.py | 8 --- .../packages/perl-server-starter/package.py | 8 --- .../packages/perl-set-object/package.py | 8 --- .../builtin/packages/perl-specio/package.py | 8 --- .../builtin/packages/perl-spiffy/package.py | 8 --- .../perl-sql-abstract-classic/package.py | 8 --- .../packages/perl-sql-abstract/package.py | 8 --- .../perl-sql-reservedwords/package.py | 8 --- .../packages/perl-sql-translator/package.py | 8 --- .../builtin/packages/perl-starman/package.py | 8 --- .../packages/perl-stream-buffered/package.py | 8 --- .../packages/perl-strictures/package.py | 8 --- .../packages/perl-string-approx/package.py | 8 --- .../packages/perl-string-crc32/package.py | 8 --- .../packages/perl-string-format/package.py | 8 --- .../packages/perl-string-numeric/package.py | 8 --- .../perl-string-rewriteprefix/package.py | 8 --- .../perl-term-ansicolor-markup/package.py | 8 --- .../packages/perl-term-table/package.py | 8 --- .../packages/perl-test-base/package.py | 8 --- .../packages/perl-test-class/package.py | 8 --- .../packages/perl-test-diaginc/package.py | 8 --- .../perl-test-file-contents/package.py | 8 --- .../perl-test-file-sharedir/package.py | 8 --- .../packages/perl-test-json/package.py | 8 --- .../packages/perl-test-longstring/package.py | 8 --- .../packages/perl-test-mockobject/package.py | 8 --- .../packages/perl-test-mocktime/package.py | 8 --- .../packages/perl-test-object/package.py | 8 --- .../packages/perl-test-output/package.py | 1 - .../packages/perl-test-perl-critic/package.py | 8 --- .../perl-test-pod-coverage/package.py | 8 --- .../builtin/packages/perl-test-pod/package.py | 8 --- .../packages/perl-test-sharedfork/package.py | 8 --- .../packages/perl-test-subcalls/package.py | 8 --- .../builtin/packages/perl-test-tcp/package.py | 8 --- .../packages/perl-test-time-hires/package.py | 8 --- .../packages/perl-test-time/package.py | 8 --- .../packages/perl-test-trap/package.py | 8 --- .../packages/perl-test-warn/package.py | 8 --- .../packages/perl-test-xml-simple/package.py | 8 --- .../builtin/packages/perl-test-xml/package.py | 8 --- .../packages/perl-test-xpath/package.py | 8 --- .../packages/perl-test-yaml/package.py | 8 --- .../perl-test2-plugin-nowarnings/package.py | 8 --- .../packages/perl-test2-suite/package.py | 8 --- .../packages/perl-text-csv-xs/package.py | 8 --- .../packages/perl-throwable/package.py | 8 --- .../packages/perl-tie-ixhash/package.py | 8 --- .../packages/perl-tie-toobject/package.py | 8 --- .../packages/perl-time-clock/package.py | 8 --- .../perl-time-duration-parse/package.py | 8 --- .../packages/perl-time-duration/package.py | 8 --- .../package.py | 8 --- .../packages/perl-tree-simple/package.py | 8 --- .../packages/perl-type-tiny/package.py | 8 --- .../packages/perl-types-serialiser/package.py | 8 --- .../packages/perl-universal-can/package.py | 8 --- .../packages/perl-universal-isa/package.py | 8 --- .../builtin/packages/perl-uri-find/package.py | 8 --- .../builtin/packages/perl-uri-ws/package.py | 8 --- .../builtin/packages/perl-uri/package.py | 2 + .../perl-www-form-urlencoded/package.py | 8 --- .../packages/perl-xml-hash-xs/package.py | 8 --- .../packages/perl-xml-semanticdiff/package.py | 8 --- .../packages/perl-xml-xpath/package.py | 8 --- .../packages/perl-yaml-syck/package.py | 8 --- 241 files changed, 128 insertions(+), 1882 deletions(-) diff --git a/lib/spack/docs/build_systems/perlpackage.rst b/lib/spack/docs/build_systems/perlpackage.rst index 49fb874525492f..fcfecf59f4e2f3 100644 --- a/lib/spack/docs/build_systems/perlpackage.rst +++ b/lib/spack/docs/build_systems/perlpackage.rst @@ -173,6 +173,72 @@ arguments to ``Makefile.PL`` or ``Build.PL`` by overriding ] +^^^^^^^ +Testing +^^^^^^^ + +``PerlPackage`` provides a simple stand-alone test of the successfully +installed package to confirm that installed perl module(s) can be used. +These tests can be performed any time after the installation using +``spack -v test run``. (For more information on the command, see +:ref:`cmd-spack-test-run`.) + +The base class automatically detects perl modules based on the presence +of ``*.pm`` files under the package's library directory. For example, +the files under ``perl-bignum``'s perl library are: + +.. code-block:: console + + $ find . -name "*.pm" + ./bigfloat.pm + ./bigrat.pm + ./Math/BigFloat/Trace.pm + ./Math/BigInt/Trace.pm + ./Math/BigRat/Trace.pm + ./bigint.pm + ./bignum.pm + + +which results in the package having the ``use_modules`` property containing: + +.. code-block:: python + + use_modules = [ + "bigfloat", + "bigrat", + "Math::BigFloat::Trace", + "Math::BigInt::Trace", + "Math::BigRat::Trace", + "bigint", + "bignum", + ] + +.. note:: + + This list can often be used to catch missing dependencies. + +If the list is somehow wrong, you can provide the names of the modules +yourself by overriding ``use_modules`` like so: + + .. code-block:: python + + use_modules = ["bigfloat", "bigrat", "bigint", "bignum"] + +If you only want a subset of the automatically detected modules to be +tested, you could instead define the ``skip_modules`` property on the +package. So, instead of overriding ``use_modules`` as shown above, you +could define the following: + + .. code-block:: python + + skip_modules = [ + "Math::BigFloat::Trace", + "Math::BigInt::Trace", + "Math::BigRat::Trace", + ] + +for the same use tests. + ^^^^^^^^^^^^^^^^^^^^^ Alternatives to Spack ^^^^^^^^^^^^^^^^^^^^^ diff --git a/lib/spack/spack/build_systems/perl.py b/lib/spack/spack/build_systems/perl.py index ff28bfe672a898..773a6a98e6c3b9 100644 --- a/lib/spack/spack/build_systems/perl.py +++ b/lib/spack/spack/build_systems/perl.py @@ -4,12 +4,15 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) import inspect import os +from typing import Iterable -from llnl.util.filesystem import filter_file +from llnl.util.filesystem import filter_file, find +from llnl.util.lang import memoized import spack.builder import spack.package_base from spack.directives import build_system, extends +from spack.install_test import SkipTest, test_part from spack.util.executable import Executable from ._checks import BaseBuilder, execute_build_time_tests @@ -28,6 +31,58 @@ class PerlPackage(spack.package_base.PackageBase): extends("perl", when="build_system=perl") + @property + @memoized + def _platform_dir(self): + """Name of platform-specific module subdirectory.""" + perl = self.spec["perl"].command + options = "-E", "use Config; say $Config{archname}" + out = perl(*options, output=str.split, error=str.split) + return out.strip() + + @property + def use_modules(self) -> Iterable[str]: + """Names of the package's perl modules.""" + module_files = find(self.prefix.lib, ["*.pm"], recursive=True) + + # Drop the platform directory, if present + if self._platform_dir: + platform_dir = self._platform_dir + os.sep + module_files = [m.replace(platform_dir, "") for m in module_files] + + # Drop the extension and library path + prefix = self.prefix.lib + os.sep + modules = [os.path.splitext(m)[0].replace(prefix, "") for m in module_files] + + # Drop the perl subdirectory as well + return ["::".join(m.split(os.sep)[1:]) for m in modules] + + @property + def skip_modules(self) -> Iterable[str]: + """Names of modules that should be skipped when running tests. + + These are a subset of use_modules. + + Returns: + List of strings of module names. + """ + return [] + + def test_use(self): + """Test 'use module'""" + if not self.use_modules: + raise SkipTest("Test requires use_modules package property.") + + perl = self.spec["perl"].command + for module in self.use_modules: + if module in self.skip_modules: + continue + + with test_part(self, f"test_use-{module}", purpose=f"checking use of {module}"): + options = ["-we", f'use strict; use {module}; print("OK\n")'] + out = perl(*options, output=str.split, error=str.split) + assert "OK" in out + @spack.builder.builder("perl") class PerlBuilder(BaseBuilder): @@ -52,7 +107,7 @@ class PerlBuilder(BaseBuilder): phases = ("configure", "build", "install") #: Names associated with package methods in the old build-system format - legacy_methods = ("configure_args", "check") + legacy_methods = ("configure_args", "check", "test_use") #: Names associated with package attributes in the old build-system format legacy_attributes = () diff --git a/lib/spack/spack/test/cmd/test.py b/lib/spack/spack/test/cmd/test.py index 3ed5077c7857b2..0dab4587394356 100644 --- a/lib/spack/spack/test/cmd/test.py +++ b/lib/spack/spack/test/cmd/test.py @@ -221,6 +221,7 @@ def test_test_list_all(mock_packages): [ "fail-test-audit", "mpich", + "perl-extension", "printing-package", "py-extension1", "py-extension2", diff --git a/var/spack/repos/builtin/packages/perl-algorithm-c3/package.py b/var/spack/repos/builtin/packages/perl-algorithm-c3/package.py index 71a5886e6819dc..bb97eda68e1a7d 100644 --- a/var/spack/repos/builtin/packages/perl-algorithm-c3/package.py +++ b/var/spack/repos/builtin/packages/perl-algorithm-c3/package.py @@ -19,11 +19,3 @@ class PerlAlgorithmC3(PerlPackage): version("0.11", sha256="aaf48467765deea6e48054bc7d43e46e4d40cbcda16552c629d37be098289309") depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Algorithm::C3; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-alien-build-plugin-download-gitlab/package.py b/var/spack/repos/builtin/packages/perl-alien-build-plugin-download-gitlab/package.py index dc33076ab81703..6e55dc7925358c 100644 --- a/var/spack/repos/builtin/packages/perl-alien-build-plugin-download-gitlab/package.py +++ b/var/spack/repos/builtin/packages/perl-alien-build-plugin-download-gitlab/package.py @@ -21,11 +21,3 @@ class PerlAlienBuildPluginDownloadGitlab(PerlPackage): depends_on("perl-path-tiny", type=("build", "run", "test")) depends_on("perl-test2-suite", type=("build", "test")) depends_on("perl-uri", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Alien::Build::Plugin::Download::GitLab; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-any-uri-escape/package.py b/var/spack/repos/builtin/packages/perl-any-uri-escape/package.py index 2ddeca34d428bd..3ed903a2768434 100644 --- a/var/spack/repos/builtin/packages/perl-any-uri-escape/package.py +++ b/var/spack/repos/builtin/packages/perl-any-uri-escape/package.py @@ -17,11 +17,3 @@ class PerlAnyUriEscape(PerlPackage): version("0.01", sha256="e3813cec9f108fa5c0be66e08c1986bfba4d242151b0f9f4ec5e0c5e17108c4c") depends_on("perl-uri", type=("run")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Any::URI::Escape; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-apache-logformat-compiler/package.py b/var/spack/repos/builtin/packages/perl-apache-logformat-compiler/package.py index 5b8cb0c0fd69dd..9b9fad0eae0a0a 100644 --- a/var/spack/repos/builtin/packages/perl-apache-logformat-compiler/package.py +++ b/var/spack/repos/builtin/packages/perl-apache-logformat-compiler/package.py @@ -28,11 +28,3 @@ class PerlApacheLogformatCompiler(PerlPackage): depends_on("perl-test-requires", type=("build", "test")) depends_on("perl-try-tiny@0.12:", type=("build", "test")) depends_on("perl-uri", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Apache::LogFormat::Compiler; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-b-cow/package.py b/var/spack/repos/builtin/packages/perl-b-cow/package.py index 97b1d8ddf22a3f..869dc6fc54ede8 100644 --- a/var/spack/repos/builtin/packages/perl-b-cow/package.py +++ b/var/spack/repos/builtin/packages/perl-b-cow/package.py @@ -19,11 +19,3 @@ class PerlBCow(PerlPackage): version("0.007", sha256="1290daf227e8b09889a31cf182e29106f1cf9f1a4e9bf7752f9de92ed1158b44") depends_on("perl@5.8.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use B::COW; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-b-hooks-endofscope/package.py b/var/spack/repos/builtin/packages/perl-b-hooks-endofscope/package.py index 901ef364e4f5ad..20de5531ecf379 100644 --- a/var/spack/repos/builtin/packages/perl-b-hooks-endofscope/package.py +++ b/var/spack/repos/builtin/packages/perl-b-hooks-endofscope/package.py @@ -22,11 +22,3 @@ class PerlBHooksEndofscope(PerlPackage): depends_on("perl@5.6.1:", type=("build", "link", "run", "test")) depends_on("perl-module-implementation@0.05:", type=("build", "run", "test")) depends_on("perl-sub-exporter-progressive@0.001006:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use B::Hooks::EndOfScope; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-b-keywords/package.py b/var/spack/repos/builtin/packages/perl-b-keywords/package.py index 6259045a9c3b3f..528d7dfd80547a 100644 --- a/var/spack/repos/builtin/packages/perl-b-keywords/package.py +++ b/var/spack/repos/builtin/packages/perl-b-keywords/package.py @@ -15,11 +15,3 @@ class PerlBKeywords(PerlPackage): maintainers("EbiArnie") version("1.26", sha256="2daa155d2f267fb0dedd87f8a4c4fb5663879fc106517b1ee258353ef87aed34") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use B::Keywords; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-bio-asn1-entrezgene/package.py b/var/spack/repos/builtin/packages/perl-bio-asn1-entrezgene/package.py index 1e7d80deb3898d..b5793ec33a9aa1 100644 --- a/var/spack/repos/builtin/packages/perl-bio-asn1-entrezgene/package.py +++ b/var/spack/repos/builtin/packages/perl-bio-asn1-entrezgene/package.py @@ -21,11 +21,3 @@ class PerlBioAsn1Entrezgene(PerlPackage): depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) depends_on("perl-bio-cluster", type=("build", "run", "test")) depends_on("perl-bioperl", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Bio::ASN1::EntrezGene; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-bio-cluster/package.py b/var/spack/repos/builtin/packages/perl-bio-cluster/package.py index b250c456ffcc33..ccc8a4f21b4eda 100644 --- a/var/spack/repos/builtin/packages/perl-bio-cluster/package.py +++ b/var/spack/repos/builtin/packages/perl-bio-cluster/package.py @@ -22,11 +22,3 @@ class PerlBioCluster(PerlPackage): depends_on("perl-bio-variation", type=("build", "run", "test")) depends_on("perl-bioperl", type=("build", "run", "test")) depends_on("perl-xml-sax", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Bio::Cluster; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-bio-eutilities/package.py b/var/spack/repos/builtin/packages/perl-bio-eutilities/package.py index 7bc69fbd895a08..eeebe5a2d0ac49 100644 --- a/var/spack/repos/builtin/packages/perl-bio-eutilities/package.py +++ b/var/spack/repos/builtin/packages/perl-bio-eutilities/package.py @@ -26,11 +26,3 @@ class PerlBioEutilities(PerlPackage): depends_on("perl-text-csv", type=("build", "run", "test")) depends_on("perl-uri", type=("build", "run", "test")) depends_on("perl-xml-simple", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Bio::DB::EUtilities; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-bio-variation/package.py b/var/spack/repos/builtin/packages/perl-bio-variation/package.py index fce2b507d16988..2ab5b421ced757 100644 --- a/var/spack/repos/builtin/packages/perl-bio-variation/package.py +++ b/var/spack/repos/builtin/packages/perl-bio-variation/package.py @@ -23,11 +23,3 @@ class PerlBioVariation(PerlPackage): depends_on("perl-io-string", type=("build", "run", "test")) depends_on("perl-xml-twig", type=("build", "run", "test")) depends_on("perl-xml-writer@0.4:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Bio::Variation; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-bsd-resource/package.py b/var/spack/repos/builtin/packages/perl-bsd-resource/package.py index d92f7e7a0b0eff..b1c384c7b5d985 100644 --- a/var/spack/repos/builtin/packages/perl-bsd-resource/package.py +++ b/var/spack/repos/builtin/packages/perl-bsd-resource/package.py @@ -15,11 +15,3 @@ class PerlBsdResource(PerlPackage): maintainers("EbiArnie") version("1.2911", sha256="9d1cfba063cc18f72427a22451f7908836b7331ac8785dbe07553c5b043a0c3d") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use BSD::Resource; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-cache-cache/package.py b/var/spack/repos/builtin/packages/perl-cache-cache/package.py index c982e20acee73c..c3de29457055b9 100644 --- a/var/spack/repos/builtin/packages/perl-cache-cache/package.py +++ b/var/spack/repos/builtin/packages/perl-cache-cache/package.py @@ -21,11 +21,3 @@ class PerlCacheCache(PerlPackage): depends_on("perl-digest-sha1@2.02:", type=("build", "run", "test")) depends_on("perl-error@0.15:", type=("build", "run", "test")) depends_on("perl-ipc-sharelite@0.09:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Cache::Cache; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-cache-memcached/package.py b/var/spack/repos/builtin/packages/perl-cache-memcached/package.py index 273b74a7bef595..6a3c4f473e561e 100644 --- a/var/spack/repos/builtin/packages/perl-cache-memcached/package.py +++ b/var/spack/repos/builtin/packages/perl-cache-memcached/package.py @@ -17,11 +17,3 @@ class PerlCacheMemcached(PerlPackage): version("1.30", sha256="31b3c51ec0eaaf03002e2cc8e3d7d5cbe61919cfdada61c008eb9853acac42a9") depends_on("perl-string-crc32", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Cache::Memcached; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-canary-stability/package.py b/var/spack/repos/builtin/packages/perl-canary-stability/package.py index 77d0cd4e54d02f..be17d1e21b7d6e 100644 --- a/var/spack/repos/builtin/packages/perl-canary-stability/package.py +++ b/var/spack/repos/builtin/packages/perl-canary-stability/package.py @@ -15,11 +15,3 @@ class PerlCanaryStability(PerlPackage): maintainers("EbiArnie") version("2013", sha256="a5c91c62cf95fcb868f60eab5c832908f6905221013fea2bce3ff57046d7b6ea") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Canary::Stability; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-catalyst-action-renderview/package.py b/var/spack/repos/builtin/packages/perl-catalyst-action-renderview/package.py index fa7148601c28a1..878a3de6b24e03 100644 --- a/var/spack/repos/builtin/packages/perl-catalyst-action-renderview/package.py +++ b/var/spack/repos/builtin/packages/perl-catalyst-action-renderview/package.py @@ -24,11 +24,3 @@ class PerlCatalystActionRenderview(PerlPackage): depends_on("perl-data-visitor@0.24:", type=("build", "run", "test")) depends_on("perl-http-request-ascgi", type=("build", "link")) depends_on("perl-mro-compat", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Catalyst::Action::RenderView; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-catalyst-action-rest/package.py b/var/spack/repos/builtin/packages/perl-catalyst-action-rest/package.py index 173d7cf0b1a94b..b6937ca986754c 100644 --- a/var/spack/repos/builtin/packages/perl-catalyst-action-rest/package.py +++ b/var/spack/repos/builtin/packages/perl-catalyst-action-rest/package.py @@ -29,11 +29,3 @@ class PerlCatalystActionRest(PerlPackage): depends_on("perl-params-validate@0.76:", type=("build", "run", "test")) depends_on("perl-test-requires", type=("build", "test")) depends_on("perl-uri-find", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Catalyst::Action::REST; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-catalyst-component-instancepercontext/package.py b/var/spack/repos/builtin/packages/perl-catalyst-component-instancepercontext/package.py index e35e823cbb42fa..272f37942e2a69 100644 --- a/var/spack/repos/builtin/packages/perl-catalyst-component-instancepercontext/package.py +++ b/var/spack/repos/builtin/packages/perl-catalyst-component-instancepercontext/package.py @@ -20,11 +20,3 @@ class PerlCatalystComponentInstancepercontext(PerlPackage): depends_on("perl-catalyst-runtime", type=("build", "run", "test")) depends_on("perl-moose", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Catalyst::Component::InstancePerContext; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-catalyst-devel/package.py b/var/spack/repos/builtin/packages/perl-catalyst-devel/package.py index 0d094387cfd3b4..376a7af2a89fe5 100644 --- a/var/spack/repos/builtin/packages/perl-catalyst-devel/package.py +++ b/var/spack/repos/builtin/packages/perl-catalyst-devel/package.py @@ -36,11 +36,3 @@ class PerlCatalystDevel(PerlPackage): depends_on("perl-template-toolkit", type=("build", "run", "test")) depends_on("perl-test-fatal@0.003:", type=("build", "test")) depends_on("perl-yaml-tiny", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Catalyst::Devel; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-catalyst-plugin-cache/package.py b/var/spack/repos/builtin/packages/perl-catalyst-plugin-cache/package.py index 2786963aa14cac..8d524524cb3d95 100644 --- a/var/spack/repos/builtin/packages/perl-catalyst-plugin-cache/package.py +++ b/var/spack/repos/builtin/packages/perl-catalyst-plugin-cache/package.py @@ -24,11 +24,3 @@ class PerlCatalystPluginCache(PerlPackage): depends_on("perl-test-deep", type=("build", "link")) depends_on("perl-test-exception", type=("build", "link")) depends_on("perl-class-accessor", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Catalyst::Plugin::Cache; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-catalyst-plugin-configloader/package.py b/var/spack/repos/builtin/packages/perl-catalyst-plugin-configloader/package.py index 42f77452a95992..9f0329241846c8 100644 --- a/var/spack/repos/builtin/packages/perl-catalyst-plugin-configloader/package.py +++ b/var/spack/repos/builtin/packages/perl-catalyst-plugin-configloader/package.py @@ -24,11 +24,3 @@ class PerlCatalystPluginConfigloader(PerlPackage): depends_on("perl-config-any@0.20:", type=("build", "run", "test")) depends_on("perl-data-visitor@0.24:", type=("build", "run", "test")) depends_on("perl-mro-compat@0.09:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Catalyst::Plugin::ConfigLoader; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-catalyst-plugin-static-simple/package.py b/var/spack/repos/builtin/packages/perl-catalyst-plugin-static-simple/package.py index 6792540f734fc2..4325cf3e21062a 100644 --- a/var/spack/repos/builtin/packages/perl-catalyst-plugin-static-simple/package.py +++ b/var/spack/repos/builtin/packages/perl-catalyst-plugin-static-simple/package.py @@ -22,11 +22,3 @@ class PerlCatalystPluginStaticSimple(PerlPackage): depends_on("perl-mime-types@2.03:", type=("build", "run", "test")) depends_on("perl-moose", type=("build", "run", "test")) depends_on("perl-namespace-autoclean", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Catalyst::Plugin::Static::Simple; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-catalyst-runtime/package.py b/var/spack/repos/builtin/packages/perl-catalyst-runtime/package.py index 0544179465dbba..3736b5ed817da0 100644 --- a/var/spack/repos/builtin/packages/perl-catalyst-runtime/package.py +++ b/var/spack/repos/builtin/packages/perl-catalyst-runtime/package.py @@ -60,11 +60,3 @@ class PerlCatalystRuntime(PerlPackage): depends_on("perl-try-tiny@0.17:", type=("build", "run", "test")) depends_on("perl-uri@1.65:", type=("build", "run", "test")) depends_on("perl-uri-ws@0.03:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Catalyst::Test; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-catalyst-view-json/package.py b/var/spack/repos/builtin/packages/perl-catalyst-view-json/package.py index a435d88b218b75..83b53d94162ec2 100644 --- a/var/spack/repos/builtin/packages/perl-catalyst-view-json/package.py +++ b/var/spack/repos/builtin/packages/perl-catalyst-view-json/package.py @@ -21,11 +21,3 @@ class PerlCatalystViewJson(PerlPackage): depends_on("perl-catalyst-runtime", type=("build", "run", "test")) depends_on("perl-json-maybexs@1.003000:", type=("build", "run", "test")) depends_on("perl-mro-compat", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Catalyst::View::JSON; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-cgi-simple/package.py b/var/spack/repos/builtin/packages/perl-cgi-simple/package.py index 77cf9adbab722c..66721af26ce2c1 100644 --- a/var/spack/repos/builtin/packages/perl-cgi-simple/package.py +++ b/var/spack/repos/builtin/packages/perl-cgi-simple/package.py @@ -20,11 +20,3 @@ class PerlCgiSimple(PerlPackage): depends_on("perl-test-exception", type=("build", "test")) depends_on("perl-test-nowarnings", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use CGI::Simple; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-cgi-struct/package.py b/var/spack/repos/builtin/packages/perl-cgi-struct/package.py index a20bbf61c844f7..4ce07e2ae11825 100644 --- a/var/spack/repos/builtin/packages/perl-cgi-struct/package.py +++ b/var/spack/repos/builtin/packages/perl-cgi-struct/package.py @@ -19,11 +19,3 @@ class PerlCgiStruct(PerlPackage): version("1.21", sha256="d13d8da7fdcd6d906054e4760fc28a718aec91bd3cf067a58927fb7cb1c09d6c") depends_on("perl-test-deep", type=("build", "link")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use CGI::Struct; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-chart-gnuplot/package.py b/var/spack/repos/builtin/packages/perl-chart-gnuplot/package.py index 5ca4bd1e4dff9a..29757e90bf1e54 100644 --- a/var/spack/repos/builtin/packages/perl-chart-gnuplot/package.py +++ b/var/spack/repos/builtin/packages/perl-chart-gnuplot/package.py @@ -17,11 +17,3 @@ class PerlChartGnuplot(PerlPackage): license("Artistic-1.0-Perl OR GPL-1.0-or-later") version("0.23", sha256="dcb46c0f93436464bdc3403469c828c6c33e954123a2adf4092fbb30bb244b6c") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Chart::Gnuplot; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-chi-driver-memcached/package.py b/var/spack/repos/builtin/packages/perl-chi-driver-memcached/package.py index 374621f23b8b57..c256afb22bb8e2 100644 --- a/var/spack/repos/builtin/packages/perl-chi-driver-memcached/package.py +++ b/var/spack/repos/builtin/packages/perl-chi-driver-memcached/package.py @@ -21,11 +21,3 @@ class PerlChiDriverMemcached(PerlPackage): depends_on("perl-chi@0.33:", type=("build", "run", "test")) depends_on("perl-moose@0.66:", type=("build", "run", "test")) depends_on("perl-test-class", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use CHI::Driver::Memcached; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-chi/package.py b/var/spack/repos/builtin/packages/perl-chi/package.py index d483a4106b0f82..1bebe79f9465dc 100644 --- a/var/spack/repos/builtin/packages/perl-chi/package.py +++ b/var/spack/repos/builtin/packages/perl-chi/package.py @@ -41,11 +41,3 @@ class PerlChi(PerlPackage): depends_on("perl-time-duration-parse@0.03:", type=("build", "run", "test")) depends_on("perl-timedate", type=("build", "run", "test")) depends_on("perl-try-tiny@0.05:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use CHI; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-class-accessor-grouped/package.py b/var/spack/repos/builtin/packages/perl-class-accessor-grouped/package.py index d207f317f88a66..d2cc5d6ff924e6 100644 --- a/var/spack/repos/builtin/packages/perl-class-accessor-grouped/package.py +++ b/var/spack/repos/builtin/packages/perl-class-accessor-grouped/package.py @@ -21,11 +21,3 @@ class PerlClassAccessorGrouped(PerlPackage): depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) depends_on("perl-module-runtime@0.012:", type=("build", "run", "test")) depends_on("perl-test-exception@0.31:", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Class::Accessor::Grouped; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-class-accessor-lvalue/package.py b/var/spack/repos/builtin/packages/perl-class-accessor-lvalue/package.py index ce13db422ec7df..997dc308870466 100644 --- a/var/spack/repos/builtin/packages/perl-class-accessor-lvalue/package.py +++ b/var/spack/repos/builtin/packages/perl-class-accessor-lvalue/package.py @@ -20,11 +20,3 @@ class PerlClassAccessorLvalue(PerlPackage): depends_on("perl-class-accessor", type=("build", "run", "test")) depends_on("perl-want", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Class::Accessor::Lvalue; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-class-accessor/package.py b/var/spack/repos/builtin/packages/perl-class-accessor/package.py index 3b97b137c75f09..2a9ff0a993a43e 100644 --- a/var/spack/repos/builtin/packages/perl-class-accessor/package.py +++ b/var/spack/repos/builtin/packages/perl-class-accessor/package.py @@ -15,11 +15,3 @@ class PerlClassAccessor(PerlPackage): maintainers("EbiArnie") version("0.51", sha256="bf12a3e5de5a2c6e8a447b364f4f5a050bf74624c56e315022ae7992ff2f411c") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Class::Accessor; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-class-c3-adopt-next/package.py b/var/spack/repos/builtin/packages/perl-class-c3-adopt-next/package.py index 4e7fca45a981db..47609d56e47b1d 100644 --- a/var/spack/repos/builtin/packages/perl-class-c3-adopt-next/package.py +++ b/var/spack/repos/builtin/packages/perl-class-c3-adopt-next/package.py @@ -22,11 +22,3 @@ class PerlClassC3AdoptNext(PerlPackage): depends_on("perl-module-build-tiny@0.039:", type=("build")) depends_on("perl-mro-compat", type=("build", "run", "test")) depends_on("perl-test-exception@0.27:", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Class::C3::Adopt::NEXT; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-class-c3-componentised/package.py b/var/spack/repos/builtin/packages/perl-class-c3-componentised/package.py index 87031ad51201fd..0f7f9a73e0c301 100644 --- a/var/spack/repos/builtin/packages/perl-class-c3-componentised/package.py +++ b/var/spack/repos/builtin/packages/perl-class-c3-componentised/package.py @@ -23,11 +23,3 @@ class PerlClassC3Componentised(PerlPackage): depends_on("perl-class-inspector@1.32:", type=("build", "run", "test")) depends_on("perl-mro-compat@0.09:", type=("build", "run", "test")) depends_on("perl-test-exception@0.31:", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Class::C3::Componentised; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-class-c3/package.py b/var/spack/repos/builtin/packages/perl-class-c3/package.py index 5523d12f23702d..96e26d7c386863 100644 --- a/var/spack/repos/builtin/packages/perl-class-c3/package.py +++ b/var/spack/repos/builtin/packages/perl-class-c3/package.py @@ -20,11 +20,3 @@ class PerlClassC3(PerlPackage): depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) depends_on("perl-algorithm-c3@0.07:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Class::C3; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-class-singleton/package.py b/var/spack/repos/builtin/packages/perl-class-singleton/package.py index 3e97feec1ac690..7cac1f7668bd84 100644 --- a/var/spack/repos/builtin/packages/perl-class-singleton/package.py +++ b/var/spack/repos/builtin/packages/perl-class-singleton/package.py @@ -19,11 +19,3 @@ class PerlClassSingleton(PerlPackage): version("1.6", sha256="27ba13f0d9512929166bbd8c9ef95d90d630fc80f0c9a1b7458891055e9282a4") depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Class::Singleton; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-clone-pp/package.py b/var/spack/repos/builtin/packages/perl-clone-pp/package.py index b6ea95ea9ec200..65318674fc6e46 100644 --- a/var/spack/repos/builtin/packages/perl-clone-pp/package.py +++ b/var/spack/repos/builtin/packages/perl-clone-pp/package.py @@ -19,11 +19,3 @@ class PerlClonePp(PerlPackage): version("1.08", sha256="57203094a5d8574b6a00951e8f2399b666f4e74f9511d9c9fb5b453d5d11f578") depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Clone::PP; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-common-sense/package.py b/var/spack/repos/builtin/packages/perl-common-sense/package.py index fe1b4421ba00a1..7a598ff5337bb6 100644 --- a/var/spack/repos/builtin/packages/perl-common-sense/package.py +++ b/var/spack/repos/builtin/packages/perl-common-sense/package.py @@ -17,11 +17,3 @@ class PerlCommonSense(PerlPackage): license("GPL-1.0-or-later OR Artistic-1.0-Perl") version("3.75", sha256="a86a1c4ca4f3006d7479064425a09fa5b6689e57261fcb994fe67d061cba0e7e") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use common::sense; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-compress-lzo/package.py b/var/spack/repos/builtin/packages/perl-compress-lzo/package.py index 53d8971eb42fcf..08154eb0e83d31 100644 --- a/var/spack/repos/builtin/packages/perl-compress-lzo/package.py +++ b/var/spack/repos/builtin/packages/perl-compress-lzo/package.py @@ -19,11 +19,3 @@ class PerlCompressLzo(PerlPackage): depends_on("perl@5.4.0:", type=("build", "link", "run", "test")) depends_on("perl-devel-checklib@0.9:", type=("build")) depends_on("lzo", type=("build", "link", "run")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Compress::LZO; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-config-any/package.py b/var/spack/repos/builtin/packages/perl-config-any/package.py index 8cdb4a290e45a7..556c1c92e92310 100644 --- a/var/spack/repos/builtin/packages/perl-config-any/package.py +++ b/var/spack/repos/builtin/packages/perl-config-any/package.py @@ -19,11 +19,3 @@ class PerlConfigAny(PerlPackage): version("0.33", sha256="c0668eb5f2cd355bf20557f04dc18a25474b7a0bcfa79562e3165d9a3c789333") depends_on("perl-module-pluggable", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Config::Any; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-config-inifiles/package.py b/var/spack/repos/builtin/packages/perl-config-inifiles/package.py index 44e5237b7be233..11b749914d4789 100644 --- a/var/spack/repos/builtin/packages/perl-config-inifiles/package.py +++ b/var/spack/repos/builtin/packages/perl-config-inifiles/package.py @@ -20,11 +20,3 @@ class PerlConfigInifiles(PerlPackage): depends_on("perl@5.8.0:", type=("build", "link", "run", "test")) depends_on("perl-io-stringy", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Config::IniFiles; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-config-tiny/package.py b/var/spack/repos/builtin/packages/perl-config-tiny/package.py index 3db76176c13119..44bb6ef7f36d03 100644 --- a/var/spack/repos/builtin/packages/perl-config-tiny/package.py +++ b/var/spack/repos/builtin/packages/perl-config-tiny/package.py @@ -19,11 +19,3 @@ class PerlConfigTiny(PerlPackage): version("2.30", sha256="b2f7345619b3b8e636dd39ea010731c9dc2bfb8f022bcbd86ae6ad17866e110d") depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Config::Tiny; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-context-preserve/package.py b/var/spack/repos/builtin/packages/perl-context-preserve/package.py index e49409b4453265..d7ff3d21d001d2 100644 --- a/var/spack/repos/builtin/packages/perl-context-preserve/package.py +++ b/var/spack/repos/builtin/packages/perl-context-preserve/package.py @@ -21,11 +21,3 @@ class PerlContextPreserve(PerlPackage): depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) depends_on("perl-test-exception", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Context::Preserve; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-convert-nls-date-format/package.py b/var/spack/repos/builtin/packages/perl-convert-nls-date-format/package.py index 7b9f39f2340d25..d593842fe81164 100644 --- a/var/spack/repos/builtin/packages/perl-convert-nls-date-format/package.py +++ b/var/spack/repos/builtin/packages/perl-convert-nls-date-format/package.py @@ -18,11 +18,3 @@ class PerlConvertNlsDateFormat(PerlPackage): depends_on("perl@5.6.1:", type=("build", "link", "run", "test")) depends_on("perl-module-build-tiny@0.035:", type=("build")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Convert::NLS_DATE_FORMAT; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-cookie-baker/package.py b/var/spack/repos/builtin/packages/perl-cookie-baker/package.py index b538c873056021..b7c69e8f4f13cd 100644 --- a/var/spack/repos/builtin/packages/perl-cookie-baker/package.py +++ b/var/spack/repos/builtin/packages/perl-cookie-baker/package.py @@ -22,11 +22,3 @@ class PerlCookieBaker(PerlPackage): depends_on("perl-module-build-tiny@0.035:", type=("build")) depends_on("perl-test-time", type=("build", "test")) depends_on("perl-uri", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Cookie::Baker; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-cpanel-json-xs/package.py b/var/spack/repos/builtin/packages/perl-cpanel-json-xs/package.py index 0cf27cd8de15ee..c9249899d7774c 100644 --- a/var/spack/repos/builtin/packages/perl-cpanel-json-xs/package.py +++ b/var/spack/repos/builtin/packages/perl-cpanel-json-xs/package.py @@ -17,11 +17,3 @@ class PerlCpanelJsonXs(PerlPackage): license("GPL-1.0-or-later OR Artistic-1.0-Perl") version("4.37", sha256="c241615a0e17ff745aaa86bbf466a6e29cd240515e65f06a7a05017b619e6d4b") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Cpanel::JSON::XS; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-css-minifier-xs/package.py b/var/spack/repos/builtin/packages/perl-css-minifier-xs/package.py index 454da1568d43ad..c01e5b4d87a987 100644 --- a/var/spack/repos/builtin/packages/perl-css-minifier-xs/package.py +++ b/var/spack/repos/builtin/packages/perl-css-minifier-xs/package.py @@ -20,11 +20,3 @@ class PerlCssMinifierXs(PerlPackage): depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) depends_on("perl-test-diaginc@0.002:", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use CSS::Minifier::XS; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-data-dump/package.py b/var/spack/repos/builtin/packages/perl-data-dump/package.py index 1759c7055610e8..5597544a145143 100644 --- a/var/spack/repos/builtin/packages/perl-data-dump/package.py +++ b/var/spack/repos/builtin/packages/perl-data-dump/package.py @@ -19,11 +19,3 @@ class PerlDataDump(PerlPackage): version("1.25", sha256="a4aa6e0ddbf39d5ad49bddfe0f89d9da864e3bc00f627125d1bc580472f53fbd") depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Data::Dump; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-data-dumper-concise/package.py b/var/spack/repos/builtin/packages/perl-data-dumper-concise/package.py index fd09a09e399f14..1424582e2739f3 100644 --- a/var/spack/repos/builtin/packages/perl-data-dumper-concise/package.py +++ b/var/spack/repos/builtin/packages/perl-data-dumper-concise/package.py @@ -19,11 +19,3 @@ class PerlDataDumperConcise(PerlPackage): version("2.023", sha256="a6c22f113caf31137590def1b7028a7e718eface3228272d0672c25e035d5853") depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Data::Dumper::Concise; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-data-predicate/package.py b/var/spack/repos/builtin/packages/perl-data-predicate/package.py index 93df54b2900151..bd148a9ed88c68 100644 --- a/var/spack/repos/builtin/packages/perl-data-predicate/package.py +++ b/var/spack/repos/builtin/packages/perl-data-predicate/package.py @@ -18,11 +18,3 @@ class PerlDataPredicate(PerlPackage): depends_on("perl-test-exception", type=("build", "test")) depends_on("perl-readonly", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Data::Predicate; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-data-uuid/package.py b/var/spack/repos/builtin/packages/perl-data-uuid/package.py index be8cbb520c1e9d..b1161b51d6bac4 100644 --- a/var/spack/repos/builtin/packages/perl-data-uuid/package.py +++ b/var/spack/repos/builtin/packages/perl-data-uuid/package.py @@ -17,11 +17,3 @@ class PerlDataUuid(PerlPackage): license("BSD") version("1.226", sha256="093d57ffa0d411a94bafafae495697db26f5c9d0277198fe3f7cf2be22996453") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Data::UUID; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-data-visitor/package.py b/var/spack/repos/builtin/packages/perl-data-visitor/package.py index efb454dc4f537a..8f9be9d64f43d5 100644 --- a/var/spack/repos/builtin/packages/perl-data-visitor/package.py +++ b/var/spack/repos/builtin/packages/perl-data-visitor/package.py @@ -23,11 +23,3 @@ class PerlDataVisitor(PerlPackage): depends_on("perl-namespace-clean@0.19:", type=("build", "run", "test")) depends_on("perl-test-needs", type=("build", "test")) depends_on("perl-tie-toobject@0.01:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Data::Visitor; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-date-exception/package.py b/var/spack/repos/builtin/packages/perl-date-exception/package.py index bcf20645deb3ea..82d51bed843509 100644 --- a/var/spack/repos/builtin/packages/perl-date-exception/package.py +++ b/var/spack/repos/builtin/packages/perl-date-exception/package.py @@ -22,11 +22,3 @@ class PerlDateException(PerlPackage): depends_on("perl-moo@2.000000:", type=("build", "run", "test")) depends_on("perl-namespace-autoclean@0.28:", type=("build", "run", "test")) depends_on("perl-throwable@0.200011:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Date::Exception; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-date-utils/package.py b/var/spack/repos/builtin/packages/perl-date-utils/package.py index 776ff3cf513c81..3023284c55f6e2 100644 --- a/var/spack/repos/builtin/packages/perl-date-utils/package.py +++ b/var/spack/repos/builtin/packages/perl-date-utils/package.py @@ -23,11 +23,3 @@ class PerlDateUtils(PerlPackage): depends_on("perl-moo", type=("build", "run", "test")) depends_on("perl-namespace-autoclean@0.28:", type=("build", "run", "test")) depends_on("perl-term-ansicolor-markup@0.06:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Date::Utils; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-datetime-format-builder/package.py b/var/spack/repos/builtin/packages/perl-datetime-format-builder/package.py index cd23d333f8e334..21139d10f9b92e 100644 --- a/var/spack/repos/builtin/packages/perl-datetime-format-builder/package.py +++ b/var/spack/repos/builtin/packages/perl-datetime-format-builder/package.py @@ -21,11 +21,3 @@ class PerlDatetimeFormatBuilder(PerlPackage): depends_on("perl-datetime@1.00:", type=("build", "run", "test")) depends_on("perl-datetime-format-strptime@1.04:", type=("build", "run", "test")) depends_on("perl-params-validate@0.72:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use DateTime::Format::Builder; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-datetime-format-iso8601/package.py b/var/spack/repos/builtin/packages/perl-datetime-format-iso8601/package.py index b816d6e01ed4ba..4094e9d7cfe00e 100644 --- a/var/spack/repos/builtin/packages/perl-datetime-format-iso8601/package.py +++ b/var/spack/repos/builtin/packages/perl-datetime-format-iso8601/package.py @@ -24,11 +24,3 @@ class PerlDatetimeFormatIso8601(PerlPackage): depends_on("perl-params-validationcompiler@0.26:", type=("build", "run", "test")) depends_on("perl-specio@0.18:", type=("build", "run", "test")) depends_on("perl-test2-suite", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use DateTime::Format::ISO8601; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-datetime-format-mysql/package.py b/var/spack/repos/builtin/packages/perl-datetime-format-mysql/package.py index ad3537988688e2..991d05da285553 100644 --- a/var/spack/repos/builtin/packages/perl-datetime-format-mysql/package.py +++ b/var/spack/repos/builtin/packages/perl-datetime-format-mysql/package.py @@ -20,11 +20,3 @@ class PerlDatetimeFormatMysql(PerlPackage): depends_on("perl-datetime", type=("build", "run", "test")) depends_on("perl-datetime-format-builder@0.6:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use DateTime::Format::MySQL; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-datetime-format-oracle/package.py b/var/spack/repos/builtin/packages/perl-datetime-format-oracle/package.py index 89e0adf99becbc..61608a8139951a 100644 --- a/var/spack/repos/builtin/packages/perl-datetime-format-oracle/package.py +++ b/var/spack/repos/builtin/packages/perl-datetime-format-oracle/package.py @@ -21,11 +21,3 @@ class PerlDatetimeFormatOracle(PerlPackage): depends_on("perl-convert-nls-date-format@0.03:", type=("build", "run", "test")) depends_on("perl-datetime", type=("build", "run", "test")) depends_on("perl-datetime-format-builder", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use DateTime::Format::Oracle; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-datetime-format-pg/package.py b/var/spack/repos/builtin/packages/perl-datetime-format-pg/package.py index 533656297c1ca5..4725928c75b0e9 100644 --- a/var/spack/repos/builtin/packages/perl-datetime-format-pg/package.py +++ b/var/spack/repos/builtin/packages/perl-datetime-format-pg/package.py @@ -22,11 +22,3 @@ class PerlDatetimeFormatPg(PerlPackage): depends_on("perl-datetime-format-builder@0.72:", type=("build", "run", "test")) depends_on("perl-datetime-timezone@0.05:", type=("build", "run", "test")) depends_on("perl-module-build-tiny@0.035:", type=("build")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use DateTime::Format::Pg; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-datetime-format-strptime/package.py b/var/spack/repos/builtin/packages/perl-datetime-format-strptime/package.py index 91a285fa35f1f7..80485a3f8d1402 100644 --- a/var/spack/repos/builtin/packages/perl-datetime-format-strptime/package.py +++ b/var/spack/repos/builtin/packages/perl-datetime-format-strptime/package.py @@ -26,11 +26,3 @@ class PerlDatetimeFormatStrptime(PerlPackage): depends_on("perl-test-fatal", type=("build", "test")) depends_on("perl-test-warnings", type=("build", "test")) depends_on("perl-try-tiny", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use DateTime::Format::Strptime; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-datetime-locale/package.py b/var/spack/repos/builtin/packages/perl-datetime-locale/package.py index 92f6480d0fba6c..224e1736395949 100644 --- a/var/spack/repos/builtin/packages/perl-datetime-locale/package.py +++ b/var/spack/repos/builtin/packages/perl-datetime-locale/package.py @@ -31,11 +31,3 @@ class PerlDatetimeLocale(PerlPackage): depends_on("perl-test-file-sharedir", type=("build", "test")) depends_on("perl-test2-plugin-nowarnings", type=("build", "test")) depends_on("perl-test2-suite", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use DateTime::Locale; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-datetime-timezone/package.py b/var/spack/repos/builtin/packages/perl-datetime-timezone/package.py index 6ff3a78233dec6..84076555fd6c66 100644 --- a/var/spack/repos/builtin/packages/perl-datetime-timezone/package.py +++ b/var/spack/repos/builtin/packages/perl-datetime-timezone/package.py @@ -27,11 +27,3 @@ class PerlDatetimeTimezone(PerlPackage): depends_on("perl-test-fatal", type=("build", "test")) depends_on("perl-test-requires", type=("build", "test")) depends_on("perl-try-tiny", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use DateTime::TimeZone; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-datetime/package.py b/var/spack/repos/builtin/packages/perl-datetime/package.py index 80179454845d11..4ea80f083358cf 100644 --- a/var/spack/repos/builtin/packages/perl-datetime/package.py +++ b/var/spack/repos/builtin/packages/perl-datetime/package.py @@ -35,11 +35,3 @@ class PerlDatetime(PerlPackage): depends_on("perl-test-warnings@0.005:", type=("build", "test")) depends_on("perl-test-without-module", type=("build", "test")) depends_on("perl-try-tiny", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use DateTime; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-dbd-oracle/package.py b/var/spack/repos/builtin/packages/perl-dbd-oracle/package.py index fb03ceea4fca31..5b755fb8c84bc4 100644 --- a/var/spack/repos/builtin/packages/perl-dbd-oracle/package.py +++ b/var/spack/repos/builtin/packages/perl-dbd-oracle/package.py @@ -23,11 +23,3 @@ class PerlDbdOracle(PerlPackage): def setup_build_environment(self, env): env.set("ORACLE_HOME", self.spec["oracle-instant-client"].prefix) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use DBD::Oracle; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-dbix-class/package.py b/var/spack/repos/builtin/packages/perl-dbix-class/package.py index 6e19ed00bb4f17..7683c6d91e25ac 100644 --- a/var/spack/repos/builtin/packages/perl-dbix-class/package.py +++ b/var/spack/repos/builtin/packages/perl-dbix-class/package.py @@ -42,11 +42,3 @@ class PerlDbixClass(PerlPackage): depends_on("perl-test-exception@0.31:", type=("build", "link")) depends_on("perl-test-warn@0.21:", type=("build", "link")) depends_on("perl-try-tiny@0.07:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use DBIx::Class; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-devel-stacktrace-ashtml/package.py b/var/spack/repos/builtin/packages/perl-devel-stacktrace-ashtml/package.py index e4faabd197b36f..24152921402d34 100644 --- a/var/spack/repos/builtin/packages/perl-devel-stacktrace-ashtml/package.py +++ b/var/spack/repos/builtin/packages/perl-devel-stacktrace-ashtml/package.py @@ -19,11 +19,3 @@ class PerlDevelStacktraceAshtml(PerlPackage): version("0.15", sha256="6283dbe2197e2f20009cc4b449997742169cdd951bfc44cbc6e62c2a962d3147") depends_on("perl-devel-stacktrace", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Devel::StackTrace::AsHTML; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-digest-jhash/package.py b/var/spack/repos/builtin/packages/perl-digest-jhash/package.py index 1b5c96a0271c97..81521c28eb5135 100644 --- a/var/spack/repos/builtin/packages/perl-digest-jhash/package.py +++ b/var/spack/repos/builtin/packages/perl-digest-jhash/package.py @@ -19,11 +19,3 @@ class PerlDigestJhash(PerlPackage): version("0.10", sha256="c746cf0a861a004090263cd54d7728d0c7595a0cf90cbbfd8409b396ee3b0063") depends_on("perl@5.8.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Digest::JHash; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-digest-sha1/package.py b/var/spack/repos/builtin/packages/perl-digest-sha1/package.py index 587c70c41043c8..970d9f06e0ca66 100644 --- a/var/spack/repos/builtin/packages/perl-digest-sha1/package.py +++ b/var/spack/repos/builtin/packages/perl-digest-sha1/package.py @@ -19,11 +19,3 @@ class PerlDigestSha1(PerlPackage): version("2.13", sha256="68c1dac2187421f0eb7abf71452a06f190181b8fc4b28ededf5b90296fb943cc") depends_on("perl@5.4.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Digest::SHA1; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-email-abstract/package.py b/var/spack/repos/builtin/packages/perl-email-abstract/package.py index 4c17d886bfddd6..a368a754885157 100644 --- a/var/spack/repos/builtin/packages/perl-email-abstract/package.py +++ b/var/spack/repos/builtin/packages/perl-email-abstract/package.py @@ -22,11 +22,3 @@ class PerlEmailAbstract(PerlPackage): depends_on("perl-email-simple@1.998:", type=("build", "run", "test")) depends_on("perl-module-pluggable@1.5:", type=("build", "run", "test")) depends_on("perl-mro-compat", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Email::Abstract; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-email-address-xs/package.py b/var/spack/repos/builtin/packages/perl-email-address-xs/package.py index fbb1353dcd5dd7..569788ad1e6c04 100644 --- a/var/spack/repos/builtin/packages/perl-email-address-xs/package.py +++ b/var/spack/repos/builtin/packages/perl-email-address-xs/package.py @@ -17,11 +17,3 @@ class PerlEmailAddressXs(PerlPackage): version("1.05", sha256="1510b7f10d67201037cd50d22c9d6b26eeca55ededa4cdb46bbca27e59a4ea16") depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Email::Address::XS; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-email-date-format/package.py b/var/spack/repos/builtin/packages/perl-email-date-format/package.py index 95d2fdd422b6eb..ea24585cafa302 100644 --- a/var/spack/repos/builtin/packages/perl-email-date-format/package.py +++ b/var/spack/repos/builtin/packages/perl-email-date-format/package.py @@ -19,11 +19,3 @@ class PerlEmailDateFormat(PerlPackage): version("1.008", sha256="432b7c83ff88749af128003f5257c573aec1a463418db90ed22843cbbc258b4f") depends_on("perl@5.12.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Email::Date::Format; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-email-messageid/package.py b/var/spack/repos/builtin/packages/perl-email-messageid/package.py index 662adfa07e48cb..bc99b4c98577f9 100644 --- a/var/spack/repos/builtin/packages/perl-email-messageid/package.py +++ b/var/spack/repos/builtin/packages/perl-email-messageid/package.py @@ -17,11 +17,3 @@ class PerlEmailMessageid(PerlPackage): version("1.408", sha256="1f3d5b4ff0b1c7b39e9ac7c318fb37adcd0bac9556036546494d14f06dc5643c") depends_on("perl@5.12.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Email::MessageID; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-email-mime-contenttype/package.py b/var/spack/repos/builtin/packages/perl-email-mime-contenttype/package.py index 1786704bd02a6d..bb93ac9f3d5839 100644 --- a/var/spack/repos/builtin/packages/perl-email-mime-contenttype/package.py +++ b/var/spack/repos/builtin/packages/perl-email-mime-contenttype/package.py @@ -20,11 +20,3 @@ class PerlEmailMimeContenttype(PerlPackage): depends_on("perl@5.12.0:", type=("build", "link", "run", "test")) depends_on("perl-text-unidecode", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Email::MIME::ContentType; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-email-mime-encodings/package.py b/var/spack/repos/builtin/packages/perl-email-mime-encodings/package.py index 7be7b58329ac4a..4f732f1c3a0fc5 100644 --- a/var/spack/repos/builtin/packages/perl-email-mime-encodings/package.py +++ b/var/spack/repos/builtin/packages/perl-email-mime-encodings/package.py @@ -17,11 +17,3 @@ class PerlEmailMimeEncodings(PerlPackage): version("1.317", sha256="4a9a41671a9d1504c4da241be419a9503fa3486262526edb81eca9e2ebea0baf") depends_on("perl@5.12.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Email::MIME::Encodings; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-email-mime/package.py b/var/spack/repos/builtin/packages/perl-email-mime/package.py index 07485df458becf..76a22c0b4ec6cb 100644 --- a/var/spack/repos/builtin/packages/perl-email-mime/package.py +++ b/var/spack/repos/builtin/packages/perl-email-mime/package.py @@ -26,11 +26,3 @@ class PerlEmailMime(PerlPackage): depends_on("perl-email-simple@2.212:", type=("build", "run", "test")) depends_on("perl-mime-types@1.13:", type=("build", "run", "test")) depends_on("perl-module-runtime", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Email::MIME; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-email-sender/package.py b/var/spack/repos/builtin/packages/perl-email-sender/package.py index 3f0272e55eae04..1027cc9c08e4ae 100644 --- a/var/spack/repos/builtin/packages/perl-email-sender/package.py +++ b/var/spack/repos/builtin/packages/perl-email-sender/package.py @@ -29,11 +29,3 @@ class PerlEmailSender(PerlPackage): depends_on("perl-sub-exporter", type=("build", "run", "test")) depends_on("perl-throwable", type=("build", "run", "test")) depends_on("perl-try-tiny", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Email::Sender; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-email-simple/package.py b/var/spack/repos/builtin/packages/perl-email-simple/package.py index 97a11fa9beb216..7bf3dffea8fdb8 100644 --- a/var/spack/repos/builtin/packages/perl-email-simple/package.py +++ b/var/spack/repos/builtin/packages/perl-email-simple/package.py @@ -18,11 +18,3 @@ class PerlEmailSimple(PerlPackage): depends_on("perl@5.12.0:", type=("build", "link", "run", "test")) depends_on("perl-email-date-format", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Email::Simple; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-email-stuffer/package.py b/var/spack/repos/builtin/packages/perl-email-stuffer/package.py index 1b317f1aeecee0..434bee2bb82535 100644 --- a/var/spack/repos/builtin/packages/perl-email-stuffer/package.py +++ b/var/spack/repos/builtin/packages/perl-email-stuffer/package.py @@ -25,11 +25,3 @@ class PerlEmailStuffer(PerlPackage): depends_on("perl-moo", type=("build", "test")) depends_on("perl-params-util@1.05:", type=("build", "run", "test")) depends_on("perl-test-fatal", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Email::Stuffer; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-exporter-auto/package.py b/var/spack/repos/builtin/packages/perl-exporter-auto/package.py index 2b849ba32c0074..d191aa5bbb2cb4 100644 --- a/var/spack/repos/builtin/packages/perl-exporter-auto/package.py +++ b/var/spack/repos/builtin/packages/perl-exporter-auto/package.py @@ -21,11 +21,3 @@ class PerlExporterAuto(PerlPackage): depends_on("perl@5.8.5:", type=("build", "link", "run", "test")) depends_on("perl-b-hooks-endofscope", type=("build", "run", "test")) depends_on("perl-sub-identify", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Exporter::Auto; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-file-changenotify/package.py b/var/spack/repos/builtin/packages/perl-file-changenotify/package.py index 20ca5476d138c2..a237ef8b4a7111 100644 --- a/var/spack/repos/builtin/packages/perl-file-changenotify/package.py +++ b/var/spack/repos/builtin/packages/perl-file-changenotify/package.py @@ -26,11 +26,3 @@ class PerlFileChangenotify(PerlPackage): depends_on("perl-test-without-module", type=("build", "test")) depends_on("perl-test2-suite", type=("build", "test")) depends_on("perl-type-tiny", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use File::ChangeNotify; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-file-sharedir/package.py b/var/spack/repos/builtin/packages/perl-file-sharedir/package.py index 27199ac509b151..110e3d86fac414 100644 --- a/var/spack/repos/builtin/packages/perl-file-sharedir/package.py +++ b/var/spack/repos/builtin/packages/perl-file-sharedir/package.py @@ -20,11 +20,3 @@ class PerlFileSharedir(PerlPackage): depends_on("perl-class-inspector@1.12:", type=("build", "run", "test")) depends_on("perl-file-sharedir-install@0.13:", type=("build", "link")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use File::ShareDir; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-filesys-notify-simple/package.py b/var/spack/repos/builtin/packages/perl-filesys-notify-simple/package.py index 4f55f14b245c0f..d2c7e99a3709c0 100644 --- a/var/spack/repos/builtin/packages/perl-filesys-notify-simple/package.py +++ b/var/spack/repos/builtin/packages/perl-filesys-notify-simple/package.py @@ -20,11 +20,3 @@ class PerlFilesysNotifySimple(PerlPackage): depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) depends_on("perl-test-sharedfork", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Filesys::Notify::Simple; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-getopt-long-descriptive/package.py b/var/spack/repos/builtin/packages/perl-getopt-long-descriptive/package.py index 5a3cbf41d70e2a..ac7476e426c4e4 100644 --- a/var/spack/repos/builtin/packages/perl-getopt-long-descriptive/package.py +++ b/var/spack/repos/builtin/packages/perl-getopt-long-descriptive/package.py @@ -21,11 +21,3 @@ class PerlGetoptLongDescriptive(PerlPackage): depends_on("perl@5.12.0:", type=("build", "link", "run", "test")) depends_on("perl-params-validate@0.97:", type=("build", "run", "test")) depends_on("perl-sub-exporter@0.972:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Getopt::Long::Descriptive; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-graphviz/package.py b/var/spack/repos/builtin/packages/perl-graphviz/package.py index 6c8dec2c014371..ae67fe9aa801ff 100644 --- a/var/spack/repos/builtin/packages/perl-graphviz/package.py +++ b/var/spack/repos/builtin/packages/perl-graphviz/package.py @@ -24,11 +24,3 @@ class PerlGraphviz(PerlPackage): depends_on("perl-parse-recdescent@1.965001:", type=("build", "run", "test")) depends_on("perl-xml-twig@3.52:", type=("build", "run", "test")) depends_on("perl-xml-xpath@1.13:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use GraphViz; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-gzip-faster/package.py b/var/spack/repos/builtin/packages/perl-gzip-faster/package.py index 79713e6e51bee5..30628b8cf1192f 100644 --- a/var/spack/repos/builtin/packages/perl-gzip-faster/package.py +++ b/var/spack/repos/builtin/packages/perl-gzip-faster/package.py @@ -19,11 +19,3 @@ class PerlGzipFaster(PerlPackage): version("0.21", sha256="c65f41ca108e7e53ec34c30dbb1b5d614bf4b8100673646cf301d0caf82c7aa5") depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Gzip::Faster; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-hash-moreutils/package.py b/var/spack/repos/builtin/packages/perl-hash-moreutils/package.py index cd9dd4b18f3914..005534254e214f 100644 --- a/var/spack/repos/builtin/packages/perl-hash-moreutils/package.py +++ b/var/spack/repos/builtin/packages/perl-hash-moreutils/package.py @@ -19,11 +19,3 @@ class PerlHashMoreutils(PerlPackage): version("0.06", sha256="db9a8fb867d50753c380889a5e54075651b5e08c9b3b721cb7220c0883547de8") depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Hash::MoreUtils; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-hash-multivalue/package.py b/var/spack/repos/builtin/packages/perl-hash-multivalue/package.py index 16464651126c9a..e9ed0868c939c9 100644 --- a/var/spack/repos/builtin/packages/perl-hash-multivalue/package.py +++ b/var/spack/repos/builtin/packages/perl-hash-multivalue/package.py @@ -19,11 +19,3 @@ class PerlHashMultivalue(PerlPackage): version("0.16", sha256="66181df7aa68e2786faf6895c88b18b95c800a8e4e6fb4c07fd176410a3c73f4") depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Hash::MultiValue; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-heap/package.py b/var/spack/repos/builtin/packages/perl-heap/package.py index c7faf761752c9b..f5dbd8c87b049f 100644 --- a/var/spack/repos/builtin/packages/perl-heap/package.py +++ b/var/spack/repos/builtin/packages/perl-heap/package.py @@ -17,11 +17,3 @@ class PerlHeap(PerlPackage): license("GPL-1.0-or-later OR Artistic-1.0-Perl") version("0.80", sha256="ccda29f3c93176ad0fdfff4dd6f5e4ac90b370cba4b028386b7343bf64139bde") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Heap; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-hook-lexwrap/package.py b/var/spack/repos/builtin/packages/perl-hook-lexwrap/package.py index f8bd2ee8181a64..530f8b8b23373f 100644 --- a/var/spack/repos/builtin/packages/perl-hook-lexwrap/package.py +++ b/var/spack/repos/builtin/packages/perl-hook-lexwrap/package.py @@ -19,11 +19,3 @@ class PerlHookLexwrap(PerlPackage): version("0.26", sha256="b60bdc5f98f94f9294b06adef82b1d996da192d5f183f9f434b610fd1137ec2d") depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Hook::LexWrap; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-html-template/package.py b/var/spack/repos/builtin/packages/perl-html-template/package.py index 9aa4e53178d95a..8485db8eb0eef7 100644 --- a/var/spack/repos/builtin/packages/perl-html-template/package.py +++ b/var/spack/repos/builtin/packages/perl-html-template/package.py @@ -20,11 +20,3 @@ class PerlHtmlTemplate(PerlPackage): depends_on("perl-cgi", type=("build", "run", "test")) depends_on("perl-test-pod", type=("build", "link")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use HTML::Template; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-http-body/package.py b/var/spack/repos/builtin/packages/perl-http-body/package.py index 5cc4d7e4ce5333..77ba68b8f8e8e0 100644 --- a/var/spack/repos/builtin/packages/perl-http-body/package.py +++ b/var/spack/repos/builtin/packages/perl-http-body/package.py @@ -20,11 +20,3 @@ class PerlHttpBody(PerlPackage): depends_on("perl-http-message", type=("build", "link", "run", "test")) depends_on("perl-test-deep", type=("build", "link")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use HTTP::Body; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-http-cookiejar/package.py b/var/spack/repos/builtin/packages/perl-http-cookiejar/package.py index 9e1598b2bcdca5..627dc00fea01bb 100644 --- a/var/spack/repos/builtin/packages/perl-http-cookiejar/package.py +++ b/var/spack/repos/builtin/packages/perl-http-cookiejar/package.py @@ -23,11 +23,3 @@ class PerlHttpCookiejar(PerlPackage): depends_on("perl-test-deep", type=("test")) depends_on("perl-test-requires", type=("test")) depends_on("perl-uri", type=("test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use HTTP::CookieJar; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-http-entity-parser/package.py b/var/spack/repos/builtin/packages/perl-http-entity-parser/package.py index dfc3802cd2e50f..9cd61aef731990 100644 --- a/var/spack/repos/builtin/packages/perl-http-entity-parser/package.py +++ b/var/spack/repos/builtin/packages/perl-http-entity-parser/package.py @@ -26,11 +26,3 @@ class PerlHttpEntityParser(PerlPackage): depends_on("perl-module-build-tiny@0.035:", type=("build")) depends_on("perl-stream-buffered", type=("build", "run", "test")) depends_on("perl-www-form-urlencoded@0.23:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use HTTP::Entity::Parser; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-http-headers-fast/package.py b/var/spack/repos/builtin/packages/perl-http-headers-fast/package.py index ac380a0c9a2499..841e2873518c0e 100644 --- a/var/spack/repos/builtin/packages/perl-http-headers-fast/package.py +++ b/var/spack/repos/builtin/packages/perl-http-headers-fast/package.py @@ -22,11 +22,3 @@ class PerlHttpHeadersFast(PerlPackage): depends_on("perl-http-date", type=("build", "run", "test")) depends_on("perl-module-build-tiny@0.035:", type=("build")) depends_on("perl-test-requires", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use HTTP::Headers::Fast; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-http-multipartparser/package.py b/var/spack/repos/builtin/packages/perl-http-multipartparser/package.py index 0ae44458ca181e..936b2b3bf71ab8 100644 --- a/var/spack/repos/builtin/packages/perl-http-multipartparser/package.py +++ b/var/spack/repos/builtin/packages/perl-http-multipartparser/package.py @@ -20,11 +20,3 @@ class PerlHttpMultipartparser(PerlPackage): depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) depends_on("perl-test-deep", type=("build", "link")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use HTTP::MultiPartParser; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-http-parser-xs/package.py b/var/spack/repos/builtin/packages/perl-http-parser-xs/package.py index ce07f92c519ce1..33ee14b5ea266e 100644 --- a/var/spack/repos/builtin/packages/perl-http-parser-xs/package.py +++ b/var/spack/repos/builtin/packages/perl-http-parser-xs/package.py @@ -17,11 +17,3 @@ class PerlHttpParserXs(PerlPackage): license("Artistic-1.0-Perl OR GPL-1.0-or-later") version("0.17", sha256="794e6833e326b10d24369f9cdbfc1667105ef6591e8f41e561a3d41a7027a809") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use HTTP::Parser::XS; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-http-request-ascgi/package.py b/var/spack/repos/builtin/packages/perl-http-request-ascgi/package.py index ae6814be2d7c5f..34d12125f67f4f 100644 --- a/var/spack/repos/builtin/packages/perl-http-request-ascgi/package.py +++ b/var/spack/repos/builtin/packages/perl-http-request-ascgi/package.py @@ -21,11 +21,3 @@ class PerlHttpRequestAscgi(PerlPackage): depends_on("perl-class-accessor", type=("build", "run", "test")) depends_on("perl-http-message", type=("build", "run", "test")) depends_on("perl-uri", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use HTTP::Request::AsCGI; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-http-server-simple/package.py b/var/spack/repos/builtin/packages/perl-http-server-simple/package.py index 0e02ab0e269cd3..9678e5152abd98 100644 --- a/var/spack/repos/builtin/packages/perl-http-server-simple/package.py +++ b/var/spack/repos/builtin/packages/perl-http-server-simple/package.py @@ -19,11 +19,3 @@ class PerlHttpServerSimple(PerlPackage): version("0.52", sha256="d8939fa4f12bd6b8c043537fd0bf96b055ac3686b9cdd9fa773dca6ae679cb4c") depends_on("perl-cgi", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use HTTP::Server::Simple; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-import-into/package.py b/var/spack/repos/builtin/packages/perl-import-into/package.py index e8fae0668c48be..b510563b6ab0b4 100644 --- a/var/spack/repos/builtin/packages/perl-import-into/package.py +++ b/var/spack/repos/builtin/packages/perl-import-into/package.py @@ -20,11 +20,3 @@ class PerlImportInto(PerlPackage): depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) depends_on("perl-module-runtime", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Import::Into; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-ipc-run3/package.py b/var/spack/repos/builtin/packages/perl-ipc-run3/package.py index c9d8d622f2b835..95025e3c583e7f 100644 --- a/var/spack/repos/builtin/packages/perl-ipc-run3/package.py +++ b/var/spack/repos/builtin/packages/perl-ipc-run3/package.py @@ -15,11 +15,3 @@ class PerlIpcRun3(PerlPackage): maintainers("EbiArnie") version("0.048", sha256="3d81c3cc1b5cff69cca9361e2c6e38df0352251ae7b41e2ff3febc850e463565") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use IPC::Run3; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-ipc-sharelite/package.py b/var/spack/repos/builtin/packages/perl-ipc-sharelite/package.py index 0b06c836acefec..6b2c01349e4c57 100644 --- a/var/spack/repos/builtin/packages/perl-ipc-sharelite/package.py +++ b/var/spack/repos/builtin/packages/perl-ipc-sharelite/package.py @@ -17,11 +17,3 @@ class PerlIpcSharelite(PerlPackage): license("Artistic-1.0-Perl OR GPL-1.0-or-later") version("0.17", sha256="14d406b91da96d6521d0d1a82d22a306274765226b86b0a56e7ffddcf96ae7bf") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use IPC::ShareLite; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-ipc-system-simple/package.py b/var/spack/repos/builtin/packages/perl-ipc-system-simple/package.py index 482d29df873d23..c9d2a6e19954f4 100644 --- a/var/spack/repos/builtin/packages/perl-ipc-system-simple/package.py +++ b/var/spack/repos/builtin/packages/perl-ipc-system-simple/package.py @@ -19,11 +19,3 @@ class PerlIpcSystemSimple(PerlPackage): version("1.30", sha256="22e6f5222b505ee513058fdca35ab7a1eab80539b98e5ca4a923a70a8ae9ba9e") depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use IPC::System::Simple; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-javascript-minifier-xs/package.py b/var/spack/repos/builtin/packages/perl-javascript-minifier-xs/package.py index 56477a9d802f76..4e88e10c5e6302 100644 --- a/var/spack/repos/builtin/packages/perl-javascript-minifier-xs/package.py +++ b/var/spack/repos/builtin/packages/perl-javascript-minifier-xs/package.py @@ -20,11 +20,3 @@ class PerlJavascriptMinifierXs(PerlPackage): depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) depends_on("perl-test-diaginc@0.002:", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use JavaScript::Minifier::XS; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-json-any/package.py b/var/spack/repos/builtin/packages/perl-json-any/package.py index 84bf6658b5e57c..87857a95a6705e 100644 --- a/var/spack/repos/builtin/packages/perl-json-any/package.py +++ b/var/spack/repos/builtin/packages/perl-json-any/package.py @@ -23,11 +23,3 @@ class PerlJsonAny(PerlPackage): depends_on("perl-test-needs", type=("build", "test")) depends_on("perl-test-warnings@0.009:", type=("build", "test")) depends_on("perl-test-without-module", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use JSON::Any; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-json-maybexs/package.py b/var/spack/repos/builtin/packages/perl-json-maybexs/package.py index 83449a15bbf121..762e128fa085c8 100644 --- a/var/spack/repos/builtin/packages/perl-json-maybexs/package.py +++ b/var/spack/repos/builtin/packages/perl-json-maybexs/package.py @@ -19,11 +19,3 @@ class PerlJsonMaybexs(PerlPackage): depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) depends_on("perl-cpanel-json-xs@2.3310:", type=("build", "run", "test")) depends_on("perl-test-needs@0.002006:", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use JSON::MaybeXS; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-json-xs/package.py b/var/spack/repos/builtin/packages/perl-json-xs/package.py index c3b0ddac945b6c..083d58cb65d3ce 100644 --- a/var/spack/repos/builtin/packages/perl-json-xs/package.py +++ b/var/spack/repos/builtin/packages/perl-json-xs/package.py @@ -22,11 +22,3 @@ class PerlJsonXs(PerlPackage): def setup_build_environment(self, env): env.set("PERL_CANARY_STABILITY_NOPROMPT", "1") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use JSON::XS; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-kyotocabinet/package.py b/var/spack/repos/builtin/packages/perl-kyotocabinet/package.py index 5971035ac0771c..a27bbb4e37e3e4 100644 --- a/var/spack/repos/builtin/packages/perl-kyotocabinet/package.py +++ b/var/spack/repos/builtin/packages/perl-kyotocabinet/package.py @@ -22,11 +22,3 @@ class PerlKyotocabinet(PerlPackage): depends_on("zlib-api", type=("build", "link", "run", "test")) depends_on("lzo", type=("build", "link", "run", "test")) depends_on("xz", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use KyotoCabinet; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-lingua-en-inflect/package.py b/var/spack/repos/builtin/packages/perl-lingua-en-inflect/package.py index f6b126b87f6ff6..83137cb39b7261 100644 --- a/var/spack/repos/builtin/packages/perl-lingua-en-inflect/package.py +++ b/var/spack/repos/builtin/packages/perl-lingua-en-inflect/package.py @@ -15,11 +15,3 @@ class PerlLinguaEnInflect(PerlPackage): maintainers("EbiArnie") version("1.905", sha256="05c29ec3482e572313a60da2181b0b30c5db7cf01f8ae7616ad67e1b66263296") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Lingua::EN::Inflect; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-list-compare/package.py b/var/spack/repos/builtin/packages/perl-list-compare/package.py index 208358d387f691..f14b025d590113 100644 --- a/var/spack/repos/builtin/packages/perl-list-compare/package.py +++ b/var/spack/repos/builtin/packages/perl-list-compare/package.py @@ -19,11 +19,3 @@ class PerlListCompare(PerlPackage): version("0.55", sha256="cc719479836579d52b02bc328ed80a98f679df043a99b5710ab2c191669eb837") depends_on("perl-capture-tiny", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use List::Compare; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-list-someutils/package.py b/var/spack/repos/builtin/packages/perl-list-someutils/package.py index 43c92bfb7812f1..7519154768fb67 100644 --- a/var/spack/repos/builtin/packages/perl-list-someutils/package.py +++ b/var/spack/repos/builtin/packages/perl-list-someutils/package.py @@ -21,11 +21,3 @@ class PerlListSomeutils(PerlPackage): depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) depends_on("perl-module-implementation@0.04:", type=("build", "run", "test")) depends_on("perl-test-leaktrace", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use List::SomeUtils; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-log-any-adapter-callback/package.py b/var/spack/repos/builtin/packages/perl-log-any-adapter-callback/package.py index f08b06b6683492..74698844deae34 100644 --- a/var/spack/repos/builtin/packages/perl-log-any-adapter-callback/package.py +++ b/var/spack/repos/builtin/packages/perl-log-any-adapter-callback/package.py @@ -22,11 +22,3 @@ class PerlLogAnyAdapterCallback(PerlPackage): version("0.102", sha256="7c01883265bdab65344257c1b1d1e69fbe300e7693dddeebb98f9f67310e07cd") depends_on("perl-log-any", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Log::Any::Adapter::Callback; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-log-any/package.py b/var/spack/repos/builtin/packages/perl-log-any/package.py index 0dbf0f1e23bc62..a858cbdaa35c76 100644 --- a/var/spack/repos/builtin/packages/perl-log-any/package.py +++ b/var/spack/repos/builtin/packages/perl-log-any/package.py @@ -17,11 +17,3 @@ class PerlLogAny(PerlPackage): license("GPL-1.0-or-later OR Artistic-1.0-Perl") version("1.717", sha256="56649da0f3900230c9e3d29252cb0a74806fb2ddebd22805acd7368959a65bca") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Log::Any; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-log-dispatch-filerotate/package.py b/var/spack/repos/builtin/packages/perl-log-dispatch-filerotate/package.py index df79fe4f5bc2c9..278ab02fb71f09 100644 --- a/var/spack/repos/builtin/packages/perl-log-dispatch-filerotate/package.py +++ b/var/spack/repos/builtin/packages/perl-log-dispatch-filerotate/package.py @@ -24,11 +24,3 @@ class PerlLogDispatchFilerotate(PerlPackage): depends_on("perl-sub-uplevel", type=("build", "run", "test")) depends_on("perl-path-tiny@0.018:", type=("build", "test")) depends_on("perl-test-warn", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Log::Dispatch::FileRotate; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-log-dispatch/package.py b/var/spack/repos/builtin/packages/perl-log-dispatch/package.py index 707fcb0133af83..d26952ee2a64f2 100644 --- a/var/spack/repos/builtin/packages/perl-log-dispatch/package.py +++ b/var/spack/repos/builtin/packages/perl-log-dispatch/package.py @@ -29,11 +29,3 @@ class PerlLogDispatch(PerlPackage): depends_on("perl-test-fatal", type=("build", "test")) depends_on("perl-test-needs", type=("build", "test")) depends_on("perl-try-tiny", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Log::Dispatch; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-metacpan-client/package.py b/var/spack/repos/builtin/packages/perl-metacpan-client/package.py index 9b7cb2ef3653df..e0b2935158b77a 100644 --- a/var/spack/repos/builtin/packages/perl-metacpan-client/package.py +++ b/var/spack/repos/builtin/packages/perl-metacpan-client/package.py @@ -30,11 +30,3 @@ class PerlMetacpanClient(PerlPackage): depends_on("perl-test-needs@0.002005:", type=("build", "test")) depends_on("perl-type-tiny", type=("build", "run", "test")) depends_on("perl-uri", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use MetaCPAN::Client; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-mime-types/package.py b/var/spack/repos/builtin/packages/perl-mime-types/package.py index 182f839ace2e85..1991172a71b1dc 100644 --- a/var/spack/repos/builtin/packages/perl-mime-types/package.py +++ b/var/spack/repos/builtin/packages/perl-mime-types/package.py @@ -17,11 +17,3 @@ class PerlMimeTypes(PerlPackage): license("GPL-1.0-or-later OR Artistic-1.0-Perl") version("2.24", sha256="629e361f22b220be50c2da7354e23c0451757709a03c25a22f3160edb94cb65f") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use MIME::Types; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-mock-config/package.py b/var/spack/repos/builtin/packages/perl-mock-config/package.py index fab691f7c07e8d..b779e382add9a2 100644 --- a/var/spack/repos/builtin/packages/perl-mock-config/package.py +++ b/var/spack/repos/builtin/packages/perl-mock-config/package.py @@ -17,11 +17,3 @@ class PerlMockConfig(PerlPackage): version("0.03", sha256="a5b8345757ca4f2b9335f5be14e93ebbb502865233a755bf53bc7156deec001b") depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Mock::Config; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-module-find/package.py b/var/spack/repos/builtin/packages/perl-module-find/package.py index d422229520b18e..dd7ef93e6b0b4c 100644 --- a/var/spack/repos/builtin/packages/perl-module-find/package.py +++ b/var/spack/repos/builtin/packages/perl-module-find/package.py @@ -19,11 +19,3 @@ class PerlModuleFind(PerlPackage): version("0.16", sha256="4bcaaa376915014728d4f533a98c5b59d665051cd3cdbafc960e5a66fd131092") depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Module::Find; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-module-install/package.py b/var/spack/repos/builtin/packages/perl-module-install/package.py index e237f8a0aec44c..7d9ce4cd47d107 100644 --- a/var/spack/repos/builtin/packages/perl-module-install/package.py +++ b/var/spack/repos/builtin/packages/perl-module-install/package.py @@ -12,6 +12,8 @@ class PerlModuleInstall(PerlPackage): homepage = "https://metacpan.org/pod/Module::Install" url = "https://cpan.metacpan.org/authors/id/E/ET/ETHER/Module-Install-1.19.tar.gz" + skip_modules = ["Module::Install"] # requires prepend "inc::" + license("GPL-1.0-or-later OR Artistic-1.0-Perl") version("1.21", sha256="fbf91007f30565f3920e106055fd0d4287981d5e7dad8b35323ce4b733f15a7b") diff --git a/var/spack/repos/builtin/packages/perl-module-mask/package.py b/var/spack/repos/builtin/packages/perl-module-mask/package.py index 1fc0c8213ebcdb..f83d47f36d663c 100644 --- a/var/spack/repos/builtin/packages/perl-module-mask/package.py +++ b/var/spack/repos/builtin/packages/perl-module-mask/package.py @@ -20,11 +20,3 @@ class PerlModuleMask(PerlPackage): depends_on("perl@5.8.0:", type=("build", "link", "run", "test")) depends_on("perl-module-util@1.00:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Module::Mask; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-module-pluggable/package.py b/var/spack/repos/builtin/packages/perl-module-pluggable/package.py index 857d7ef365ba1f..7f98773b253856 100644 --- a/var/spack/repos/builtin/packages/perl-module-pluggable/package.py +++ b/var/spack/repos/builtin/packages/perl-module-pluggable/package.py @@ -19,11 +19,3 @@ class PerlModulePluggable(PerlPackage): version("5.2", sha256="b3f2ad45e4fd10b3fb90d912d78d8b795ab295480db56dc64e86b9fa75c5a6df") depends_on("perl@5.5.30:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Module::Pluggable; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-module-util/package.py b/var/spack/repos/builtin/packages/perl-module-util/package.py index e551dcd56edabd..d41cb1f868752f 100644 --- a/var/spack/repos/builtin/packages/perl-module-util/package.py +++ b/var/spack/repos/builtin/packages/perl-module-util/package.py @@ -19,11 +19,3 @@ class PerlModuleUtil(PerlPackage): version("1.09", sha256="6cfbcb6a45064446ec8aa0ee1a7dddc420b54469303344187aef84d2c7f3e2c6") depends_on("perl@5.5.3:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Module::Util; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-mojolicious/package.py b/var/spack/repos/builtin/packages/perl-mojolicious/package.py index 5ed165d062e3ab..5c43aff8b9462f 100644 --- a/var/spack/repos/builtin/packages/perl-mojolicious/package.py +++ b/var/spack/repos/builtin/packages/perl-mojolicious/package.py @@ -19,11 +19,3 @@ class PerlMojolicious(PerlPackage): version("9.35", sha256="6a4a446ee07fca7c6db72f5d817540d6833009cb8de7cce4c6fb24a15ee7d46b") depends_on("perl@5.16.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Mojolicious; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-moosex-emulate-class-accessor-fast/package.py b/var/spack/repos/builtin/packages/perl-moosex-emulate-class-accessor-fast/package.py index b2e2dbb4ebc8c8..908b24cebc51cd 100644 --- a/var/spack/repos/builtin/packages/perl-moosex-emulate-class-accessor-fast/package.py +++ b/var/spack/repos/builtin/packages/perl-moosex-emulate-class-accessor-fast/package.py @@ -21,11 +21,3 @@ class PerlMoosexEmulateClassAccessorFast(PerlPackage): depends_on("perl-moose@0.84:", type=("build", "run", "test")) depends_on("perl-namespace-clean", type=("build", "run", "test")) depends_on("perl-test-exception", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use MooseX::Emulate::Class::Accessor::Fast; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-moosex-getopt/package.py b/var/spack/repos/builtin/packages/perl-moosex-getopt/package.py index 4f411a42861365..7b6756698233da 100644 --- a/var/spack/repos/builtin/packages/perl-moosex-getopt/package.py +++ b/var/spack/repos/builtin/packages/perl-moosex-getopt/package.py @@ -32,11 +32,3 @@ class PerlMoosexGetopt(PerlPackage): depends_on("perl-test-trap", type=("build", "test")) depends_on("perl-test-warnings@0.009:", type=("build", "test")) depends_on("perl-try-tiny", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use MooseX::Getopt; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-moosex-methodattributes/package.py b/var/spack/repos/builtin/packages/perl-moosex-methodattributes/package.py index 23a552c801b0ee..0411b9e2f7eed8 100644 --- a/var/spack/repos/builtin/packages/perl-moosex-methodattributes/package.py +++ b/var/spack/repos/builtin/packages/perl-moosex-methodattributes/package.py @@ -24,11 +24,3 @@ class PerlMoosexMethodattributes(PerlPackage): depends_on("perl-namespace-autoclean@0.08:", type=("build", "run", "test")) depends_on("perl-test-fatal", type=("build", "test")) depends_on("perl-test-needs", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use MooseX::MethodAttributes; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-moosex-role-parameterized/package.py b/var/spack/repos/builtin/packages/perl-moosex-role-parameterized/package.py index da8e7fd668d71b..ba8f87521cbf82 100644 --- a/var/spack/repos/builtin/packages/perl-moosex-role-parameterized/package.py +++ b/var/spack/repos/builtin/packages/perl-moosex-role-parameterized/package.py @@ -27,11 +27,3 @@ class PerlMoosexRoleParameterized(PerlPackage): depends_on("perl-namespace-clean@0.19:", type=("build", "run", "test")) depends_on("perl-test-fatal", type=("build", "test")) depends_on("perl-test-needs", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use MooseX::Role::Parameterized; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-moox-types-mooselike-numeric/package.py b/var/spack/repos/builtin/packages/perl-moox-types-mooselike-numeric/package.py index 72e46614dbd5df..839aed7d51a4ca 100644 --- a/var/spack/repos/builtin/packages/perl-moox-types-mooselike-numeric/package.py +++ b/var/spack/repos/builtin/packages/perl-moox-types-mooselike-numeric/package.py @@ -24,11 +24,3 @@ class PerlMooxTypesMooselikeNumeric(PerlPackage): depends_on("perl-moo@1.004002:", type=("build", "link")) depends_on("perl-moox-types-mooselike@0.23:", type=("build", "run", "test")) depends_on("perl-test-fatal@0.003:", type=("build", "link")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use MooX::Types::MooseLike::Numeric; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-moox-types-mooselike/package.py b/var/spack/repos/builtin/packages/perl-moox-types-mooselike/package.py index 3708dd8d31a6cf..3a4a4ae20ab558 100644 --- a/var/spack/repos/builtin/packages/perl-moox-types-mooselike/package.py +++ b/var/spack/repos/builtin/packages/perl-moox-types-mooselike/package.py @@ -19,11 +19,3 @@ class PerlMooxTypesMooselike(PerlPackage): depends_on("perl-module-runtime@0.014:", type=("build", "run", "test")) depends_on("perl-moo@1.004002:", type=("build", "test")) depends_on("perl-test-fatal@0.003:", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use MooX::Types::MooseLike; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-namespace-autoclean/package.py b/var/spack/repos/builtin/packages/perl-namespace-autoclean/package.py index 410c3e821b7b5c..63e48fe89dd3b2 100644 --- a/var/spack/repos/builtin/packages/perl-namespace-autoclean/package.py +++ b/var/spack/repos/builtin/packages/perl-namespace-autoclean/package.py @@ -23,11 +23,3 @@ class PerlNamespaceAutoclean(PerlPackage): depends_on("perl-namespace-clean@0.20:", type=("build", "run", "test")) depends_on("perl-sub-identify", type=("build", "run", "test")) depends_on("perl-test-needs", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use namespace::autoclean; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-namespace-clean/package.py b/var/spack/repos/builtin/packages/perl-namespace-clean/package.py index 768d74c42865d4..7bc66201af8cb3 100644 --- a/var/spack/repos/builtin/packages/perl-namespace-clean/package.py +++ b/var/spack/repos/builtin/packages/perl-namespace-clean/package.py @@ -21,11 +21,3 @@ class PerlNamespaceClean(PerlPackage): depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) depends_on("perl-b-hooks-endofscope@0.12:", type=("build", "run", "test")) depends_on("perl-package-stash@0.23:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use namespace::clean; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-net-cidr-lite/package.py b/var/spack/repos/builtin/packages/perl-net-cidr-lite/package.py index fbbe0e3e466bca..a647fdb65b37c8 100644 --- a/var/spack/repos/builtin/packages/perl-net-cidr-lite/package.py +++ b/var/spack/repos/builtin/packages/perl-net-cidr-lite/package.py @@ -17,11 +17,3 @@ class PerlNetCidrLite(PerlPackage): license("Artistic-1.0-Perl OR GPL-1.0-or-later") version("0.22", sha256="4317d8cb341a617b9e0888da43c09cdffffcb0c9edf7b8c9928d742a563b8517") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Net::CIDR::Lite; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-net-ip/package.py b/var/spack/repos/builtin/packages/perl-net-ip/package.py index 978a068d8d50e9..ce41fd85b015c3 100644 --- a/var/spack/repos/builtin/packages/perl-net-ip/package.py +++ b/var/spack/repos/builtin/packages/perl-net-ip/package.py @@ -15,11 +15,3 @@ class PerlNetIp(PerlPackage): maintainers("EbiArnie") version("1.26", sha256="040f16f3066647d761b724a3b70754d28cbd1e6fe5ea01c63ed1cd857117d639") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Net::IP; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-net-server-ss-prefork/package.py b/var/spack/repos/builtin/packages/perl-net-server-ss-prefork/package.py index 90a948518f07c4..869fc57b9a2a58 100644 --- a/var/spack/repos/builtin/packages/perl-net-server-ss-prefork/package.py +++ b/var/spack/repos/builtin/packages/perl-net-server-ss-prefork/package.py @@ -23,11 +23,3 @@ class PerlNetServerSsPrefork(PerlPackage): depends_on("perl-net-server", type=("build", "run", "test")) depends_on("perl-server-starter@0.02:", type=("build", "run", "test")) depends_on("perl-test-tcp@0.06:", type=("build", "link")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Net::Server::SS::PreFork; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-net-server/package.py b/var/spack/repos/builtin/packages/perl-net-server/package.py index 800eea9b9b653b..092f20576ef321 100644 --- a/var/spack/repos/builtin/packages/perl-net-server/package.py +++ b/var/spack/repos/builtin/packages/perl-net-server/package.py @@ -17,11 +17,3 @@ class PerlNetServer(PerlPackage): license("Artistic-1.0-Perl OR GPL-1.0-or-later") version("2.014", sha256="3406b9ca5a662a0075eed47fb78de1316b601c94f62a0ee34a5544db9baa3720") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Net::Server; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-package-variant/package.py b/var/spack/repos/builtin/packages/perl-package-variant/package.py index 27eb9c71d26774..6928301e401024 100644 --- a/var/spack/repos/builtin/packages/perl-package-variant/package.py +++ b/var/spack/repos/builtin/packages/perl-package-variant/package.py @@ -23,11 +23,3 @@ class PerlPackageVariant(PerlPackage): depends_on("perl-module-runtime@0.013:", type=("build", "run", "test")) depends_on("perl-strictures@2.000000:", type=("build", "run", "test")) depends_on("perl-test-fatal", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Package::Variant; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-params-validationcompiler/package.py b/var/spack/repos/builtin/packages/perl-params-validationcompiler/package.py index 00f562ef2424a0..0116221fbe1b3d 100644 --- a/var/spack/repos/builtin/packages/perl-params-validationcompiler/package.py +++ b/var/spack/repos/builtin/packages/perl-params-validationcompiler/package.py @@ -25,11 +25,3 @@ class PerlParamsValidationcompiler(PerlPackage): depends_on("perl-test-without-module", type=("build", "test")) depends_on("perl-test2-plugin-nowarnings", type=("build", "test")) depends_on("perl-test2-suite", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Params::ValidationCompiler; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-path-class/package.py b/var/spack/repos/builtin/packages/perl-path-class/package.py index db486491d30de8..5c3ceec441250a 100644 --- a/var/spack/repos/builtin/packages/perl-path-class/package.py +++ b/var/spack/repos/builtin/packages/perl-path-class/package.py @@ -17,11 +17,3 @@ class PerlPathClass(PerlPackage): license("Artistic-1.0-Perl OR GPL-1.0-or-later") version("0.37", sha256="654781948602386f2cb2e4473a739f17dc6953d92aabc2498a4ca2561bc248ce") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Path::Class; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-perl-critic-moose/package.py b/var/spack/repos/builtin/packages/perl-perl-critic-moose/package.py index 3bc3368fb031bf..cd8523ab3cff05 100644 --- a/var/spack/repos/builtin/packages/perl-perl-critic-moose/package.py +++ b/var/spack/repos/builtin/packages/perl-perl-critic-moose/package.py @@ -22,11 +22,3 @@ class PerlPerlCriticMoose(PerlPackage): depends_on("perl-namespace-autoclean", type=("build", "run", "test")) depends_on("perl-perl-critic", type=("build", "run", "test")) depends_on("perl-readonly", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Perl::Critic::Moose; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-perl-critic/package.py b/var/spack/repos/builtin/packages/perl-perl-critic/package.py index 59834c8a23b45a..e5509f523af6a4 100644 --- a/var/spack/repos/builtin/packages/perl-perl-critic/package.py +++ b/var/spack/repos/builtin/packages/perl-perl-critic/package.py @@ -34,11 +34,3 @@ class PerlPerlCritic(PerlPackage): depends_on("perl-ppix-utils", type=("build", "run", "test")) depends_on("perl-readonly@2:", type=("build", "run", "test")) depends_on("perl-string-format@1.18:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Perl::Critic; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-perl-tidy/package.py b/var/spack/repos/builtin/packages/perl-perl-tidy/package.py index ea3df9ff48a83b..e5cfe1afd89d25 100644 --- a/var/spack/repos/builtin/packages/perl-perl-tidy/package.py +++ b/var/spack/repos/builtin/packages/perl-perl-tidy/package.py @@ -19,11 +19,3 @@ class PerlPerlTidy(PerlPackage): version("20240202", sha256="9451adde47c2713652d39b150fb3eeb3ccc702add46913e989125184cd7ec57d") depends_on("perl@5.8.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Perl::Tidy; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-plack-middleware-assets/package.py b/var/spack/repos/builtin/packages/perl-plack-middleware-assets/package.py index 2ec7c640e8848c..f6ae56fd204a41 100644 --- a/var/spack/repos/builtin/packages/perl-plack-middleware-assets/package.py +++ b/var/spack/repos/builtin/packages/perl-plack-middleware-assets/package.py @@ -22,11 +22,3 @@ class PerlPlackMiddlewareAssets(PerlPackage): depends_on("perl-http-date", type=("build", "run", "test")) depends_on("perl-javascript-minifier-xs", type=("build", "run", "test")) depends_on("perl-plack", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Plack::Middleware::Assets; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-plack-middleware-crossorigin/package.py b/var/spack/repos/builtin/packages/perl-plack-middleware-crossorigin/package.py index 1b5ac6efe7f1eb..cf367cce250962 100644 --- a/var/spack/repos/builtin/packages/perl-plack-middleware-crossorigin/package.py +++ b/var/spack/repos/builtin/packages/perl-plack-middleware-crossorigin/package.py @@ -22,11 +22,3 @@ class PerlPlackMiddlewareCrossorigin(PerlPackage): depends_on("perl@5.8.0:", type=("build", "link", "run", "test")) depends_on("perl-plack", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Plack::Middleware::CrossOrigin; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-plack-middleware-deflater/package.py b/var/spack/repos/builtin/packages/perl-plack-middleware-deflater/package.py index de1c570e062082..66c81bf6a8805b 100644 --- a/var/spack/repos/builtin/packages/perl-plack-middleware-deflater/package.py +++ b/var/spack/repos/builtin/packages/perl-plack-middleware-deflater/package.py @@ -23,11 +23,3 @@ class PerlPlackMiddlewareDeflater(PerlPackage): depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) depends_on("perl-plack", type=("build", "run", "test")) depends_on("perl-test-requires", type=("build", "link")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Plack::Middleware::Deflater; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-plack-middleware-fixmissingbodyinredirect/package.py b/var/spack/repos/builtin/packages/perl-plack-middleware-fixmissingbodyinredirect/package.py index ee3297cd412f05..2d066c9a88255a 100644 --- a/var/spack/repos/builtin/packages/perl-plack-middleware-fixmissingbodyinredirect/package.py +++ b/var/spack/repos/builtin/packages/perl-plack-middleware-fixmissingbodyinredirect/package.py @@ -21,14 +21,3 @@ class PerlPlackMiddlewareFixmissingbodyinredirect(PerlPackage): depends_on("perl-html-parser", type=("build", "run", "test")) depends_on("perl-http-message", type=("build", "test")) depends_on("perl-plack", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = [ - "-we", - 'use strict; use Plack::Middleware::FixMissingBodyInRedirect; print("OK\n")', - ] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-plack-middleware-methodoverride/package.py b/var/spack/repos/builtin/packages/perl-plack-middleware-methodoverride/package.py index f956454dc51a75..0849c1106a68cb 100644 --- a/var/spack/repos/builtin/packages/perl-plack-middleware-methodoverride/package.py +++ b/var/spack/repos/builtin/packages/perl-plack-middleware-methodoverride/package.py @@ -21,11 +21,3 @@ class PerlPlackMiddlewareMethodoverride(PerlPackage): depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) depends_on("perl-plack", type=("build", "run", "test")) depends_on("perl-uri", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Plack::Middleware::MethodOverride; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-plack-middleware-removeredundantbody/package.py b/var/spack/repos/builtin/packages/perl-plack-middleware-removeredundantbody/package.py index 5e1a01fecd390b..248c11f3468cc4 100644 --- a/var/spack/repos/builtin/packages/perl-plack-middleware-removeredundantbody/package.py +++ b/var/spack/repos/builtin/packages/perl-plack-middleware-removeredundantbody/package.py @@ -20,11 +20,3 @@ class PerlPlackMiddlewareRemoveredundantbody(PerlPackage): depends_on("perl-http-message", type=("build", "test")) depends_on("perl-plack", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Plack::Middleware::RemoveRedundantBody; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-plack-middleware-reverseproxy/package.py b/var/spack/repos/builtin/packages/perl-plack-middleware-reverseproxy/package.py index b05d0120babdd9..ee86311339ba83 100644 --- a/var/spack/repos/builtin/packages/perl-plack-middleware-reverseproxy/package.py +++ b/var/spack/repos/builtin/packages/perl-plack-middleware-reverseproxy/package.py @@ -20,11 +20,3 @@ class PerlPlackMiddlewareReverseproxy(PerlPackage): depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) depends_on("perl-plack@0.9988:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Plack::Middleware::ReverseProxy; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-plack-test-externalserver/package.py b/var/spack/repos/builtin/packages/perl-plack-test-externalserver/package.py index 3ca4f4f6922c0b..c6eeb05cff7883 100644 --- a/var/spack/repos/builtin/packages/perl-plack-test-externalserver/package.py +++ b/var/spack/repos/builtin/packages/perl-plack-test-externalserver/package.py @@ -24,11 +24,3 @@ class PerlPlackTestExternalserver(PerlPackage): depends_on("perl-plack", type=("build", "test")) depends_on("perl-test-tcp", type=("build", "test")) depends_on("perl-uri", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Plack::Test::ExternalServer; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-plack/package.py b/var/spack/repos/builtin/packages/perl-plack/package.py index 764abe09b16f27..11b74f19fcc7c1 100644 --- a/var/spack/repos/builtin/packages/perl-plack/package.py +++ b/var/spack/repos/builtin/packages/perl-plack/package.py @@ -36,11 +36,3 @@ class PerlPlack(PerlPackage): depends_on("perl-try-tiny", type=("build", "run", "test")) depends_on("perl-uri@1.59:", type=("build", "run", "test")) depends_on("perl-www-form-urlencoded@0.23:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Plack; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-pod-coverage/package.py b/var/spack/repos/builtin/packages/perl-pod-coverage/package.py index 21f2f660f68bf2..5d05a36b4c5af5 100644 --- a/var/spack/repos/builtin/packages/perl-pod-coverage/package.py +++ b/var/spack/repos/builtin/packages/perl-pod-coverage/package.py @@ -18,11 +18,3 @@ class PerlPodCoverage(PerlPackage): depends_on("perl-devel-symdump@2.01:", type=("build", "run", "test")) depends_on("perl-pod-parser@1.13:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Pod::Coverage; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-pod-parser/package.py b/var/spack/repos/builtin/packages/perl-pod-parser/package.py index 1cc0bbe887bd86..bd3a6097d2522f 100644 --- a/var/spack/repos/builtin/packages/perl-pod-parser/package.py +++ b/var/spack/repos/builtin/packages/perl-pod-parser/package.py @@ -15,11 +15,3 @@ class PerlPodParser(PerlPackage): maintainers("EbiArnie") version("1.67", sha256="5deccbf55d750ce65588cd211c1a03fa1ef3aaa15d1ac2b8d85383a42c1427ea") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Pod::Parser; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-pod-spell/package.py b/var/spack/repos/builtin/packages/perl-pod-spell/package.py index 9ad7c8c5e26ce7..51464e5096e450 100644 --- a/var/spack/repos/builtin/packages/perl-pod-spell/package.py +++ b/var/spack/repos/builtin/packages/perl-pod-spell/package.py @@ -23,11 +23,3 @@ class PerlPodSpell(PerlPackage): depends_on("perl-file-sharedir", type=("build", "run", "test")) depends_on("perl-file-sharedir-install@0.06:", type=("build")) depends_on("perl-lingua-en-inflect", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Pod::Spell; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-posix-strftime-compiler/package.py b/var/spack/repos/builtin/packages/perl-posix-strftime-compiler/package.py index c7097a66f24174..b681a87cb55a5f 100644 --- a/var/spack/repos/builtin/packages/perl-posix-strftime-compiler/package.py +++ b/var/spack/repos/builtin/packages/perl-posix-strftime-compiler/package.py @@ -20,11 +20,3 @@ class PerlPosixStrftimeCompiler(PerlPackage): depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) depends_on("perl-module-build-tiny@0.035:", type=("build")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use POSIX::strftime::Compiler; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-ppi/package.py b/var/spack/repos/builtin/packages/perl-ppi/package.py index 4bcb270d95c5d8..63958f6735d19f 100644 --- a/var/spack/repos/builtin/packages/perl-ppi/package.py +++ b/var/spack/repos/builtin/packages/perl-ppi/package.py @@ -26,11 +26,3 @@ class PerlPpi(PerlPackage): depends_on("perl-test-nowarnings", type=("build", "test")) depends_on("perl-test-object@0.07:", type=("build", "test")) depends_on("perl-test-subcalls@1.07:", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use PPI; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-ppix-quotelike/package.py b/var/spack/repos/builtin/packages/perl-ppix-quotelike/package.py index 8f29f9f315bb48..7f03aeac17df92 100644 --- a/var/spack/repos/builtin/packages/perl-ppix-quotelike/package.py +++ b/var/spack/repos/builtin/packages/perl-ppix-quotelike/package.py @@ -21,11 +21,3 @@ class PerlPpixQuotelike(PerlPackage): depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) depends_on("perl-ppi", type=("build", "run", "test")) depends_on("perl-readonly", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use PPIx::QuoteLike; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-ppix-regexp/package.py b/var/spack/repos/builtin/packages/perl-ppix-regexp/package.py index 32a27ecd3dfa5c..29f65880d24d92 100644 --- a/var/spack/repos/builtin/packages/perl-ppix-regexp/package.py +++ b/var/spack/repos/builtin/packages/perl-ppix-regexp/package.py @@ -21,11 +21,3 @@ class PerlPpixRegexp(PerlPackage): depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) depends_on("perl-ppi", type=("build", "run", "test")) depends_on("perl-task-weaken", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use PPIx::Regexp; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-ppix-utils/package.py b/var/spack/repos/builtin/packages/perl-ppix-utils/package.py index 447dd376b574b6..285d9fb1efd0fe 100644 --- a/var/spack/repos/builtin/packages/perl-ppix-utils/package.py +++ b/var/spack/repos/builtin/packages/perl-ppix-utils/package.py @@ -21,11 +21,3 @@ class PerlPpixUtils(PerlPackage): depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) depends_on("perl-b-keywords@1.09:", type=("build", "run", "test")) depends_on("perl-ppi@1.250:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use PPIx::Utils; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-proc-daemon/package.py b/var/spack/repos/builtin/packages/perl-proc-daemon/package.py index 85561e02719c9b..42b513e0e73937 100644 --- a/var/spack/repos/builtin/packages/perl-proc-daemon/package.py +++ b/var/spack/repos/builtin/packages/perl-proc-daemon/package.py @@ -17,11 +17,3 @@ class PerlProcDaemon(PerlPackage): version("0.23", sha256="34c0b85b7948b431cbabc97cee580835e515ccf43badbd8339eb109474089b69") depends_on("perl-proc-processtable", type=("build", "link")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Proc::Daemon; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-proc-processtable/package.py b/var/spack/repos/builtin/packages/perl-proc-processtable/package.py index 3c432fd9cbe0ff..efc7faaa40b2f5 100644 --- a/var/spack/repos/builtin/packages/perl-proc-processtable/package.py +++ b/var/spack/repos/builtin/packages/perl-proc-processtable/package.py @@ -19,11 +19,3 @@ class PerlProcProcesstable(PerlPackage): version("0.636", sha256="944224ffb00fc1ef35069633770a0afda8623b5c7532d1e4ab48a9df394890fd") depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Proc::ProcessTable; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-readonly-xs/package.py b/var/spack/repos/builtin/packages/perl-readonly-xs/package.py index 0afdf18d3b7209..6fb89a9776f667 100644 --- a/var/spack/repos/builtin/packages/perl-readonly-xs/package.py +++ b/var/spack/repos/builtin/packages/perl-readonly-xs/package.py @@ -19,7 +19,3 @@ class PerlReadonlyXs(PerlPackage): version("1.05", sha256="8ae5c4e85299e5c8bddd1b196f2eea38f00709e0dc0cb60454dc9114ae3fff0d") depends_on("perl-readonly@1.02:", type=("build", "run", "test")) - - def test_use(self): - # This module can not be "use"d. - pass diff --git a/var/spack/repos/builtin/packages/perl-ref-util/package.py b/var/spack/repos/builtin/packages/perl-ref-util/package.py index 7a9a9aae5cb0b4..7dccc336adeaf5 100644 --- a/var/spack/repos/builtin/packages/perl-ref-util/package.py +++ b/var/spack/repos/builtin/packages/perl-ref-util/package.py @@ -19,11 +19,3 @@ class PerlRefUtil(PerlPackage): version("0.204", sha256="415fa73dbacf44f3d5d79c14888cc994562720ab468e6f71f91cd1f769f105e1") depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Ref::Util; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-rose-datetime/package.py b/var/spack/repos/builtin/packages/perl-rose-datetime/package.py index 06aed7f5cde4d6..c64da2ef5d3803 100644 --- a/var/spack/repos/builtin/packages/perl-rose-datetime/package.py +++ b/var/spack/repos/builtin/packages/perl-rose-datetime/package.py @@ -18,11 +18,3 @@ class PerlRoseDatetime(PerlPackage): depends_on("perl-datetime", type=("build", "run", "test")) depends_on("perl-rose-object@0.82:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Rose::DateTime; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-rose-db-object/package.py b/var/spack/repos/builtin/packages/perl-rose-db-object/package.py index ece7d1107b556f..1425d742f4c4d8 100644 --- a/var/spack/repos/builtin/packages/perl-rose-db-object/package.py +++ b/var/spack/repos/builtin/packages/perl-rose-db-object/package.py @@ -28,11 +28,3 @@ class PerlRoseDbObject(PerlPackage): depends_on("perl-rose-db@0.782:", type=("build", "run", "test")) depends_on("perl-rose-object@0.854:", type=("build", "run", "test")) depends_on("perl-time-clock@1.00:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Rose::DB::Object; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-rose-db/package.py b/var/spack/repos/builtin/packages/perl-rose-db/package.py index 249c0836e76e9b..1a662fe74e5a18 100644 --- a/var/spack/repos/builtin/packages/perl-rose-db/package.py +++ b/var/spack/repos/builtin/packages/perl-rose-db/package.py @@ -30,11 +30,3 @@ class PerlRoseDb(PerlPackage): depends_on("perl-rose-object@0.854:", type=("build", "run", "test")) depends_on("perl-sql-reservedwords", type=("build", "run", "test")) depends_on("perl-time-clock", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Rose::DB; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-rose-object/package.py b/var/spack/repos/builtin/packages/perl-rose-object/package.py index 66502b14c81a39..2da6683be5e230 100644 --- a/var/spack/repos/builtin/packages/perl-rose-object/package.py +++ b/var/spack/repos/builtin/packages/perl-rose-object/package.py @@ -17,11 +17,3 @@ class PerlRoseObject(PerlPackage): version("0.860", sha256="f3ff294097b1a4b02a4bae6dc3544ded744a08972e831c1d2741083403197f47") depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Rose::Object; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-safe-isa/package.py b/var/spack/repos/builtin/packages/perl-safe-isa/package.py index 10856f7ccfe8ba..3fd08f69140707 100644 --- a/var/spack/repos/builtin/packages/perl-safe-isa/package.py +++ b/var/spack/repos/builtin/packages/perl-safe-isa/package.py @@ -19,11 +19,3 @@ class PerlSafeIsa(PerlPackage): version("1.000010", sha256="87f4148aa0ff1d5e652723322eab7dafa3801c967d6f91ac9147a3c467b8a66a") depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Safe::Isa; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-scope-guard/package.py b/var/spack/repos/builtin/packages/perl-scope-guard/package.py index fe0d5685a8c735..486bc04f4aad09 100644 --- a/var/spack/repos/builtin/packages/perl-scope-guard/package.py +++ b/var/spack/repos/builtin/packages/perl-scope-guard/package.py @@ -17,11 +17,3 @@ class PerlScopeGuard(PerlPackage): version("0.21", sha256="8c9b1bea5c56448e2c3fadc65d05be9e4690a3823a80f39d2f10fdd8f777d278") depends_on("perl@5.6.1:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Scope::Guard; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-search-elasticsearch/package.py b/var/spack/repos/builtin/packages/perl-search-elasticsearch/package.py index 9deffd5670fc28..eac00923abbaed 100644 --- a/var/spack/repos/builtin/packages/perl-search-elasticsearch/package.py +++ b/var/spack/repos/builtin/packages/perl-search-elasticsearch/package.py @@ -38,11 +38,3 @@ class PerlSearchElasticsearch(PerlPackage): depends_on("perl-test-sharedfork", type=("build", "test")) depends_on("perl-try-tiny", type=("build", "run", "test")) depends_on("perl-uri", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Search::Elasticsearch; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-sereal-decoder/package.py b/var/spack/repos/builtin/packages/perl-sereal-decoder/package.py index cb905aa8d4a739..000887a6bee4ae 100644 --- a/var/spack/repos/builtin/packages/perl-sereal-decoder/package.py +++ b/var/spack/repos/builtin/packages/perl-sereal-decoder/package.py @@ -34,11 +34,3 @@ def setup_build_environment(self, env): env.set("USE_UNALIGNED", "1") env.set("NO_ASM", "0") env.set("ZSTD_DISABLE_ASM", "0") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Sereal::Decoder; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-sereal-encoder/package.py b/var/spack/repos/builtin/packages/perl-sereal-encoder/package.py index 5d2fd935a137bd..6c27d95527f033 100644 --- a/var/spack/repos/builtin/packages/perl-sereal-encoder/package.py +++ b/var/spack/repos/builtin/packages/perl-sereal-encoder/package.py @@ -35,11 +35,3 @@ def setup_build_environment(self, env): env.set("USE_UNALIGNED", "1") env.set("NO_ASM", "0") env.set("ZSTD_DISABLE_ASM", "0") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Sereal::Encoder; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-sereal/package.py b/var/spack/repos/builtin/packages/perl-sereal/package.py index b0ea747278ff8d..65f995087f4f6b 100644 --- a/var/spack/repos/builtin/packages/perl-sereal/package.py +++ b/var/spack/repos/builtin/packages/perl-sereal/package.py @@ -25,11 +25,3 @@ class PerlSereal(PerlPackage): depends_on("perl-test-differences", type=("build", "test")) depends_on("perl-test-longstring", type=("build", "test")) depends_on("perl-test-warn", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Sereal; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-server-starter/package.py b/var/spack/repos/builtin/packages/perl-server-starter/package.py index c78c7089654bbc..842f59d7000111 100644 --- a/var/spack/repos/builtin/packages/perl-server-starter/package.py +++ b/var/spack/repos/builtin/packages/perl-server-starter/package.py @@ -22,11 +22,3 @@ class PerlServerStarter(PerlPackage): depends_on("perl-test-requires", type=("build", "test")) depends_on("perl-test-sharedfork", type=("build", "test")) depends_on("perl-test-tcp@2.08:", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Server::Starter; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-set-object/package.py b/var/spack/repos/builtin/packages/perl-set-object/package.py index 2235a15489e1a9..c480cf9b9049fc 100644 --- a/var/spack/repos/builtin/packages/perl-set-object/package.py +++ b/var/spack/repos/builtin/packages/perl-set-object/package.py @@ -15,11 +15,3 @@ class PerlSetObject(PerlPackage): maintainers("EbiArnie") version("1.42", sha256="d18c5a8a233eabbd0206cf3da5b00fcdd7b37febf12a93dcc3d1c026e6fdec45") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Set::Object; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-specio/package.py b/var/spack/repos/builtin/packages/perl-specio/package.py index 3a50251d9973fd..1de1d5bc17e335 100644 --- a/var/spack/repos/builtin/packages/perl-specio/package.py +++ b/var/spack/repos/builtin/packages/perl-specio/package.py @@ -28,11 +28,3 @@ class PerlSpecio(PerlPackage): depends_on("perl-test-fatal", type=("build", "run", "test")) depends_on("perl-test-needs", type=("build", "test")) depends_on("perl-try-tiny", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Specio; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-spiffy/package.py b/var/spack/repos/builtin/packages/perl-spiffy/package.py index c483769dfd54ba..41fe2463a54f36 100644 --- a/var/spack/repos/builtin/packages/perl-spiffy/package.py +++ b/var/spack/repos/builtin/packages/perl-spiffy/package.py @@ -19,11 +19,3 @@ class PerlSpiffy(PerlPackage): version("0.46", sha256="8f58620a8420255c49b6c43c5ff5802bd25e4f09240c51e5bf2b022833d41da3") depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Spiffy; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-sql-abstract-classic/package.py b/var/spack/repos/builtin/packages/perl-sql-abstract-classic/package.py index 7a800b97ad6e12..5b7a2a19eb40c2 100644 --- a/var/spack/repos/builtin/packages/perl-sql-abstract-classic/package.py +++ b/var/spack/repos/builtin/packages/perl-sql-abstract-classic/package.py @@ -24,11 +24,3 @@ class PerlSqlAbstractClassic(PerlPackage): depends_on("perl-test-deep@0.101:", type=("build", "link")) depends_on("perl-test-exception@0.31:", type=("build", "link")) depends_on("perl-test-warn", type=("build", "link")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use SQL::Abstract::Classic; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-sql-abstract/package.py b/var/spack/repos/builtin/packages/perl-sql-abstract/package.py index 3fdfc9d55c1759..cf2d4ad58ebb06 100644 --- a/var/spack/repos/builtin/packages/perl-sql-abstract/package.py +++ b/var/spack/repos/builtin/packages/perl-sql-abstract/package.py @@ -27,11 +27,3 @@ class PerlSqlAbstract(PerlPackage): depends_on("perl-test-deep@0.101:", type=("build", "run", "test")) depends_on("perl-test-exception@0.31:", type=("build", "test")) depends_on("perl-test-warn", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use SQL::Abstract; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-sql-reservedwords/package.py b/var/spack/repos/builtin/packages/perl-sql-reservedwords/package.py index 19dc0b884b65ac..169049de29472d 100644 --- a/var/spack/repos/builtin/packages/perl-sql-reservedwords/package.py +++ b/var/spack/repos/builtin/packages/perl-sql-reservedwords/package.py @@ -17,11 +17,3 @@ class PerlSqlReservedwords(PerlPackage): version("0.8", sha256="09f4aecf1bd8efdd3f9b39f16a240c4e9ceb61eb295b88145c96eb9d58504a2a") depends_on("perl-sub-exporter", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use SQL::ReservedWords; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-sql-translator/package.py b/var/spack/repos/builtin/packages/perl-sql-translator/package.py index 889c274318bd08..34b5544a68add3 100644 --- a/var/spack/repos/builtin/packages/perl-sql-translator/package.py +++ b/var/spack/repos/builtin/packages/perl-sql-translator/package.py @@ -33,11 +33,3 @@ class PerlSqlTranslator(PerlPackage): depends_on("perl-try-tiny@0.04:", type=("build", "run", "test")) depends_on("perl-xml-writer@0.500:", type=("build", "test")) depends_on("perl-yaml@0.66:", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use SQL::Translator; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-starman/package.py b/var/spack/repos/builtin/packages/perl-starman/package.py index e5f7ddf11e8099..f1639a23c2eab9 100644 --- a/var/spack/repos/builtin/packages/perl-starman/package.py +++ b/var/spack/repos/builtin/packages/perl-starman/package.py @@ -29,11 +29,3 @@ class PerlStarman(PerlPackage): depends_on("perl-plack@0.9971:", type=("build", "run", "test")) depends_on("perl-test-requires", type=("build", "test")) depends_on("perl-test-tcp@2.00:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Starman; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-stream-buffered/package.py b/var/spack/repos/builtin/packages/perl-stream-buffered/package.py index dd784edec6683e..ea58d9b8be82df 100644 --- a/var/spack/repos/builtin/packages/perl-stream-buffered/package.py +++ b/var/spack/repos/builtin/packages/perl-stream-buffered/package.py @@ -19,11 +19,3 @@ class PerlStreamBuffered(PerlPackage): version("0.03", sha256="9b2d4390b5de6b0cf4558e4ad04317a73c5e13dd19af29149c4e47c37fb2423b") depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Stream::Buffered; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-strictures/package.py b/var/spack/repos/builtin/packages/perl-strictures/package.py index bfd4c7d661d3d0..534da2cb8c634e 100644 --- a/var/spack/repos/builtin/packages/perl-strictures/package.py +++ b/var/spack/repos/builtin/packages/perl-strictures/package.py @@ -19,11 +19,3 @@ class PerlStrictures(PerlPackage): version("2.000006", sha256="09d57974a6d1b2380c802870fed471108f51170da81458e2751859f2714f8d57") depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use strictures; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-string-approx/package.py b/var/spack/repos/builtin/packages/perl-string-approx/package.py index bdc23394f4d4da..aa25c0bf84dd4e 100644 --- a/var/spack/repos/builtin/packages/perl-string-approx/package.py +++ b/var/spack/repos/builtin/packages/perl-string-approx/package.py @@ -15,11 +15,3 @@ class PerlStringApprox(PerlPackage): maintainers("EbiArnie") version("3.28", sha256="43201e762d8699cb0ac2c0764a5454bdc2306c0771014d6c8fba821480631342") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use String::Approx; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-string-crc32/package.py b/var/spack/repos/builtin/packages/perl-string-crc32/package.py index e95085e3997507..dbe2eced521b28 100644 --- a/var/spack/repos/builtin/packages/perl-string-crc32/package.py +++ b/var/spack/repos/builtin/packages/perl-string-crc32/package.py @@ -17,11 +17,3 @@ class PerlStringCrc32(PerlPackage): license("CC0-1.0 OR SSLeay") version("2.100", sha256="9706093b2d068b6715d35b4c58f51558e37960083202129fbb00a57e19a74713") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use String::CRC32; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-string-format/package.py b/var/spack/repos/builtin/packages/perl-string-format/package.py index 64c188c874b3c2..3e0dfe1c089c8e 100644 --- a/var/spack/repos/builtin/packages/perl-string-format/package.py +++ b/var/spack/repos/builtin/packages/perl-string-format/package.py @@ -15,11 +15,3 @@ class PerlStringFormat(PerlPackage): maintainers("EbiArnie") version("1.18", sha256="9e417a8f8d9ea623beea2d13a47c0d5a696fc8602c0509b826cd45f97b76e778") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use String::Format; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-string-numeric/package.py b/var/spack/repos/builtin/packages/perl-string-numeric/package.py index 5a493b513d590e..06cc52ba517253 100644 --- a/var/spack/repos/builtin/packages/perl-string-numeric/package.py +++ b/var/spack/repos/builtin/packages/perl-string-numeric/package.py @@ -20,11 +20,3 @@ class PerlStringNumeric(PerlPackage): depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) depends_on("perl-test-exception", type=("build", "link")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use String::Numeric; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-string-rewriteprefix/package.py b/var/spack/repos/builtin/packages/perl-string-rewriteprefix/package.py index e40b481e1d8e46..e58378fa547bd0 100644 --- a/var/spack/repos/builtin/packages/perl-string-rewriteprefix/package.py +++ b/var/spack/repos/builtin/packages/perl-string-rewriteprefix/package.py @@ -20,11 +20,3 @@ class PerlStringRewriteprefix(PerlPackage): depends_on("perl@5.12.0:", type=("build", "link", "run", "test")) depends_on("perl-sub-exporter@0.972:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use String::RewritePrefix; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-term-ansicolor-markup/package.py b/var/spack/repos/builtin/packages/perl-term-ansicolor-markup/package.py index f7b2819bde025d..dfd878a3fd4dab 100644 --- a/var/spack/repos/builtin/packages/perl-term-ansicolor-markup/package.py +++ b/var/spack/repos/builtin/packages/perl-term-ansicolor-markup/package.py @@ -23,11 +23,3 @@ class PerlTermAnsicolorMarkup(PerlPackage): depends_on("perl-html-parser", type=("build", "run", "test")) depends_on("perl-test-exception", type=("build", "link")) depends_on("perl-module-install", type=("build", "link")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Term::ANSIColor::Markup; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-term-table/package.py b/var/spack/repos/builtin/packages/perl-term-table/package.py index 2186dd0a1bd39f..9dda1455182db3 100644 --- a/var/spack/repos/builtin/packages/perl-term-table/package.py +++ b/var/spack/repos/builtin/packages/perl-term-table/package.py @@ -19,11 +19,3 @@ class PerlTermTable(PerlPackage): version("0.018", sha256="9159b9131ee6b3f3956b74f45422985553574babbfaeba60be5c17bc114ac011") depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Term::Table; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-base/package.py b/var/spack/repos/builtin/packages/perl-test-base/package.py index 19ba1be2d08ec8..2aa5da5cd159d7 100644 --- a/var/spack/repos/builtin/packages/perl-test-base/package.py +++ b/var/spack/repos/builtin/packages/perl-test-base/package.py @@ -22,11 +22,3 @@ class PerlTestBase(PerlPackage): depends_on("perl-algorithm-diff@1.15:", type=("build", "test")) depends_on("perl-spiffy@0.40:", type=("run", "test")) depends_on("perl-text-diff@0.35:", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::Base; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-class/package.py b/var/spack/repos/builtin/packages/perl-test-class/package.py index 536aea32d2b508..5e6c571ca59eb3 100644 --- a/var/spack/repos/builtin/packages/perl-test-class/package.py +++ b/var/spack/repos/builtin/packages/perl-test-class/package.py @@ -23,11 +23,3 @@ class PerlTestClass(PerlPackage): depends_on("perl-mro-compat@0.11:", type=("build", "run", "test")) depends_on("perl-test-exception@0.25:", type=("build", "test")) depends_on("perl-try-tiny", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::Class; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-diaginc/package.py b/var/spack/repos/builtin/packages/perl-test-diaginc/package.py index 678c8d7afb0387..447430c43ace17 100644 --- a/var/spack/repos/builtin/packages/perl-test-diaginc/package.py +++ b/var/spack/repos/builtin/packages/perl-test-diaginc/package.py @@ -20,11 +20,3 @@ class PerlTestDiaginc(PerlPackage): depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) depends_on("perl-capture-tiny@0.21:", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::DiagINC; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-file-contents/package.py b/var/spack/repos/builtin/packages/perl-test-file-contents/package.py index 43f9171032dd2c..a3f4140b4c3265 100644 --- a/var/spack/repos/builtin/packages/perl-test-file-contents/package.py +++ b/var/spack/repos/builtin/packages/perl-test-file-contents/package.py @@ -20,11 +20,3 @@ class PerlTestFileContents(PerlPackage): depends_on("perl@5.8.3:", type=("build", "link", "run", "test")) depends_on("perl-text-diff@0.35:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::File::Contents; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-file-sharedir/package.py b/var/spack/repos/builtin/packages/perl-test-file-sharedir/package.py index ad44003ff93cac..731e7b61e01da7 100644 --- a/var/spack/repos/builtin/packages/perl-test-file-sharedir/package.py +++ b/var/spack/repos/builtin/packages/perl-test-file-sharedir/package.py @@ -25,11 +25,3 @@ class PerlTestFileSharedir(PerlPackage): depends_on("perl-path-tiny@0.018:", type=("build", "run", "test")) depends_on("perl-scope-guard", type=("build", "run", "test")) depends_on("perl-test-fatal", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::File::ShareDir; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-json/package.py b/var/spack/repos/builtin/packages/perl-test-json/package.py index b3c079e4b09e62..197f262f72b64d 100644 --- a/var/spack/repos/builtin/packages/perl-test-json/package.py +++ b/var/spack/repos/builtin/packages/perl-test-json/package.py @@ -20,11 +20,3 @@ class PerlTestJson(PerlPackage): depends_on("perl-json-any@1.2:", type=("build", "run", "test")) depends_on("perl-test-differences@0.47:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::JSON; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-longstring/package.py b/var/spack/repos/builtin/packages/perl-test-longstring/package.py index e611ffce4145c7..8534afdc9fd273 100644 --- a/var/spack/repos/builtin/packages/perl-test-longstring/package.py +++ b/var/spack/repos/builtin/packages/perl-test-longstring/package.py @@ -17,11 +17,3 @@ class PerlTestLongstring(PerlPackage): license("Artistic-1.0-Perl OR GPL-1.0-or-later") version("0.17", sha256="abc4349eaf04d1bec1e464166a3018591ea846d8f3c5c9c8af4ac4905d3e974f") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::LongString; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-mockobject/package.py b/var/spack/repos/builtin/packages/perl-test-mockobject/package.py index a5405f9ee6202b..451860f89defcd 100644 --- a/var/spack/repos/builtin/packages/perl-test-mockobject/package.py +++ b/var/spack/repos/builtin/packages/perl-test-mockobject/package.py @@ -25,11 +25,3 @@ class PerlTestMockobject(PerlPackage): depends_on("perl-test-warn@0.23:", type=("build", "test")) depends_on("perl-universal-can@1.20110617:", type=("build", "run", "test")) depends_on("perl-universal-isa@1.20110614:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::MockObject; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-mocktime/package.py b/var/spack/repos/builtin/packages/perl-test-mocktime/package.py index cdd0b0e33852a8..92fd8bfe0b5920 100644 --- a/var/spack/repos/builtin/packages/perl-test-mocktime/package.py +++ b/var/spack/repos/builtin/packages/perl-test-mocktime/package.py @@ -17,11 +17,3 @@ class PerlTestMocktime(PerlPackage): license("Artistic-1.0-Perl OR GPL-1.0-or-later") version("0.17", sha256="3363e118b2606f1d6abc956f22b0d09109772b7086155fb5c9c7f983350602f9") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::MockTime; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-object/package.py b/var/spack/repos/builtin/packages/perl-test-object/package.py index 882e412f80da23..1517be08824cc6 100644 --- a/var/spack/repos/builtin/packages/perl-test-object/package.py +++ b/var/spack/repos/builtin/packages/perl-test-object/package.py @@ -19,11 +19,3 @@ class PerlTestObject(PerlPackage): version("0.08", sha256="65278964147837313f4108e55b59676e8a364d6edf01b3dc198aee894ab1d0bb") depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::Object; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-output/package.py b/var/spack/repos/builtin/packages/perl-test-output/package.py index 437a6d79659324..1c4024933e3458 100644 --- a/var/spack/repos/builtin/packages/perl-test-output/package.py +++ b/var/spack/repos/builtin/packages/perl-test-output/package.py @@ -11,7 +11,6 @@ class PerlTestOutput(PerlPackage): homepage = "https://github.com/briandfoy/test-output" url = "https://github.com/briandfoy/test-output/archive/release-1.033.tar.gz" - license("Artistic-2.0") version("1.033", sha256="35f0a4ef2449fc78886b4c99e1c1d23f432c2fae98538a4489439eb17223bfc2") diff --git a/var/spack/repos/builtin/packages/perl-test-perl-critic/package.py b/var/spack/repos/builtin/packages/perl-test-perl-critic/package.py index fc3a0655b8d0bd..e502267ab54123 100644 --- a/var/spack/repos/builtin/packages/perl-test-perl-critic/package.py +++ b/var/spack/repos/builtin/packages/perl-test-perl-critic/package.py @@ -20,11 +20,3 @@ class PerlTestPerlCritic(PerlPackage): depends_on("perl-mce@1.827:", type=("build", "run", "test")) depends_on("perl-perl-critic@1.105:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::Perl::Critic; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-pod-coverage/package.py b/var/spack/repos/builtin/packages/perl-test-pod-coverage/package.py index a1260e68b7d74d..7b4b5938573de3 100644 --- a/var/spack/repos/builtin/packages/perl-test-pod-coverage/package.py +++ b/var/spack/repos/builtin/packages/perl-test-pod-coverage/package.py @@ -20,11 +20,3 @@ class PerlTestPodCoverage(PerlPackage): depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) depends_on("perl-pod-coverage", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::Pod::Coverage; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-pod/package.py b/var/spack/repos/builtin/packages/perl-test-pod/package.py index 67147d7354d3e9..5deb242ccd5125 100644 --- a/var/spack/repos/builtin/packages/perl-test-pod/package.py +++ b/var/spack/repos/builtin/packages/perl-test-pod/package.py @@ -19,11 +19,3 @@ class PerlTestPod(PerlPackage): version("1.52", sha256="60a8dbcc60168bf1daa5cc2350236df9343e9878f4ab9830970a5dde6fe8e5fc") depends_on("perl@5.8.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::Pod; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-sharedfork/package.py b/var/spack/repos/builtin/packages/perl-test-sharedfork/package.py index 9a13af50f9ab84..6d99d5acb56dcb 100644 --- a/var/spack/repos/builtin/packages/perl-test-sharedfork/package.py +++ b/var/spack/repos/builtin/packages/perl-test-sharedfork/package.py @@ -20,11 +20,3 @@ class PerlTestSharedfork(PerlPackage): depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) depends_on("perl-test-requires", type=("test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::SharedFork; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-subcalls/package.py b/var/spack/repos/builtin/packages/perl-test-subcalls/package.py index d5335b9691880a..1c4b684083ed86 100644 --- a/var/spack/repos/builtin/packages/perl-test-subcalls/package.py +++ b/var/spack/repos/builtin/packages/perl-test-subcalls/package.py @@ -20,11 +20,3 @@ class PerlTestSubcalls(PerlPackage): depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) depends_on("perl-hook-lexwrap@0.20:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::SubCalls; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-tcp/package.py b/var/spack/repos/builtin/packages/perl-test-tcp/package.py index 5562b964361b09..108833965dc928 100644 --- a/var/spack/repos/builtin/packages/perl-test-tcp/package.py +++ b/var/spack/repos/builtin/packages/perl-test-tcp/package.py @@ -20,11 +20,3 @@ class PerlTestTcp(PerlPackage): depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) depends_on("perl-test-sharedfork@0.29:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::TCP; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-time-hires/package.py b/var/spack/repos/builtin/packages/perl-test-time-hires/package.py index 4ef885102e3c4d..bcfcb11432392a 100644 --- a/var/spack/repos/builtin/packages/perl-test-time-hires/package.py +++ b/var/spack/repos/builtin/packages/perl-test-time-hires/package.py @@ -21,11 +21,3 @@ class PerlTestTimeHires(PerlPackage): depends_on("perl@5.8.0:", type=("build", "link", "run", "test")) depends_on("perl-module-build-tiny@0.034:", type=("build")) depends_on("perl-test-time@0.07:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::Time::HiRes; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-time/package.py b/var/spack/repos/builtin/packages/perl-test-time/package.py index f2c19ebed93b1e..ae7658de16868e 100644 --- a/var/spack/repos/builtin/packages/perl-test-time/package.py +++ b/var/spack/repos/builtin/packages/perl-test-time/package.py @@ -17,11 +17,3 @@ class PerlTestTime(PerlPackage): license("Artistic-1.0-Perl OR GPL-1.0-or-later") version("0.092", sha256="30d90f54ce840893c7ba2cac2a4d1eecd4c9cdf805910c595e3ae89dfd644738") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::Time; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-trap/package.py b/var/spack/repos/builtin/packages/perl-test-trap/package.py index 475131124304a2..7a1c2be000d66a 100644 --- a/var/spack/repos/builtin/packages/perl-test-trap/package.py +++ b/var/spack/repos/builtin/packages/perl-test-trap/package.py @@ -25,11 +25,3 @@ def url_for_version(self, version): return ( f"https://cpan.metacpan.org/authors/id/E/EB/EBHANSSEN/Test-Trap-{str(version)}.tar.gz" ) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::Trap; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-warn/package.py b/var/spack/repos/builtin/packages/perl-test-warn/package.py index 851e8dc354b843..f1fb60b7820d29 100644 --- a/var/spack/repos/builtin/packages/perl-test-warn/package.py +++ b/var/spack/repos/builtin/packages/perl-test-warn/package.py @@ -26,11 +26,3 @@ class PerlTestWarn(PerlPackage): depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) depends_on("perl-sub-uplevel@0.12:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::Warn; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-xml-simple/package.py b/var/spack/repos/builtin/packages/perl-test-xml-simple/package.py index 8ed95c6824e0cd..1c367ce69a913b 100644 --- a/var/spack/repos/builtin/packages/perl-test-xml-simple/package.py +++ b/var/spack/repos/builtin/packages/perl-test-xml-simple/package.py @@ -24,11 +24,3 @@ class PerlTestXmlSimple(PerlPackage): # The test suite from upstream is failing, so we just skip the tests def check(self): pass - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::XML::Simple; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-xml/package.py b/var/spack/repos/builtin/packages/perl-test-xml/package.py index 8422de10cec9c4..45b5831eeb6aa1 100644 --- a/var/spack/repos/builtin/packages/perl-test-xml/package.py +++ b/var/spack/repos/builtin/packages/perl-test-xml/package.py @@ -21,11 +21,3 @@ class PerlTestXml(PerlPackage): depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) depends_on("perl-xml-parser@2.34:", type=("build", "run", "test")) depends_on("perl-xml-semanticdiff@0.95:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::XML; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-xpath/package.py b/var/spack/repos/builtin/packages/perl-test-xpath/package.py index 657792c816e254..95802ff27977d9 100644 --- a/var/spack/repos/builtin/packages/perl-test-xpath/package.py +++ b/var/spack/repos/builtin/packages/perl-test-xpath/package.py @@ -20,11 +20,3 @@ class PerlTestXpath(PerlPackage): depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) depends_on("perl-xml-libxml@1.70:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::XPath; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test-yaml/package.py b/var/spack/repos/builtin/packages/perl-test-yaml/package.py index 64ad596d1b808b..36652df3b5acac 100644 --- a/var/spack/repos/builtin/packages/perl-test-yaml/package.py +++ b/var/spack/repos/builtin/packages/perl-test-yaml/package.py @@ -19,11 +19,3 @@ class PerlTestYaml(PerlPackage): version("1.07", sha256="1f300d034f46298cb92960912cc04bac33fb27f05b8852d8f051e110b9cd995f") depends_on("perl-test-base@0.89:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test::YAML; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test2-plugin-nowarnings/package.py b/var/spack/repos/builtin/packages/perl-test2-plugin-nowarnings/package.py index 1aa869f1d69349..3062e047836e7b 100644 --- a/var/spack/repos/builtin/packages/perl-test2-plugin-nowarnings/package.py +++ b/var/spack/repos/builtin/packages/perl-test2-plugin-nowarnings/package.py @@ -20,11 +20,3 @@ class PerlTest2PluginNowarnings(PerlPackage): depends_on("perl-ipc-run3", type=("build", "test")) depends_on("perl-test2-suite", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test2::Plugin::NoWarnings; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-test2-suite/package.py b/var/spack/repos/builtin/packages/perl-test2-suite/package.py index 738a7fe0a1377b..57d5c6732823c3 100644 --- a/var/spack/repos/builtin/packages/perl-test2-suite/package.py +++ b/var/spack/repos/builtin/packages/perl-test2-suite/package.py @@ -20,11 +20,3 @@ class PerlTest2Suite(PerlPackage): depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) depends_on("perl-term-table@0.013:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Test2::Suite; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-text-csv-xs/package.py b/var/spack/repos/builtin/packages/perl-text-csv-xs/package.py index 9162bfccf4c079..e35ccda27cea96 100644 --- a/var/spack/repos/builtin/packages/perl-text-csv-xs/package.py +++ b/var/spack/repos/builtin/packages/perl-text-csv-xs/package.py @@ -19,11 +19,3 @@ class PerlTextCsvXs(PerlPackage): version("1.53", sha256="ba3231610fc755a69e14eb4a3c6d8cce46cc4fd32853777a6c9ce485a8878b42") depends_on("perl@5.6.1:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Text::CSV_XS; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-throwable/package.py b/var/spack/repos/builtin/packages/perl-throwable/package.py index c82b28461d572d..621ec40ac4819e 100644 --- a/var/spack/repos/builtin/packages/perl-throwable/package.py +++ b/var/spack/repos/builtin/packages/perl-throwable/package.py @@ -22,11 +22,3 @@ class PerlThrowable(PerlPackage): depends_on("perl-module-runtime@0.002:", type=("run")) depends_on("perl-moo@1.000001:", type=("run")) depends_on("perl-sub-quote", type=("run")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Throwable; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-tie-ixhash/package.py b/var/spack/repos/builtin/packages/perl-tie-ixhash/package.py index a54e54a26582cb..71557440fe23e0 100644 --- a/var/spack/repos/builtin/packages/perl-tie-ixhash/package.py +++ b/var/spack/repos/builtin/packages/perl-tie-ixhash/package.py @@ -19,11 +19,3 @@ class PerlTieIxhash(PerlPackage): version("1.23", sha256="fabb0b8c97e67c9b34b6cc18ed66f6c5e01c55b257dcf007555e0b027d4caf56") depends_on("perl@5.5.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Tie::IxHash; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-tie-toobject/package.py b/var/spack/repos/builtin/packages/perl-tie-toobject/package.py index 050e144b46e760..80a4ff6205b4bf 100644 --- a/var/spack/repos/builtin/packages/perl-tie-toobject/package.py +++ b/var/spack/repos/builtin/packages/perl-tie-toobject/package.py @@ -15,11 +15,3 @@ class PerlTieToobject(PerlPackage): maintainers("EbiArnie") version("0.03", sha256="a31a0d4430fe14f59622f31db7f25b2275dad2ec52f1040beb030d3e83ad3af4") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Tie::ToObject; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-time-clock/package.py b/var/spack/repos/builtin/packages/perl-time-clock/package.py index 37886caabb1c4a..b8cff2a1fd0b93 100644 --- a/var/spack/repos/builtin/packages/perl-time-clock/package.py +++ b/var/spack/repos/builtin/packages/perl-time-clock/package.py @@ -17,11 +17,3 @@ class PerlTimeClock(PerlPackage): version("1.03", sha256="35e8a8bbfcdb35d86dd4852a9cd32cfb455a9b42e22669186e920c8aca017aef") depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Time::Clock; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-time-duration-parse/package.py b/var/spack/repos/builtin/packages/perl-time-duration-parse/package.py index d2ba3d3ac7febd..2dc6fc65b1120d 100644 --- a/var/spack/repos/builtin/packages/perl-time-duration-parse/package.py +++ b/var/spack/repos/builtin/packages/perl-time-duration-parse/package.py @@ -20,11 +20,3 @@ class PerlTimeDurationParse(PerlPackage): depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) depends_on("perl-time-duration", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Time::Duration::Parse; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-time-duration/package.py b/var/spack/repos/builtin/packages/perl-time-duration/package.py index 4d4edfa5e9a148..3c26ccfc9b9ded 100644 --- a/var/spack/repos/builtin/packages/perl-time-duration/package.py +++ b/var/spack/repos/builtin/packages/perl-time-duration/package.py @@ -19,11 +19,3 @@ class PerlTimeDuration(PerlPackage): version("1.21", sha256="fe340eba8765f9263694674e5dff14833443e19865e5ff427bbd79b7b5f8a9b8") depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Time::Duration; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-tree-simple-visitorfactory/package.py b/var/spack/repos/builtin/packages/perl-tree-simple-visitorfactory/package.py index c0468d9aea5adf..d04e727fb96e18 100644 --- a/var/spack/repos/builtin/packages/perl-tree-simple-visitorfactory/package.py +++ b/var/spack/repos/builtin/packages/perl-tree-simple-visitorfactory/package.py @@ -20,11 +20,3 @@ class PerlTreeSimpleVisitorfactory(PerlPackage): depends_on("perl-test-exception@0.15:", type=("build", "test")) depends_on("perl-tree-simple@1.12:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Tree::Simple::VisitorFactory; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-tree-simple/package.py b/var/spack/repos/builtin/packages/perl-tree-simple/package.py index e047040dc0029a..d91888fe9257a7 100644 --- a/var/spack/repos/builtin/packages/perl-tree-simple/package.py +++ b/var/spack/repos/builtin/packages/perl-tree-simple/package.py @@ -19,11 +19,3 @@ class PerlTreeSimple(PerlPackage): version("1.34", sha256="b7e9799bd222bb94cff993f7d765980cbea1b6cd2aaa5ecbead635abdf47d29c") depends_on("perl-test-exception@0.15:", type=("build", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Tree::Simple; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-type-tiny/package.py b/var/spack/repos/builtin/packages/perl-type-tiny/package.py index 5618667ae1f03b..28006258766106 100644 --- a/var/spack/repos/builtin/packages/perl-type-tiny/package.py +++ b/var/spack/repos/builtin/packages/perl-type-tiny/package.py @@ -20,11 +20,3 @@ class PerlTypeTiny(PerlPackage): depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) depends_on("perl-exporter-tiny@1.006000:", type=("run")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Type::Tiny; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-types-serialiser/package.py b/var/spack/repos/builtin/packages/perl-types-serialiser/package.py index dd3142a4534998..13292c4a9ad116 100644 --- a/var/spack/repos/builtin/packages/perl-types-serialiser/package.py +++ b/var/spack/repos/builtin/packages/perl-types-serialiser/package.py @@ -17,11 +17,3 @@ class PerlTypesSerialiser(PerlPackage): version("1.01", sha256="f8c7173b0914d0e3d957282077b366f0c8c70256715eaef3298ff32b92388a80") depends_on("perl-common-sense", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use Types::Serialiser; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-universal-can/package.py b/var/spack/repos/builtin/packages/perl-universal-can/package.py index d1e6c070fc15da..59b1959dd6e3f3 100644 --- a/var/spack/repos/builtin/packages/perl-universal-can/package.py +++ b/var/spack/repos/builtin/packages/perl-universal-can/package.py @@ -21,11 +21,3 @@ class PerlUniversalCan(PerlPackage): ) depends_on("perl@5.8.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use UNIVERSAL::can; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-universal-isa/package.py b/var/spack/repos/builtin/packages/perl-universal-isa/package.py index da89e1615d21c1..91b3eed7a09e2f 100644 --- a/var/spack/repos/builtin/packages/perl-universal-isa/package.py +++ b/var/spack/repos/builtin/packages/perl-universal-isa/package.py @@ -21,11 +21,3 @@ class PerlUniversalIsa(PerlPackage): ) depends_on("perl@5.6.2:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use UNIVERSAL::isa; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-uri-find/package.py b/var/spack/repos/builtin/packages/perl-uri-find/package.py index 8b9876d9362d91..5f303d2ee7efdb 100644 --- a/var/spack/repos/builtin/packages/perl-uri-find/package.py +++ b/var/spack/repos/builtin/packages/perl-uri-find/package.py @@ -20,11 +20,3 @@ class PerlUriFind(PerlPackage): depends_on("perl@5.8.8:", type=("build", "link", "run", "test")) depends_on("perl-uri@1.60:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use URI::Find; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-uri-ws/package.py b/var/spack/repos/builtin/packages/perl-uri-ws/package.py index bf7349ab6b4160..bed492854f2a85 100644 --- a/var/spack/repos/builtin/packages/perl-uri-ws/package.py +++ b/var/spack/repos/builtin/packages/perl-uri-ws/package.py @@ -20,11 +20,3 @@ class PerlUriWs(PerlPackage): depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) depends_on("perl-uri", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use URI::ws; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-uri/package.py b/var/spack/repos/builtin/packages/perl-uri/package.py index 5ef474fd7fea49..0f28eab7e50ebd 100644 --- a/var/spack/repos/builtin/packages/perl-uri/package.py +++ b/var/spack/repos/builtin/packages/perl-uri/package.py @@ -12,6 +12,8 @@ class PerlUri(PerlPackage): homepage = "https://metacpan.org/pod/URI" url = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/URI-1.72.tar.gz" + skip_modules = ["URI::urn::isbn"] # required missing Business::ISBN + license("GPL-1.0-or-later OR Artistic-1.0-Perl") version("5.08", sha256="7e2c6fe3b1d5947da334fa558a96e748aaa619213b85bcdce5b5347d4d26c46e") diff --git a/var/spack/repos/builtin/packages/perl-www-form-urlencoded/package.py b/var/spack/repos/builtin/packages/perl-www-form-urlencoded/package.py index 053a9322dd8f23..435bda8df4c48c 100644 --- a/var/spack/repos/builtin/packages/perl-www-form-urlencoded/package.py +++ b/var/spack/repos/builtin/packages/perl-www-form-urlencoded/package.py @@ -19,11 +19,3 @@ class PerlWwwFormUrlencoded(PerlPackage): version("0.26", sha256="c0480b5f1f15b71163ec327b8e7842298f0cb3ace97e63d7034af1e94a2d90f4") depends_on("perl@5.8.1:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use WWW::Form::UrlEncoded; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-xml-hash-xs/package.py b/var/spack/repos/builtin/packages/perl-xml-hash-xs/package.py index 1bf9260b8c0359..dce4b09c55b6ce 100644 --- a/var/spack/repos/builtin/packages/perl-xml-hash-xs/package.py +++ b/var/spack/repos/builtin/packages/perl-xml-hash-xs/package.py @@ -17,11 +17,3 @@ class PerlXmlHashXs(PerlPackage): license("Artistic-1.0-Perl OR GPL-1.0-or-later") version("0.56", sha256="be4c60ded94c5ebe53a81ef74928dfbec9613986d2a6056dd253665c6ae9802f") - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use XML::Hash::XS; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-xml-semanticdiff/package.py b/var/spack/repos/builtin/packages/perl-xml-semanticdiff/package.py index 8997eeb661b5c4..f2780c65470181 100644 --- a/var/spack/repos/builtin/packages/perl-xml-semanticdiff/package.py +++ b/var/spack/repos/builtin/packages/perl-xml-semanticdiff/package.py @@ -20,11 +20,3 @@ class PerlXmlSemanticdiff(PerlPackage): depends_on("perl@5.8.0:", type=("build", "link", "run", "test")) depends_on("perl-xml-parser", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use XML::SemanticDiff; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-xml-xpath/package.py b/var/spack/repos/builtin/packages/perl-xml-xpath/package.py index 4fe463cb39ecf6..124761b5499dc3 100644 --- a/var/spack/repos/builtin/packages/perl-xml-xpath/package.py +++ b/var/spack/repos/builtin/packages/perl-xml-xpath/package.py @@ -21,11 +21,3 @@ class PerlXmlXpath(PerlPackage): depends_on("perl@5.10.1:", type=("build", "link", "run", "test")) depends_on("perl-path-tiny@0.076:", type=("build", "link")) depends_on("perl-xml-parser@2.23:", type=("build", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use XML::XPath; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out diff --git a/var/spack/repos/builtin/packages/perl-yaml-syck/package.py b/var/spack/repos/builtin/packages/perl-yaml-syck/package.py index a75a57ef792226..0b1e74eecd48b8 100644 --- a/var/spack/repos/builtin/packages/perl-yaml-syck/package.py +++ b/var/spack/repos/builtin/packages/perl-yaml-syck/package.py @@ -19,11 +19,3 @@ class PerlYamlSyck(PerlPackage): version("1.34", sha256="cc9156ccaebda798ebfe2f31b619e806577f860ed1704262f17ffad3c6e34159") depends_on("perl@5.6.0:", type=("build", "link", "run", "test")) - - def test_use(self): - """Test 'use module'""" - options = ["-we", 'use strict; use YAML::Syck; print("OK\n")'] - - perl = self.spec["perl"].command - out = perl(*options, output=str.split, error=str.split) - assert "OK" in out From e3b6d2c3c7abf933d36adee1aa729230f40c05d5 Mon Sep 17 00:00:00 2001 From: Andrey Perestoronin Date: Tue, 12 Mar 2024 16:54:19 +0000 Subject: [PATCH 028/155] Intel oneapi compilers 2023.2.4 (#43144) * added intel-oneapi-compilers * added classics version --- .../intel-oneapi-compilers-classic/package.py | 2 +- .../packages/intel-oneapi-compilers/package.py | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-compilers-classic/package.py b/var/spack/repos/builtin/packages/intel-oneapi-compilers-classic/package.py index d5c409f7346c84..aefec971976697 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-compilers-classic/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-compilers-classic/package.py @@ -35,7 +35,7 @@ class IntelOneapiCompilersClassic(Package): "2021.7.1": "2022.2.1", "2021.8.0": "2023.0.0", "2021.9.0": "2023.1.0", - "2021.10.0": "2023.2.0", + "2021.10.0": "2023.2.4", "2021.11.1": "2024.0.2", }.items(): # prefer 2021.10.0 because it is the last one that has a C compiler diff --git a/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py b/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py index de9cd5ac60cb2e..1a2721892c59b4 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py @@ -42,6 +42,17 @@ "sha256": "57faf854b8388547ee4ef2db387a9f6f3b4d0cebd67b765cf5e844a0a970d1f9", }, }, + { + "version": "2023.2.4", + "cpp": { + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/b00a4b0e-bd21-41fa-ab34-19e8e2a77c5a/l_dpcpp-cpp-compiler_p_2023.2.4.24_offline.sh", + "sha256": "f143a764adba04a41e49ec405856ad781e5c3754812e90a7ffe06d08cd07f684", + }, + "ftn": { + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/5bfaa204-689d-4bf1-9656-e37e35ea3fc2/l_fortran-compiler_p_2023.2.4.31_offline.sh", + "sha256": "2f327d67cd207399b327df5b7c912baae800811d0180485ef5431f106686c94b", + }, + }, { "version": "2023.2.3", "cpp": { From d6fd96f024c2b845c15af9040bf565bf5212eca8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20K=2E=20Guti=C3=A9rrez?= Date: Tue, 12 Mar 2024 11:28:30 -0600 Subject: [PATCH 029/155] libquo: Update default version from 1.3.1 to 1.4. (#43057) Signed-off-by: Samuel K. Gutierrez --- var/spack/repos/builtin/packages/libquo/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/libquo/package.py b/var/spack/repos/builtin/packages/libquo/package.py index 5aa5d0d7cbfb9e..1c838d9c4a5097 100644 --- a/var/spack/repos/builtin/packages/libquo/package.py +++ b/var/spack/repos/builtin/packages/libquo/package.py @@ -12,7 +12,7 @@ class Libquo(AutotoolsPackage): single- and multi-threaded libraries.""" homepage = "https://github.com/lanl/libquo" - url = "https://lanl.github.io/libquo/dists/libquo-1.3.1.tar.gz" + url = "https://lanl.github.io/libquo/dists/libquo-1.4.tar.gz" git = "https://github.com/lanl/libquo.git" maintainers("samuelkgutierrez") @@ -22,6 +22,7 @@ class Libquo(AutotoolsPackage): license("BSD-3-Clause") version("master", branch="master") + version("1.4", sha256="82395148cdef43c37ef018672307316951e55fc6feffce5ab9b412cfafedffcb") version("1.3.1", sha256="407f7c61cc80aa934cf6086f3516a31dee3b803047713c297102452c3d7d6ed1") version("1.3", sha256="61b0beff15eae4be94b5d3cbcbf7bf757659604465709ed01827cbba45efcf90") version("1.2.9", sha256="0a64bea8f52f9eecd89e4ab82fde1c5bd271f3866c612da0ce7f38049409429b") From 187b8adb4faa7ad8e5de0baab9a610d158772823 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 12 Mar 2024 12:00:15 -0600 Subject: [PATCH 030/155] ecmwf-atlas@0.36: depend on ecbuild@3.4: (#43133) --- var/spack/repos/builtin/packages/ecmwf-atlas/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/ecmwf-atlas/package.py b/var/spack/repos/builtin/packages/ecmwf-atlas/package.py index f1320c926606c1..9a53482b3309a5 100644 --- a/var/spack/repos/builtin/packages/ecmwf-atlas/package.py +++ b/var/spack/repos/builtin/packages/ecmwf-atlas/package.py @@ -32,6 +32,7 @@ class EcmwfAtlas(CMakePackage): version("0.31.0", sha256="fa4ff8665544b8e19f79d171c540a9ca8bfc4127f52a3c4d4d618a2fe23354d7") depends_on("ecbuild", type=("build")) + depends_on("ecbuild@3.4:", type=("build"), when="@0.36.0:") depends_on("eckit@:1.23", when="@:0.33") depends_on("eckit@1.24:", when="@0.34:") depends_on("boost cxxstd=14 visibility=hidden", when="@0.26.0:0.33.99", type=("build", "run")) From e54d4678f909adb7b5e3158b1dd522425a6c51bc Mon Sep 17 00:00:00 2001 From: Christopher Christofi <77968333+ChristopherChristofi@users.noreply.github.com> Date: Tue, 12 Mar 2024 18:14:17 +0000 Subject: [PATCH 031/155] py-lazy-loader: add new version (#43130) --- var/spack/repos/builtin/packages/py-lazy-loader/package.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/py-lazy-loader/package.py b/var/spack/repos/builtin/packages/py-lazy-loader/package.py index 305eb740c89dca..5cc4107ad390c2 100644 --- a/var/spack/repos/builtin/packages/py-lazy-loader/package.py +++ b/var/spack/repos/builtin/packages/py-lazy-loader/package.py @@ -14,6 +14,9 @@ class PyLazyLoader(PythonPackage): license("BSD-3-Clause") + version("0.3", sha256="3b68898e34f5b2a29daaaac172c6555512d0f32074f147e2254e4a6d9d838f37") version("0.1", sha256="77ce7f2737ebabf9c0ff73b4a99c947876d74d24c2f026544e32246ecca5feca") - depends_on("py-flit-core@3.7:3", type="build") + depends_on("python@3.7:") + depends_on("py-flit-core@3.8:3", when="@0.3:", type="build") + depends_on("py-flit-core@3.7:3", when="@0.1", type="build") From aeec861544463accb13375a2bf7b40673e6ce46a Mon Sep 17 00:00:00 2001 From: Christopher Christofi <77968333+ChristopherChristofi@users.noreply.github.com> Date: Tue, 12 Mar 2024 18:29:13 +0000 Subject: [PATCH 032/155] py-art: add new package (#43127) --- .../repos/builtin/packages/py-art/package.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-art/package.py diff --git a/var/spack/repos/builtin/packages/py-art/package.py b/var/spack/repos/builtin/packages/py-art/package.py new file mode 100644 index 00000000000000..f173355ffb9a1c --- /dev/null +++ b/var/spack/repos/builtin/packages/py-art/package.py @@ -0,0 +1,19 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyArt(PythonPackage): + """ASCII art library for Python.""" + + homepage = "https://www.ascii-art.site" + pypi = "art/art-6.1.tar.gz" + + license("MIT") + + version("6.1", sha256="6ab3031e3b7710039e73497b0e750cadfe04d4c1279ce3a123500dbafb9e1b64") + + depends_on("python@3.5:") From 63baba030832087566e933719900a3b976f9938a Mon Sep 17 00:00:00 2001 From: Greg Sjaardema Date: Tue, 12 Mar 2024 12:32:32 -0600 Subject: [PATCH 033/155] SEACAS: Make latest release available in spack (#43123) --- var/spack/repos/builtin/packages/seacas/package.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/var/spack/repos/builtin/packages/seacas/package.py b/var/spack/repos/builtin/packages/seacas/package.py index 393da4a4bdf002..0163bb4b7a9dff 100644 --- a/var/spack/repos/builtin/packages/seacas/package.py +++ b/var/spack/repos/builtin/packages/seacas/package.py @@ -35,6 +35,9 @@ class Seacas(CMakePackage): # ###################### Versions ########################## version("master", branch="master") + version( + "2024-03-11", sha256="b849d958b34e77300aaf331f29c3e6fe417fd82600850a82e674a9b7ba4045ff" + ) version( "2023-11-27", sha256="fea1c0a6959d46af7478c9c16aac64e76c6dc358da38e2fe8793c15c1cffa8fc" ) From f1ec4859c8bfd47ff1565d1eb74bcaab22a7ea16 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Tue, 12 Mar 2024 13:34:17 -0700 Subject: [PATCH 034/155] unmaintained packages: add new versions (#43112) * unmaintained packages: add new versions * Fix parallel and numactl * Revert numactl changes * rollback lua-sol2 version * Update alluxio version format --- .../repos/builtin/packages/abyss/package.py | 1 + .../repos/builtin/packages/ace/package.py | 1 + .../builtin/packages/advancecomp/package.py | 1 + .../repos/builtin/packages/aegean/package.py | 1 + .../repos/builtin/packages/alembic/package.py | 1 + .../repos/builtin/packages/alglib/package.py | 1 + .../repos/builtin/packages/alluxio/package.py | 1 + .../builtin/packages/amrfinder/package.py | 1 + .../repos/builtin/packages/ant/package.py | 1 + .../repos/builtin/packages/ants/package.py | 1 + .../repos/builtin/packages/aria2/package.py | 1 + .../builtin/packages/armadillo/package.py | 1 + .../builtin/packages/at-spi2-core/package.py | 4 +++ .../repos/builtin/packages/atompaw/package.py | 1 + .../repos/builtin/packages/axel/package.py | 1 + .../packages/bash-completion/package.py | 5 +-- .../repos/builtin/packages/bitmap/package.py | 1 + .../repos/builtin/packages/bracken/package.py | 1 + .../repos/builtin/packages/branson/package.py | 7 +++-- .../repos/builtin/packages/brotli/package.py | 1 + .../repos/builtin/packages/busybox/package.py | 5 +-- .../repos/builtin/packages/c-ares/package.py | 1 + .../repos/builtin/packages/cairo/package.py | 1 + .../packages/candle-benchmarks/package.py | 1 + .../builtin/packages/capstone/package.py | 1 + .../repos/builtin/packages/cargs/package.py | 1 + .../repos/builtin/packages/cbc/package.py | 9 +++--- .../repos/builtin/packages/cgl/package.py | 9 +++--- .../repos/builtin/packages/cloc/package.py | 7 +++-- .../builtin/packages/codipack/package.py | 1 + .../builtin/packages/coinutils/package.py | 1 + .../packages/commons-logging/package.py | 3 +- .../builtin/packages/cpu-features/package.py | 1 + .../builtin/packages/cracklib/package.py | 1 + .../repos/builtin/packages/cronie/package.py | 1 + .../repos/builtin/packages/ctre/package.py | 1 + .../repos/builtin/packages/czmq/package.py | 1 + .../builtin/packages/dateutils/package.py | 1 + .../builtin/packages/diffutils/package.py | 1 + .../repos/builtin/packages/dlpack/package.py | 1 + .../repos/builtin/packages/dracut/package.py | 1 + .../repos/builtin/packages/dysco/package.py | 1 + .../builtin/packages/ensmallen/package.py | 1 + .../repos/builtin/packages/entt/package.py | 1 + .../packages/eprosima-fastcdr/package.py | 1 + .../repos/builtin/packages/expat/package.py | 1 + .../repos/builtin/packages/faust/package.py | 3 +- .../repos/builtin/packages/figcone/package.py | 1 + .../builtin/packages/fjcontrib/package.py | 1 + .../builtin/packages/flatbuffers/package.py | 5 ++- .../builtin/packages/flexiblas/package.py | 1 + .../builtin/packages/fontconfig/package.py | 3 +- .../builtin/packages/fonttosfnt/package.py | 1 + .../repos/builtin/packages/fullock/package.py | 1 + .../builtin/packages/gatetools/package.py | 1 + .../repos/builtin/packages/gawk/package.py | 1 + .../builtin/packages/gccmakedep/package.py | 1 + .../repos/builtin/packages/glog/package.py | 3 +- .../builtin/packages/go-md2man/package.py | 31 ++----------------- .../repos/builtin/packages/h5utils/package.py | 3 +- .../builtin/packages/harfbuzz/package.py | 13 ++++---- .../repos/builtin/packages/hydra/package.py | 1 + .../repos/builtin/packages/ior/package.py | 1 + .../repos/builtin/packages/isl/package.py | 3 +- .../repos/builtin/packages/kafka/package.py | 3 ++ .../repos/builtin/packages/lbfgspp/package.py | 1 + .../repos/builtin/packages/libbsd/package.py | 1 + .../builtin/packages/libecpint/package.py | 1 + .../repos/builtin/packages/libedit/package.py | 3 ++ .../builtin/packages/libfontenc/package.py | 1 + .../repos/builtin/packages/libgit2/package.py | 5 +-- .../repos/builtin/packages/libical/package.py | 1 + .../repos/builtin/packages/libjpeg/package.py | 1 + .../builtin/packages/libkcapi/package.py | 1 + .../repos/builtin/packages/libluv/package.py | 1 + .../builtin/packages/libmaxminddb/package.py | 1 + .../repos/builtin/packages/libnsl/package.py | 1 + .../repos/builtin/packages/librmm/package.py | 1 + .../repos/builtin/packages/librsb/package.py | 5 +-- .../builtin/packages/libsodium/package.py | 3 +- .../repos/builtin/packages/libspng/package.py | 1 + .../builtin/packages/libtommath/package.py | 3 +- .../repos/builtin/packages/lis/package.py | 1 + .../repos/builtin/packages/listres/package.py | 1 + .../packages/lua-luajit-openresty/package.py | 13 ++++---- .../packages/mariadb-c-client/package.py | 1 + .../repos/builtin/packages/mawk/package.py | 3 ++ .../repos/builtin/packages/memkind/package.py | 3 +- .../builtin/packages/mercurial/package.py | 3 +- .../repos/builtin/packages/mixcr/package.py | 1 + .../builtin/packages/mkfontscale/package.py | 1 + .../builtin/packages/mosquitto/package.py | 1 + .../builtin/packages/mpi-bash/package.py | 5 +-- .../builtin/packages/muparserx/package.py | 1 + .../builtin/packages/nanoflann/package.py | 1 + .../repos/builtin/packages/nanomsg/package.py | 1 + .../builtin/packages/ncompress/package.py | 3 +- .../repos/builtin/packages/netdata/package.py | 1 + .../repos/builtin/packages/ntpoly/package.py | 1 + .../builtin/packages/opencoarrays/package.py | 5 +-- .../repos/builtin/packages/openexr/package.py | 1 + .../builtin/packages/optional-lite/package.py | 3 +- .../builtin/packages/parallel/package.py | 2 +- 103 files changed, 165 insertions(+), 82 deletions(-) diff --git a/var/spack/repos/builtin/packages/abyss/package.py b/var/spack/repos/builtin/packages/abyss/package.py index ec7af42fada492..1e7f8d185e96a8 100644 --- a/var/spack/repos/builtin/packages/abyss/package.py +++ b/var/spack/repos/builtin/packages/abyss/package.py @@ -27,6 +27,7 @@ class Abyss(AutotoolsPackage): homepage = "https://www.bcgsc.ca/platform/bioinfo/software/abyss" url = "https://github.com/bcgsc/abyss/releases/download/2.3.1/abyss-2.3.1.tar.gz" + version("2.3.7", sha256="ba37780e79ec3aa359b6003e383caef13479a87f4d0022af01b86398f9ffca1f") version("2.3.5", sha256="5455f7708531681ee15ec4fd5620526a53c86d28f959e630dc495f526b7d40f7") version("2.3.1", sha256="664045e7903e9732411effc38edb9ebb1a0c1b7636c64b3a14a681f465f43677") version("2.3.0", sha256="3df923b0699187fb27948cae43293eeb5745161d5dc484b9befbe2ca8efb6ad7") diff --git a/var/spack/repos/builtin/packages/ace/package.py b/var/spack/repos/builtin/packages/ace/package.py index 3ca7cbf6d140d1..0b18d4f0da50b4 100644 --- a/var/spack/repos/builtin/packages/ace/package.py +++ b/var/spack/repos/builtin/packages/ace/package.py @@ -18,6 +18,7 @@ class Ace(MakefilePackage): license("DOC") + version("7.1.3", sha256="4cb82d8daf83f3abe50ac460b4fac9a8da2512f08d8efb4d327dcacd0b3929b3") version("7.1.0", sha256="d78d9f3f2dee6ccb46a8c296367369349054fd475dff3c5b36e2dff3dee0bf8f") version("6.5.12", sha256="de96c68a6262d6b9ba76b5057c02c7e6964c070b1328a63bf70259e9530a7996") version("6.5.6", sha256="7717cad84d4a9c3d6b2c47963eb555d96de0be657870bcab6fcef4c0423af0de") diff --git a/var/spack/repos/builtin/packages/advancecomp/package.py b/var/spack/repos/builtin/packages/advancecomp/package.py index 362de3ab527816..e9d2b348d60937 100644 --- a/var/spack/repos/builtin/packages/advancecomp/package.py +++ b/var/spack/repos/builtin/packages/advancecomp/package.py @@ -15,6 +15,7 @@ class Advancecomp(AutotoolsPackage): license("GPL-3.0-or-later") + version("2.6", sha256="799397b10d087d0147d6af117a5a473120f1369f0a3a3d68bf953abc0b749b75") version("2.5", sha256="b6b4333453f028565896dd3547bc930f062df82832d7992cc130ca951c2890a1") version("2.1", sha256="6113c2b6272334af710ba486e8312faa3cee5bd6dc8ca422d00437725e2b602a") version("2.0", sha256="caa63332cd141db17988eb89c662cf76bdde72f60d4de7cb0fe8c7e51eb40eb7") diff --git a/var/spack/repos/builtin/packages/aegean/package.py b/var/spack/repos/builtin/packages/aegean/package.py index 90d89a635fe8b2..c466ec07cf27fe 100644 --- a/var/spack/repos/builtin/packages/aegean/package.py +++ b/var/spack/repos/builtin/packages/aegean/package.py @@ -17,6 +17,7 @@ class Aegean(MakefilePackage): license("0BSD") + version("0.16.0", sha256="c6303ec58289f6c7bc4dd0edcd0e6c0bce4d95b21e25386f314f2b5e2f835812") version("0.15.2", sha256="734c9dd23ab3415c3966083bfde5fb72c81e6ace84e08ee3fe0d4c338331d975") depends_on("genometools") diff --git a/var/spack/repos/builtin/packages/alembic/package.py b/var/spack/repos/builtin/packages/alembic/package.py index 4b081a988d3804..b0f9ee6ac66b08 100644 --- a/var/spack/repos/builtin/packages/alembic/package.py +++ b/var/spack/repos/builtin/packages/alembic/package.py @@ -17,6 +17,7 @@ class Alembic(CMakePackage): license("BSD-3-Clause") + version("1.8.6", sha256="c572ebdea3a5f0ce13774dd1fceb5b5815265cd1b29d142cf8c144b03c131c8c") version("1.8.5", sha256="180a12f08d391cd89f021f279dbe3b5423b1db751a9898540c8059a45825c2e9") version("1.7.16", sha256="2529586c89459af34d27a36ab114ad1d43dafd44061e65cfcfc73b7457379e7c") diff --git a/var/spack/repos/builtin/packages/alglib/package.py b/var/spack/repos/builtin/packages/alglib/package.py index 2b2c39698dd07c..784dbfb73f1e2c 100644 --- a/var/spack/repos/builtin/packages/alglib/package.py +++ b/var/spack/repos/builtin/packages/alglib/package.py @@ -16,6 +16,7 @@ class Alglib(MakefilePackage): homepage = "https://www.alglib.net/" url = "https://www.alglib.net/translator/re/alglib-3.11.0.cpp.gpl.tgz" + version("4.01.0", sha256="95e8ea41b32c92346f49a694759e786c5f3a1087b401a9259ef592c0eea4befb") version("4.00.0", sha256="827b5f559713a3e8c7c1452ed1ffd5227adb9622d1a165ceb70c117c8ed3ccb4") version("3.20.0", sha256="e7357f0f894313ff1b640ec9cb5e8b63f06d2d3411c2143a374aa0e9740da8a9") version("3.11.0", sha256="34e391594aac89fb354bdaf58c42849489cd1199197398ba98bb69961f42bdb0") diff --git a/var/spack/repos/builtin/packages/alluxio/package.py b/var/spack/repos/builtin/packages/alluxio/package.py index dd266b9a6b6326..f946cab1c2d7bc 100644 --- a/var/spack/repos/builtin/packages/alluxio/package.py +++ b/var/spack/repos/builtin/packages/alluxio/package.py @@ -19,6 +19,7 @@ class Alluxio(Package): license("CC0-1.0") + version("309", sha256="50e031ebc4de257f5676eb8b33029c3017a2c7d6864a0f5fbc68210963a8c3e1") version("2.9.3", sha256="c71abc5e852d37cfd6b1dea076f056c6997e3f60fbb940bf005acb3a6354a369") version("2.9.1", sha256="e9456db7a08488af22dee3a44e4135bc03a0444e31c7753bf00f72465f68ffb9") diff --git a/var/spack/repos/builtin/packages/amrfinder/package.py b/var/spack/repos/builtin/packages/amrfinder/package.py index bca43c520c9fbe..6d5f8cda84b4b1 100644 --- a/var/spack/repos/builtin/packages/amrfinder/package.py +++ b/var/spack/repos/builtin/packages/amrfinder/package.py @@ -18,6 +18,7 @@ class Amrfinder(MakefilePackage): homepage = "https://github.com/ncbi/amr/wiki" url = "https://github.com/ncbi/amr/archive/refs/tags/amrfinder_v3.10.30.tar.gz" + version("3.12.8", sha256="a199bc332877bad9033a7620bc5e8e849db1f19a9ba8b7357ec5451a6a283aa0") version("3.11.8", sha256="8aac87595f28d0ba54ed3e97a1c033f9769a9b03e0aba78bc29cf6aff0cf45d1") version("3.10.42", sha256="97254f8d6217a4618b7f29c05acbcfe0240ee5e98458f8da7df3840b4be39c1b") version("3.10.30", sha256="2f1e30b86935a27cee740bd7229a41fbce278f2f60b33b8e51592bab8bdf23f1") diff --git a/var/spack/repos/builtin/packages/ant/package.py b/var/spack/repos/builtin/packages/ant/package.py index 5a5d1fa6f6f754..9f0bf7d37ceb6d 100644 --- a/var/spack/repos/builtin/packages/ant/package.py +++ b/var/spack/repos/builtin/packages/ant/package.py @@ -17,6 +17,7 @@ class Ant(Package): license("Apache-2.0") + version("1.10.14", sha256="9a5fe31f44d1eb62590cbe38e4fab25b25e2f68643b38a54b66498e0bf621b54") version("1.10.13", sha256="da006f4c888d41d0f3f213565e48aeff73e4d8a6196e494121d8da1e567a8406") # https://nvd.nist.gov/vuln/detail/CVE-2020-1945 diff --git a/var/spack/repos/builtin/packages/ants/package.py b/var/spack/repos/builtin/packages/ants/package.py index 7903536777049d..b125a6e3327c34 100644 --- a/var/spack/repos/builtin/packages/ants/package.py +++ b/var/spack/repos/builtin/packages/ants/package.py @@ -19,6 +19,7 @@ class Ants(CMakePackage): git = "https://github.com/ANTsX/ANTs.git" url = "https://github.com/ANTsX/ANTs/archive/v2.2.0.tar.gz" + version("2.5.1", sha256="8e3a7c0d3dab05883cba466aff262d78d832f679491318b94ce49b606565cebe") version("2.4.3", sha256="13ba78917aca0b20e69f4c43da607f8fe8c810edba23b6f5fd64fbd81b70a79a") version("2.4.0", sha256="a8ff78f4d2b16e495f340c9b0647f56c92cc4fc40b6ae04a60b941e5e239f9be") version("20220205", commit="6f07ac55569d0d085d2adf7888d1c7a2bd563bfe", deprecated=True) diff --git a/var/spack/repos/builtin/packages/aria2/package.py b/var/spack/repos/builtin/packages/aria2/package.py index a1bcca28e7a70b..cdc82973200164 100644 --- a/var/spack/repos/builtin/packages/aria2/package.py +++ b/var/spack/repos/builtin/packages/aria2/package.py @@ -15,6 +15,7 @@ class Aria2(AutotoolsPackage): license("GPL-2.0-or-later") + version("1.37.0", sha256="8e7021c6d5e8f8240c9cc19482e0c8589540836747744724d86bf8af5a21f0e8") version("1.36.0", sha256="b593b2fd382489909c96c62c6e180054c3332b950be3d73e0cb0d21ea8afb3c5") version("1.35.0", sha256="fd85589416f8246cefc4e6ba2fa52da54fdf11fd5602a2db4b6749f7c33b5b2d") version("1.34.0", sha256="ec4866985760b506aa36dc9021dbdc69551c1a647823cae328c30a4f3affaa6c") diff --git a/var/spack/repos/builtin/packages/armadillo/package.py b/var/spack/repos/builtin/packages/armadillo/package.py index 194b75d383f419..3d33b0d38141c9 100644 --- a/var/spack/repos/builtin/packages/armadillo/package.py +++ b/var/spack/repos/builtin/packages/armadillo/package.py @@ -16,6 +16,7 @@ class Armadillo(CMakePackage): license("Apache-2.0") + version("12.8.1", sha256="2781dd3a6cc5f9a49c91a4519dde2b1c24335a5bfe0cc1c9881b6363142452b4") version("12.4.0", sha256="9905282781ced3f99769b0e45a705ecb50192ca1622300707b3302ea167dc883") version("12.2.0", sha256="b0dce042297e865add3351dad77f78c2c7638d6632f58357b015e50edcbd2186") version("12.0.1", sha256="230a5c75daad52dc47e1adce8f5a50f9aa4e4354e0f1bb18ea84efa2e70e20df") diff --git a/var/spack/repos/builtin/packages/at-spi2-core/package.py b/var/spack/repos/builtin/packages/at-spi2-core/package.py index 911e05085a022e..cc8911a29c36a1 100644 --- a/var/spack/repos/builtin/packages/at-spi2-core/package.py +++ b/var/spack/repos/builtin/packages/at-spi2-core/package.py @@ -18,6 +18,7 @@ class AtSpi2Core(MesonPackage): license("LGPL-2.1-or-later") + version("2.51.91", sha256="1344bd5c1732b55fcf3df9e3b87569f60984ae83ce75881b5a057c69f8d73e34") version("2.48.3", sha256="37316df43ca9989ce539d54cf429a768c28bb38a0b34950beadd0421827edf55") version("2.48.0", sha256="905a5b6f1790b68ee803bffa9f5fab4ceb591fb4fae0b2f8c612c54f1d4e8a30") version("2.47.90", sha256="71189c21af7bd084a12ab85b229c2d798936470b12fb0c3f177e37181fb6c00c") @@ -28,7 +29,9 @@ class AtSpi2Core(MesonPackage): depends_on("meson@0.46.0:", type="build") depends_on("glib@2.56.1:") + depends_on("glib@2.68.1:", when="@2.51.91:") depends_on("dbus@1.12.8:") + depends_on("dbus@1.12.20:", when="@2.51.91:") depends_on("gettext") depends_on("libx11") depends_on("libxi") @@ -39,6 +42,7 @@ class AtSpi2Core(MesonPackage): depends_on("pkgconfig", type="build") depends_on("python", type="build") depends_on("gobject-introspection") + depends_on("gobject-introspection@1.68.0:", when="@2.51.91:") @when("@2.40.1:") def patch(self): diff --git a/var/spack/repos/builtin/packages/atompaw/package.py b/var/spack/repos/builtin/packages/atompaw/package.py index 2028645bd8a05d..c056dedccba596 100644 --- a/var/spack/repos/builtin/packages/atompaw/package.py +++ b/var/spack/repos/builtin/packages/atompaw/package.py @@ -21,6 +21,7 @@ class Atompaw(AutotoolsPackage): license("GPL-3.0-only") + version("4.2.0.3", sha256="9fd4f9b60e793eee10aead4296e89f0bd6e8612b729a15e2401bbd90e4e9dd2d") version("4.2.0.2", sha256="c16648611f5798b8e1781fb2229854c54fa63f085bd11440fdc4ecacbf0ad93e") version("4.2.0.1", sha256="d3476a5aa5f80f9430b81f28273c2c2a9b6e7d9c3d08c65544247bb76cd5a114") version("4.2.0.0", sha256="9ab4f4ab78a720fbcd95bbbc1403e8ff348d15570e7c694932a56be15985e93d") diff --git a/var/spack/repos/builtin/packages/axel/package.py b/var/spack/repos/builtin/packages/axel/package.py index e25ab8f192526a..75990f4f940ca4 100644 --- a/var/spack/repos/builtin/packages/axel/package.py +++ b/var/spack/repos/builtin/packages/axel/package.py @@ -14,6 +14,7 @@ class Axel(AutotoolsPackage): license("GPL-2.0-or-later WITH OpenSSL-Exception") + version("2.17.13", sha256="aedd5e0f22d6eda23eece483ce89be4adfdf1e16ba18d54fd6b743da9d49911b") version("2.17.10", sha256="c0d26eba6b94945cd98c5b69ca6df2744639d17bfd49047ef51a8a48f067de10") version("2.16.1", sha256="763066efc61e4f7be2eb59afa049bdbc520837e01c95a78f403e542ad82f2719") diff --git a/var/spack/repos/builtin/packages/bash-completion/package.py b/var/spack/repos/builtin/packages/bash-completion/package.py index 1943a45342c1e8..245be3d518be33 100644 --- a/var/spack/repos/builtin/packages/bash-completion/package.py +++ b/var/spack/repos/builtin/packages/bash-completion/package.py @@ -16,6 +16,7 @@ class BashCompletion(AutotoolsPackage): license("GPL-2.0-or-later") version("develop", branch="master") + version("2.12.0", sha256="5277d347481cb5a05399629f00b7deb4475fe71b8b4f8a219c360213e2113752") version("2.7", sha256="dba2b88c363178622b61258f35d82df64dc8d279359f599e3b93eac0375a416c") version("2.3", sha256="d92fcef5f6e3bbc68a84f0a7b063a1cd07b4000cc6e275cd1ff83863ab3b322a") @@ -41,7 +42,7 @@ def show_message_to_user(self): print("include the following lines in your ~/.bash_profile :") print("") print("# Use bash-completion, if available") - print("[[ $PS1 && -f %s/share/bash-completion/bash_completion ]] && \\" % prefix) - print(" . %s/share/bash-completion/bash_completion" % prefix) + print(f"[[ $PS1 && -f {prefix}/share/bash-completion/bash_completion ]] && \\") + print(f" . {prefix}/share/bash-completion/bash_completion") print("") print("=====================================================") diff --git a/var/spack/repos/builtin/packages/bitmap/package.py b/var/spack/repos/builtin/packages/bitmap/package.py index 095bac8af0dcfa..fc2e3940badd20 100644 --- a/var/spack/repos/builtin/packages/bitmap/package.py +++ b/var/spack/repos/builtin/packages/bitmap/package.py @@ -12,6 +12,7 @@ class Bitmap(AutotoolsPackage, XorgPackage): homepage = "https://cgit.freedesktop.org/xorg/app/bitmap" xorg_mirror_path = "app/bitmap-1.0.8.tar.gz" + version("1.1.1", sha256="86928020ece030435eb5ae795a5f22c5ca0886a6c589187886d1b6d14d9eec81") version("1.1.0", sha256="60ca941e8e38e1f8f9c61d3e86c098878113fd11eac4e07177c111f0bf00779e") version("1.0.8", sha256="1a2fbd10a2ca5cd93f7b77bbb0555b86d8b35e0fc18d036b1607c761755006fc") diff --git a/var/spack/repos/builtin/packages/bracken/package.py b/var/spack/repos/builtin/packages/bracken/package.py index e265fa3188909f..b62f82e638354f 100644 --- a/var/spack/repos/builtin/packages/bracken/package.py +++ b/var/spack/repos/builtin/packages/bracken/package.py @@ -18,6 +18,7 @@ class Bracken(Package): license("GPL-3.0-only") + version("2.9", sha256="b8fd43fc396a2184d9351fb4a459f95ae9bb5865b195a18e22436f643044c788") version("2.8", sha256="b0c8a803cc020b7d1cbca47b53e71e874d9688b836911e4a4b71b0e4b826b61a") version("2.7", sha256="1795ecd9f9e5582f37549795ba68854780936110a2f6f285c3e626d448cd1532") diff --git a/var/spack/repos/builtin/packages/branson/package.py b/var/spack/repos/builtin/packages/branson/package.py index 327a8d9c1696b1..dd52874eea9677 100644 --- a/var/spack/repos/builtin/packages/branson/package.py +++ b/var/spack/repos/builtin/packages/branson/package.py @@ -22,6 +22,7 @@ class Branson(CMakePackage): version("develop", branch="develop") + version("1.01", sha256="90208eaec4f6d64a4fd81cd838e30b5e7207246cb7f407e482965f23bbcee848") version( "0.82", sha256="7d83d41d0c7ab9c1c906a902165af31182da4604dd0b69aec28d709fe4d7a6ec", @@ -44,9 +45,9 @@ class Branson(CMakePackage): def cmake_args(self): spec = self.spec args = [] - args.append("-DCMAKE_C_COMPILER=%s" % spec["mpi"].mpicc) - args.append("-DCMAKE_CXX_COMPILER=%s" % spec["mpi"].mpicxx) - args.append("-DCMAKE_Fortran_COMPILER=%s" % spec["mpi"].mpifc) + args.append(f"-DCMAKE_C_COMPILER={spec['mpi'].mpicc}") + args.append(f"-DCMAKE_CXX_COMPILER={spec['mpi'].mpicxx}") + args.append(f"-DCMAKE_Fortran_COMPILER={spec['mpi'].mpifc}") return args def install(self, spec, prefix): diff --git a/var/spack/repos/builtin/packages/brotli/package.py b/var/spack/repos/builtin/packages/brotli/package.py index 6b78c6c9642c42..1dc4c93352151b 100644 --- a/var/spack/repos/builtin/packages/brotli/package.py +++ b/var/spack/repos/builtin/packages/brotli/package.py @@ -14,6 +14,7 @@ class Brotli(CMakePackage): license("MIT") + version("1.1.0", sha256="e720a6ca29428b803f4ad165371771f5398faba397edf6778837a18599ea13ff") version("1.0.9", sha256="f9e8d81d0405ba66d181529af42a3354f838c939095ff99930da6aa9cdf6fe46") version("1.0.7", sha256="4c61bfb0faca87219ea587326c467b95acb25555b53d1a421ffa3c8a9296ee2c") diff --git a/var/spack/repos/builtin/packages/busybox/package.py b/var/spack/repos/builtin/packages/busybox/package.py index d65a74730c9197..ccecdc8d555605 100644 --- a/var/spack/repos/builtin/packages/busybox/package.py +++ b/var/spack/repos/builtin/packages/busybox/package.py @@ -16,6 +16,7 @@ class Busybox(MakefilePackage): license("GPL-2.0-only") + version("1.36.1", sha256="b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314") version("1.36.0", sha256="542750c8af7cb2630e201780b4f99f3dcceeb06f505b479ec68241c1e6af61a5") version("1.31.1", sha256="d0f940a72f648943c1f2211e0e3117387c31d765137d92bd8284a3fb9752a998") version("1.31.0", sha256="0e4925392fd9f3743cc517e031b68b012b24a63b0cf6c1ff03cce7bb3846cc99") @@ -24,8 +25,8 @@ class Busybox(MakefilePackage): def build(self, spec, prefix): make("defconfig") - make("CC={0}".format(spack_cc)) + make(f"CC={spack_cc}") def install(self, spec, prefix): - make("install", "CC={0}".format(spack_cc)) + make("install", f"CC={spack_cc}") install_tree(".", prefix) diff --git a/var/spack/repos/builtin/packages/c-ares/package.py b/var/spack/repos/builtin/packages/c-ares/package.py index ec3d832848db3b..34beec24bab5cd 100644 --- a/var/spack/repos/builtin/packages/c-ares/package.py +++ b/var/spack/repos/builtin/packages/c-ares/package.py @@ -16,6 +16,7 @@ class CAres(CMakePackage): license("MIT") version("master", branch="master") + version("1.27.0", sha256="de6a839d47b93174ba260187a084027ea681a91ffe12f2d5f20645652eae246c") version("1.15.0", sha256="7deb7872cbd876c29036d5f37e30c4cbc3cc068d59d8b749ef85bb0736649f04") version("1.13.0", sha256="7c48c57706a38691041920e705d2a04426ad9c68d40edd600685323f214b2d57") diff --git a/var/spack/repos/builtin/packages/cairo/package.py b/var/spack/repos/builtin/packages/cairo/package.py index e38fa1ff1b7e10..20cd0c8fbf070b 100644 --- a/var/spack/repos/builtin/packages/cairo/package.py +++ b/var/spack/repos/builtin/packages/cairo/package.py @@ -15,6 +15,7 @@ class Cairo(AutotoolsPackage): license("LGPL-2.1-or-later OR MPL-1.1", checked_by="tgamblin") + version("1.18.0", sha256="243a0736b978a33dee29f9cca7521733b78a65b5418206fef7bd1c3d4cf10b64") version( "1.17.4", sha256="74b24c1ed436bbe87499179a3b27c43f4143b8676d8ad237a6fa787401959705", diff --git a/var/spack/repos/builtin/packages/candle-benchmarks/package.py b/var/spack/repos/builtin/packages/candle-benchmarks/package.py index 87ebe30b18e4ee..a002f6b5b31464 100644 --- a/var/spack/repos/builtin/packages/candle-benchmarks/package.py +++ b/var/spack/repos/builtin/packages/candle-benchmarks/package.py @@ -16,6 +16,7 @@ class CandleBenchmarks(Package): license("MIT") + version("0.5.1", sha256="3d8c4f5a8304ee238e93e88e871a8b4d47d6b377159c048ac6d3ed01b6ffc245") version("0.1", sha256="767f74f43ee3a5d4e0f26750f2a96b8433e25a9cd4f2d29938ac8acf263ab58d") version("0.0", sha256="faa0d24355071de0e375d72ed1a39dcf30006602210cf8cf09db568b5d0b679f") diff --git a/var/spack/repos/builtin/packages/capstone/package.py b/var/spack/repos/builtin/packages/capstone/package.py index cfb392da1b220f..491a488edcf465 100644 --- a/var/spack/repos/builtin/packages/capstone/package.py +++ b/var/spack/repos/builtin/packages/capstone/package.py @@ -17,5 +17,6 @@ class Capstone(CMakePackage): license("BSD-3-Clause-Clear") version("next", branch="next") + version("5.0.1", sha256="2b9c66915923fdc42e0e32e2a9d7d83d3534a45bb235e163a70047951890c01a") version("4.0.2", sha256="7c81d798022f81e7507f1a60d6817f63aa76e489aa4e7055255f21a22f5e526a") version("4.0.1", sha256="79bbea8dbe466bd7d051e037db5961fdb34f67c9fac5c3471dd105cfb1e05dc7") diff --git a/var/spack/repos/builtin/packages/cargs/package.py b/var/spack/repos/builtin/packages/cargs/package.py index abd30b1d92e49e..504914b197c950 100644 --- a/var/spack/repos/builtin/packages/cargs/package.py +++ b/var/spack/repos/builtin/packages/cargs/package.py @@ -17,6 +17,7 @@ class Cargs(CMakePackage): license("MIT") + version("1.1.0", sha256="87e7da5b539f574d48529870cb0620ef5a244a5ee2eac73cc7559dedc04128ca") version("1.0.3", sha256="ddba25bd35e9c6c75bc706c126001b8ce8e084d40ef37050e6aa6963e836eb8b") depends_on("cmake@3.14.7:", type=("build")) diff --git a/var/spack/repos/builtin/packages/cbc/package.py b/var/spack/repos/builtin/packages/cbc/package.py index 191310a756fe14..ee4685c8bf788f 100644 --- a/var/spack/repos/builtin/packages/cbc/package.py +++ b/var/spack/repos/builtin/packages/cbc/package.py @@ -14,14 +14,15 @@ class Cbc(AutotoolsPackage): homepage = "https://projects.coin-or.org/Cbc" url = "https://github.com/coin-or/Cbc/archive/releases/2.10.5.tar.gz" - depends_on("coinutils") - depends_on("osi") - depends_on("cgl") - license("EPL-2.0") + version("2.10.11", sha256="1fb591dd88336fdaf096b8e42e46111e41671a5eb85d4ee36e45baff1678bd33") version("2.10.9", sha256="96d02593b01fd1460d421f002734384e4eb1e93ebe1fb3570dc2b7600f20a27e") version("2.10.8", sha256="8525abb541ee1b8e6ff03b00411b66e98bbc58f95be1aefd49d2bca571be2eaf") version("2.10.5", sha256="cc44c1950ff4615e7791d7e03ea34318ca001d3cac6dc3f7f5ee392459ce6719") + depends_on("coinutils") + depends_on("osi") + depends_on("cgl") + build_directory = "spack-build" diff --git a/var/spack/repos/builtin/packages/cgl/package.py b/var/spack/repos/builtin/packages/cgl/package.py index 75a1f586c3f45f..4aa3e02be2c6c4 100644 --- a/var/spack/repos/builtin/packages/cgl/package.py +++ b/var/spack/repos/builtin/packages/cgl/package.py @@ -17,14 +17,15 @@ class Cgl(AutotoolsPackage): homepage = "https://projects.coin-or.org/Cgl" url = "https://github.com/coin-or/Cgl/archive/releases/0.60.3.tar.gz" - depends_on("coinutils") - depends_on("osi") - depends_on("clp") - license("EPL-2.0") + version("0.60.8", sha256="1482ba38afb783d124df8d5392337f79fdd507716e9f1fb6b98fc090acd1ad96") version("0.60.7", sha256="93b30a80b5d2880c2e72d5877c64bdeaf4d7c1928b3194ea2f88b1aa4517fb1b") version("0.60.6", sha256="9e2c51ffad816ab408763d6b931e2a3060482ee4bf1983148969de96d4b2c9ce") version("0.60.3", sha256="cfeeedd68feab7c0ce377eb9c7b61715120478f12c4dd0064b05ad640e20f3fb") + depends_on("coinutils") + depends_on("osi") + depends_on("clp") + build_directory = "spack-build" diff --git a/var/spack/repos/builtin/packages/cloc/package.py b/var/spack/repos/builtin/packages/cloc/package.py index ea565a768e6f81..1a3d557823003c 100644 --- a/var/spack/repos/builtin/packages/cloc/package.py +++ b/var/spack/repos/builtin/packages/cloc/package.py @@ -14,6 +14,9 @@ class Cloc(Package): homepage = "https://github.com/AlDanial/cloc/" url = "https://github.com/AlDanial/cloc/archive/v1.90.tar.gz" + license("GPL-2.0") + + version("2.00", sha256="ed2422fb5d35b65379d0e63875d78a9f6037e711de47db806d4cb204dddfcc9c") version("1.96.1", sha256="f0551d98dcce9ca2e78b984adf8e8cc7c6002037a1155e5294338c435e4a1af1") version("1.90", sha256="60b429dd2aa5cd65707b359dcbcbeb710c8e4db880886528ced0962c67e52548") version("1.84", sha256="c3f0a6bd2319110418ccb3e55a7a1b6d0edfd7528bfd2ae5d530938abe90f254") @@ -32,5 +35,5 @@ def install(self, spec, prefix): mkdirp(prefix.bin) install("cloc", join_path(prefix.bin, "cloc")) install("sqlite_formatter", join_path(prefix.bin, "sqlite_formatter")) - install("./LICENSE", "%s" % prefix) - install("./README.md", "%s" % prefix) + install("./LICENSE", f"{prefix}") + install("./README.md", f"{prefix}") diff --git a/var/spack/repos/builtin/packages/codipack/package.py b/var/spack/repos/builtin/packages/codipack/package.py index dda34654614a9b..6d6577f6a82d17 100644 --- a/var/spack/repos/builtin/packages/codipack/package.py +++ b/var/spack/repos/builtin/packages/codipack/package.py @@ -16,6 +16,7 @@ class Codipack(CMakePackage, Package): url = "https://github.com/SciCompKL/CoDiPack/archive/refs/tags/v2.1.0.tar.gz" git = "https://github.com/SciCompKL/CoDiPack.git" + version("2.2.0", sha256="24e9129829588fd8965620f275e40ae3a0be3b24015bc7d7280fa5ad551c10ac") version("2.1.0", sha256="c8d07eb01eaa056175902d5b153b8606b05d208ff0a541d15284f4d9ff6e87c2") version("2.0.2", sha256="c6eecfdbf5818daf80871461f23f8a29b5b72e314d2034047d0b0fcd44744339") version("1.9.3", sha256="27dd92d0b5132de37b431989c0c3d5bd829821a6a2e31e0529137e427421f06e") diff --git a/var/spack/repos/builtin/packages/coinutils/package.py b/var/spack/repos/builtin/packages/coinutils/package.py index 8635fc11bb176b..27d248862cb49f 100644 --- a/var/spack/repos/builtin/packages/coinutils/package.py +++ b/var/spack/repos/builtin/packages/coinutils/package.py @@ -16,6 +16,7 @@ class Coinutils(AutotoolsPackage): license("EPL-2.0") + version("2.11.10", sha256="80c7c215262df8d6bd2ba171617c5df844445871e9891ec6372df12ccbe5bcfd") version("2.11.9", sha256="15d572ace4cd3b7c8ce117081b65a2bd5b5a4ebaba54fadc99c7a244160f88b8") version("2.11.6", sha256="6ea31d5214f7eb27fa3ffb2bdad7ec96499dd2aaaeb4a7d0abd90ef852fc79ca") version("2.11.4", sha256="d4effff4452e73356eed9f889efd9c44fe9cd68bd37b608a5ebb2c58bd45ef81") diff --git a/var/spack/repos/builtin/packages/commons-logging/package.py b/var/spack/repos/builtin/packages/commons-logging/package.py index fcca2ba17851f8..a29bbb3bf01958 100644 --- a/var/spack/repos/builtin/packages/commons-logging/package.py +++ b/var/spack/repos/builtin/packages/commons-logging/package.py @@ -23,6 +23,7 @@ class CommonsLogging(Package): license("Apache-2.0") + version("1.3.0", sha256="8a3ea33a2d58fe243ff47b78d672ad98e7590af7f436636c7851b1069caad5f8") version("1.2", sha256="3f758805c7290d9c6d22d1451587c9f7232744aef4c984e88aa683cdea0587bd") version("1.1.3", sha256="9e7093c93529792563b5c19ab5cccb73ef4ca7d82b886bdec6d0af182ba9908a") version("1.1.1", sha256="88c721d66f570a87f710a2449f0e3bffea86489d9dd2fa70b805104c4f8d69e6") @@ -31,4 +32,4 @@ class CommonsLogging(Package): depends_on("java", type="run") def install(self, spec, prefix): - install("commons-logging-{0}.jar".format(self.version), prefix) + install(f"commons-logging-{self.version}.jar", prefix) diff --git a/var/spack/repos/builtin/packages/cpu-features/package.py b/var/spack/repos/builtin/packages/cpu-features/package.py index c0cb8bbfc93876..0ec7b1969560a9 100644 --- a/var/spack/repos/builtin/packages/cpu-features/package.py +++ b/var/spack/repos/builtin/packages/cpu-features/package.py @@ -17,6 +17,7 @@ class CpuFeatures(CMakePackage): version("main", branch="main") version("develop", branch="main", deprecated=True) + version("0.9.0", sha256="bdb3484de8297c49b59955c3b22dba834401bc2df984ef5cfc17acbe69c5018e") version("0.7.0", sha256="df80d9439abf741c7d2fdcdfd2d26528b136e6c52976be8bd0cd5e45a27262c0") variant("shared", description="Build shared libraries", default=False) diff --git a/var/spack/repos/builtin/packages/cracklib/package.py b/var/spack/repos/builtin/packages/cracklib/package.py index b46217e554c9ee..0042b18de8c8a8 100644 --- a/var/spack/repos/builtin/packages/cracklib/package.py +++ b/var/spack/repos/builtin/packages/cracklib/package.py @@ -16,6 +16,7 @@ class Cracklib(AutotoolsPackage): license("LGPL-2.1-or-later") + version("2.9.11", sha256="23837f80d65bf67e2679cd246d810c8851630860f27620205b957b3b5f88ee88") version("2.9.9", sha256="0a3fd72163512088c6f2add0f6cd6e34954ca0fa3f333ff9cced478b04e73ce1") version("2.9.7", sha256="ff4e6c3f86494c93719f5e4186e2c3ea9e265f41972ec21f7b87852aced704e6") version("2.9.6", sha256="7cd2c01365f199c466b490ad2585beccbe0108ccd606c1bcc6c1e52800e627fe") diff --git a/var/spack/repos/builtin/packages/cronie/package.py b/var/spack/repos/builtin/packages/cronie/package.py index d4caf6bee8548e..72ddb7c57f3a47 100644 --- a/var/spack/repos/builtin/packages/cronie/package.py +++ b/var/spack/repos/builtin/packages/cronie/package.py @@ -15,6 +15,7 @@ class Cronie(AutotoolsPackage): license("ISC") + version("1.7.1", sha256="535b96894c52e679085e1d8b36794308c162b1e8dac29031c02f678effc523e1") version("1.6.1", sha256="1ddbc8f8d07dfe1d45998b0a0cbd9a216cd4d7bc64d1626b2bc8b3a69e4641d1") version("1.5.5", sha256="22c2a2b22577c0f776c1268d0e0f305c5c041e10155022a345b43b665da0ffe9") diff --git a/var/spack/repos/builtin/packages/ctre/package.py b/var/spack/repos/builtin/packages/ctre/package.py index 65e85edcfa9a42..81c8feab684c26 100644 --- a/var/spack/repos/builtin/packages/ctre/package.py +++ b/var/spack/repos/builtin/packages/ctre/package.py @@ -15,6 +15,7 @@ class Ctre(CMakePackage): license("Apache-2.0") version("master", branch="master") + version("3.8.1", sha256="0ce8760d43b3b97b43364cd32ee663e5c8b8b4bfd58e7890042eff6ac52db605") version("2.8.4", sha256="99b981857f1b66cab5e71161ae74deca268ed39a96ec6507def92d4f445cadd6") version("2.8.3", sha256="5833a9d0fbce39ee39bd6e29df2f7fcafc82e41c373e8675ed0774bcf76fdc7a") version("2.8.2", sha256="f89494f52ec31e5854fff3d2c5825474201476636c5d82a9365dad5188396314") diff --git a/var/spack/repos/builtin/packages/czmq/package.py b/var/spack/repos/builtin/packages/czmq/package.py index a26df3941696d5..13c79ac8e0b6f7 100644 --- a/var/spack/repos/builtin/packages/czmq/package.py +++ b/var/spack/repos/builtin/packages/czmq/package.py @@ -14,6 +14,7 @@ class Czmq(AutotoolsPackage): license("MPL-2.0") + version("4.2.1", sha256="83457cd32a2c2615b8d7ebcf91b198cb0d8df383a2072b96835ab250164d8a83") version("4.1.1", sha256="b7623433547aa4b6e79722796c27ebc7c0470fea4204e920fd05e717c648f889") version("4.0.2", sha256="794f80af7392ec8d361ad69646fc20aaa284d23fef92951334009771a732c810") version("3.0.2", sha256="e56f8498daf70310b31c42669b2f9b753c5e747eafaff6d4fdac26d72a474b27") diff --git a/var/spack/repos/builtin/packages/dateutils/package.py b/var/spack/repos/builtin/packages/dateutils/package.py index a6dff40a25643c..64606671c0a9e7 100644 --- a/var/spack/repos/builtin/packages/dateutils/package.py +++ b/var/spack/repos/builtin/packages/dateutils/package.py @@ -15,6 +15,7 @@ class Dateutils(AutotoolsPackage): license("BSD-3-Clause") + version("0.4.11", sha256="b8fea0b09714bbadf202b9b3434cce6b59c282e7869268d0c08b85880fdbb446") version("0.4.7", sha256="49725457f5bef45ea424baade8999a6e54496e357f64280474ff7134a54f599a") version("0.4.6", sha256="26a071317ae5710f226a3e6ba9a54d3764cd9efe3965aecc18e75372088757cd") version("0.4.5", sha256="16d6a0fe7b7d49ddbb303f33538dd7304a0d4af5a0369bcbf275db6a5060cbde") diff --git a/var/spack/repos/builtin/packages/diffutils/package.py b/var/spack/repos/builtin/packages/diffutils/package.py index df141501160773..b24852f7af2b30 100644 --- a/var/spack/repos/builtin/packages/diffutils/package.py +++ b/var/spack/repos/builtin/packages/diffutils/package.py @@ -21,6 +21,7 @@ class Diffutils(AutotoolsPackage, GNUMirrorPackage): license("GPL-3.0-or-later") + version("3.10", sha256="90e5e93cc724e4ebe12ede80df1634063c7a855692685919bfe60b556c9bd09e") version("3.9", sha256="d80d3be90a201868de83d78dad3413ad88160cc53bcc36eb9eaf7c20dbf023f1") version("3.8", sha256="a6bdd7d1b31266d11c4f4de6c1b748d4607ab0231af5188fc2533d0ae2438fec") version("3.7", sha256="b3a7a6221c3dc916085f0d205abf6b8e1ba443d4dd965118da364a1dc1cb3a26") diff --git a/var/spack/repos/builtin/packages/dlpack/package.py b/var/spack/repos/builtin/packages/dlpack/package.py index bfaec6a09210d0..eadfcf781ca8d2 100644 --- a/var/spack/repos/builtin/packages/dlpack/package.py +++ b/var/spack/repos/builtin/packages/dlpack/package.py @@ -17,6 +17,7 @@ class Dlpack(Package): license("Apache-2.0") version("master", branch="master") + version("0.8", sha256="cf965c26a5430ba4cc53d61963f288edddcd77443aa4c85ce722aaf1e2f29513") version("0.5", sha256="9209ac194a175aaab4381313891fba047cb173b2bdd15ac934f83f567f9cd514") version("0.4", sha256="d0a533189ecd45a033b72e276fccaa2122cfd76de125e0a5e126bdea0fec2d24") version("0.3", sha256="703149f5b39ead42cc734c03c7c4bd581fcad1c5a3939e7a4b5bc82f54c3c32a") diff --git a/var/spack/repos/builtin/packages/dracut/package.py b/var/spack/repos/builtin/packages/dracut/package.py index b29f42426fc330..0129222109664b 100644 --- a/var/spack/repos/builtin/packages/dracut/package.py +++ b/var/spack/repos/builtin/packages/dracut/package.py @@ -16,6 +16,7 @@ class Dracut(AutotoolsPackage): license("GPL-2.0-or-later") + version("059", sha256="eabf0bb685420c1e1d5475b6855ef787104508f0135ff570312845256e0fcecf") version("050", sha256="f9dbf18597e5929221365964293212c8c9ffb7d84529c5a338c834ecab06e333") depends_on("kmod") diff --git a/var/spack/repos/builtin/packages/dysco/package.py b/var/spack/repos/builtin/packages/dysco/package.py index cd853afe2b63aa..4dbf4f438b1757 100644 --- a/var/spack/repos/builtin/packages/dysco/package.py +++ b/var/spack/repos/builtin/packages/dysco/package.py @@ -14,6 +14,7 @@ class Dysco(CMakePackage): license("GPL-3.0-only") + version("1.3", sha256="02cb53cc0a95a17a04fbaa6063b39641725b81f279b08e85761b01e8f186609f") version("1.2", sha256="dd992c5a13df67173aa1d3f6dc5df9b51b0bea2fe77bc08f5be7a839be741269") depends_on("casacore") diff --git a/var/spack/repos/builtin/packages/ensmallen/package.py b/var/spack/repos/builtin/packages/ensmallen/package.py index f96d0be33de286..606bf98b7c0c5c 100644 --- a/var/spack/repos/builtin/packages/ensmallen/package.py +++ b/var/spack/repos/builtin/packages/ensmallen/package.py @@ -21,6 +21,7 @@ class Ensmallen(CMakePackage): license("BSD-3-Clause") + version("2.21.1", sha256="820eee4d8aa32662ff6a7d883a1bcaf4e9bf9ca0a3171d94c5398fe745008750") version("2.19.1", sha256="f36ad7f08b0688d2a8152e1c73dd437c56ed7a5af5facf65db6ffd977b275b2e") variant("openmp", default=True, description="Use OpenMP for parallelization") diff --git a/var/spack/repos/builtin/packages/entt/package.py b/var/spack/repos/builtin/packages/entt/package.py index 0726c577185efd..073626ca959fb3 100644 --- a/var/spack/repos/builtin/packages/entt/package.py +++ b/var/spack/repos/builtin/packages/entt/package.py @@ -16,6 +16,7 @@ class Entt(CMakePackage): license("MIT") + version("3.13.1", sha256="a4f290b601a70333126abd2cec7b0c232c74a4f85dcf1e04d969e8122dae8652") version("3.11.1", sha256="0ac010f232d3089200c5e545bcbd6480cf68b705de6930d8ff7cdb0a29f5b47b") version("3.5.2", sha256="f9271293c44518386c402c9a2188627819748f66302df48af4f6d08e30661036") diff --git a/var/spack/repos/builtin/packages/eprosima-fastcdr/package.py b/var/spack/repos/builtin/packages/eprosima-fastcdr/package.py index 1302190bb3cb2a..d5b096e49089d7 100644 --- a/var/spack/repos/builtin/packages/eprosima-fastcdr/package.py +++ b/var/spack/repos/builtin/packages/eprosima-fastcdr/package.py @@ -16,4 +16,5 @@ class EprosimaFastcdr(CMakePackage): license("Apache-2.0") + version("2.2.0", sha256="8a75ee3aed59f495e95208050920d2c2146df92f073809505a3bd29011c21f20") version("1.0.27", sha256="a9bc8fd31a2c2b95e6d2fb46e6ce1ad733e86dc4442f733479e33ed9cdc54bf6") diff --git a/var/spack/repos/builtin/packages/expat/package.py b/var/spack/repos/builtin/packages/expat/package.py index 2ee1a0cb1853b2..2841d9f3913dd0 100644 --- a/var/spack/repos/builtin/packages/expat/package.py +++ b/var/spack/repos/builtin/packages/expat/package.py @@ -17,6 +17,7 @@ class Expat(AutotoolsPackage, CMakePackage): license("MIT") + version("2.6.1", sha256="4677d957c0c6cb2a3321101944574c24113b637c7ab1cf0659a27c5babc201fd") version("2.6.0", sha256="ff60e6a6b6ce570ae012dc7b73169c7fdf4b6bf08c12ed0ec6f55736b78d85ba") # deprecate all releases before 2.6.0 because of security issues # CVE-2023-52425 (fixed in 2.6.0) diff --git a/var/spack/repos/builtin/packages/faust/package.py b/var/spack/repos/builtin/packages/faust/package.py index fccda50b4e64aa..f2268f2573453f 100644 --- a/var/spack/repos/builtin/packages/faust/package.py +++ b/var/spack/repos/builtin/packages/faust/package.py @@ -16,6 +16,7 @@ class Faust(MakefilePackage): license("GPL-2.0-or-later") + version("2.70.3", sha256="644484f95167fe63014eac3db410f50c58810289fea228a2221e07d27da50eec") version("2.54.9", sha256="14648f020d77874e6f7411d7ff605820015645bbd4b891b24bee3d3a898e48d2") version("2.27.2", sha256="3367a868a93b63582bae29ab8783f1df7a10f4084a2bc1d2258ebf3d6a8c31d7") version("2.27.1", sha256="b3e93ca573025b231931e5eb92efc1a1e7f7720902aa3b285061519600a8c417") @@ -23,4 +24,4 @@ class Faust(MakefilePackage): depends_on("cmake", type="build") def install(self, spec, prefix): - make("PREFIX={0}".format(prefix), "install") + make(f"PREFIX={prefix}", "install") diff --git a/var/spack/repos/builtin/packages/figcone/package.py b/var/spack/repos/builtin/packages/figcone/package.py index deb9d730dfd7b6..3b1135f6c32579 100644 --- a/var/spack/repos/builtin/packages/figcone/package.py +++ b/var/spack/repos/builtin/packages/figcone/package.py @@ -15,4 +15,5 @@ class Figcone(CMakePackage): license("MS-PL") + version("3.0.0", sha256="24ed65c2dabc93b205c3adfdb5d7d0523286a956a0257dc5f15de91c5b828aea") version("2.4.9", sha256="735399e849621a4923e71a50d5e2ba928d5dfa3b01e54d56e0bac8e5102b7697") diff --git a/var/spack/repos/builtin/packages/fjcontrib/package.py b/var/spack/repos/builtin/packages/fjcontrib/package.py index fa84c9d83305f2..a8cb05b4ab865e 100644 --- a/var/spack/repos/builtin/packages/fjcontrib/package.py +++ b/var/spack/repos/builtin/packages/fjcontrib/package.py @@ -18,6 +18,7 @@ class Fjcontrib(AutotoolsPackage): license("GPL-2.0-or-later") + version("1.054", sha256="1ef922d4c45863e5fe7a3b64dc441703db6b1c2cc92d4160125dc629b05ac331") version("1.052", sha256="bde63c28cbdf992bedea4ddedfc3cd52c9fec241a767cc455dd4ad10e8210c39") version("1.051", sha256="76a2ec612c768db3eb6bbaf686d02b05ddb64dde477d185e20df563b52308473") version("1.045", sha256="667f15556ca371cfaf185086fb41ac579658a233c18fb1e5153382114f9785f8") diff --git a/var/spack/repos/builtin/packages/flatbuffers/package.py b/var/spack/repos/builtin/packages/flatbuffers/package.py index 7613821016f10f..486d2c95e9ea38 100644 --- a/var/spack/repos/builtin/packages/flatbuffers/package.py +++ b/var/spack/repos/builtin/packages/flatbuffers/package.py @@ -14,6 +14,7 @@ class Flatbuffers(CMakePackage): license("Apache-2.0") + version("24.3.7", sha256="bfff9d2150fcff88f844e8c608b02b2a0e94c92aea39b04c0624783464304784") version("2.0.6", sha256="e2dc24985a85b278dd06313481a9ca051d048f9474e0f199e372fea3ea4248c9") version("2.0.0", sha256="9ddb9031798f4f8754d00fca2f1a68ecf9d0f83dfac7239af1311e4fd9a565c4") version("1.12.0", sha256="62f2223fb9181d1d6338451375628975775f7522185266cd5296571ac152bc45") @@ -61,9 +62,7 @@ def python_install(self): def cmake_args(self): args = [] args.append(self.define_from_variant("FLATBUFFERS_BUILD_SHAREDLIB", "shared")) - args.append( - "-DFLATBUFFERS_BUILD_FLATLIB={0}".format("ON" if "+shared" not in self.spec else "OFF") - ) + args.append(f"-DFLATBUFFERS_BUILD_FLATLIB={'ON' if '+shared' not in self.spec else 'OFF'}") if "darwin" in self.spec.architecture: args.append("-DCMAKE_MACOSX_RPATH=ON") return args diff --git a/var/spack/repos/builtin/packages/flexiblas/package.py b/var/spack/repos/builtin/packages/flexiblas/package.py index 369397b1562bf8..a332fd4218ffb3 100644 --- a/var/spack/repos/builtin/packages/flexiblas/package.py +++ b/var/spack/repos/builtin/packages/flexiblas/package.py @@ -14,6 +14,7 @@ class Flexiblas(CMakePackage): license("GPL-3.0-or-later") + version("3.4.2", sha256="be4bc95461ab4970aba39a0a2bbd0d03bcf802180f63be8eefc189eb2380227c") version("3.3.0", sha256="2696cd63d69b9a007f40f1f4a1ed83ad2fc46f6a930a22753bd221758c503ea2") version("3.2.1", sha256="5be7e508e2dbb751b3bf372639d8e82a11f79e9ef6cbf243b64981c24a5703cf") version("3.2.0", sha256="a3f4d66a30b6fa6473e492de86d34abc5f9d4e69d4d91ba23618388e8df05904") diff --git a/var/spack/repos/builtin/packages/fontconfig/package.py b/var/spack/repos/builtin/packages/fontconfig/package.py index 20dba87685627b..c0cb9fecbe969d 100644 --- a/var/spack/repos/builtin/packages/fontconfig/package.py +++ b/var/spack/repos/builtin/packages/fontconfig/package.py @@ -14,6 +14,7 @@ class Fontconfig(AutotoolsPackage): license("MIT") + version("2.15.0", sha256="f5f359d6332861bd497570848fcb42520964a9e83d5e3abe397b6b6db9bcaaf4") version("2.14.2", sha256="3ba2dd92158718acec5caaf1a716043b5aa055c27b081d914af3ccb40dce8a55") version("2.13.94", sha256="246d1640a7e54fba697b28e4445f4d9eb63dda1b511d19986249368ee7191882") version("2.13.93", sha256="0f302a18ee52dde0793fe38b266bf269dfe6e0c0ae140e30d72c6cca5dc08db5") @@ -43,7 +44,7 @@ def _rm_offending_header(self): def configure_args(self): font_path = join_path(self.spec["font-util"].prefix, "share", "fonts") - return ["--enable-libxml2", "--disable-docs", "--with-default-fonts={0}".format(font_path)] + return ["--enable-libxml2", "--disable-docs", f"--with-default-fonts={font_path}"] @run_after("install") def system_fonts(self): diff --git a/var/spack/repos/builtin/packages/fonttosfnt/package.py b/var/spack/repos/builtin/packages/fonttosfnt/package.py index bcda2bee772c21..52b0de7ba824c0 100644 --- a/var/spack/repos/builtin/packages/fonttosfnt/package.py +++ b/var/spack/repos/builtin/packages/fonttosfnt/package.py @@ -14,6 +14,7 @@ class Fonttosfnt(AutotoolsPackage, XorgPackage): license("MIT") + version("1.2.3", sha256="f7197c327b3b697afd668d064d1996e0ce709f28adaee6e80b784f5c2d0826db") version("1.2.2", sha256="8111317c38f63aff08c717595e65381af7ebfc54ccc23511c2042ef1cd86c648") version("1.0.4", sha256="3873636be5b3b8e4160070e8f9a7a9221b5bd5efbf740d7abaa9092e10732673") diff --git a/var/spack/repos/builtin/packages/fullock/package.py b/var/spack/repos/builtin/packages/fullock/package.py index 2009c03628ca14..ad627247567121 100644 --- a/var/spack/repos/builtin/packages/fullock/package.py +++ b/var/spack/repos/builtin/packages/fullock/package.py @@ -16,6 +16,7 @@ class Fullock(AutotoolsPackage): license("MIT") + version("1.0.59", sha256="6e1758f52d438b365c439d3518cae47df5334fd73adbd781c932497d2aaaafca") version("1.0.50", sha256="7222976883289376c1b88fd30ecd3ab2f055316103b97df4aa71192954072848") version("1.0.39", sha256="0089d4446e3102b5de39e3d18c1b7e5c9567deb77a4e60963e15b5c1b23a594d") version("1.0.36", sha256="68d0dc9036c2c1871653b4626a594f57663973c159f083ec68647c60ddc919f7") diff --git a/var/spack/repos/builtin/packages/gatetools/package.py b/var/spack/repos/builtin/packages/gatetools/package.py index 3c4222b73ad20d..dcebec60d567fe 100644 --- a/var/spack/repos/builtin/packages/gatetools/package.py +++ b/var/spack/repos/builtin/packages/gatetools/package.py @@ -14,6 +14,7 @@ class Gatetools(PythonPackage): license("LGPL-3.0-only") + version("0.12.1", sha256="eb4847442594e466f0fc01eb5ff1eb89f1dfc4e4b5968d611dacb75a88d24013") version("0.11.2", sha256="6eef8a779278b862823ae79d6aab210db4f7889c9127b2c2e4c3a4195f9a9928") version("0.9.14", sha256="78fe864bb52fd4c6aeeee90d8f6c1bc5406ce02ac6f48712379efac606b5c006") diff --git a/var/spack/repos/builtin/packages/gawk/package.py b/var/spack/repos/builtin/packages/gawk/package.py index 2c935856d0fad8..51d52619d471ea 100644 --- a/var/spack/repos/builtin/packages/gawk/package.py +++ b/var/spack/repos/builtin/packages/gawk/package.py @@ -30,6 +30,7 @@ class Gawk(AutotoolsPackage, GNUMirrorPackage): license("GPL-3.0-or-later") + version("5.3.0", sha256="ca9c16d3d11d0ff8c69d79dc0b47267e1329a69b39b799895604ed447d3ca90b") version("5.2.2", sha256="3c1fce1446b4cbee1cd273bd7ec64bc87d89f61537471cd3e05e33a965a250e9") version("5.2.1", sha256="673553b91f9e18cc5792ed51075df8d510c9040f550a6f74e09c9add243a7e4f") version("5.1.1", sha256="d87629386e894bbea11a5e00515fc909dc9b7249529dad9e6a3a2c77085f7ea2") diff --git a/var/spack/repos/builtin/packages/gccmakedep/package.py b/var/spack/repos/builtin/packages/gccmakedep/package.py index 7f89c316f661e4..7718cf04775fd9 100644 --- a/var/spack/repos/builtin/packages/gccmakedep/package.py +++ b/var/spack/repos/builtin/packages/gccmakedep/package.py @@ -14,6 +14,7 @@ class Gccmakedep(AutotoolsPackage, XorgPackage): license("MIT") + version("1.0.4", sha256="5f36cde3f7cce8150a6eeb8026759977be523068a64fad899776122c3f03311f") version("1.0.3", sha256="f9e2e7a590e27f84b6708ab7a81e546399b949bf652fb9b95193e0e543e6a548") depends_on("pkgconfig", type="build") diff --git a/var/spack/repos/builtin/packages/glog/package.py b/var/spack/repos/builtin/packages/glog/package.py index b6deab02533608..eea294f4f85495 100644 --- a/var/spack/repos/builtin/packages/glog/package.py +++ b/var/spack/repos/builtin/packages/glog/package.py @@ -14,6 +14,7 @@ class Glog(Package): license("BSD-3-Clause") + version("0.7.0", sha256="375106b5976231b92e66879c1a92ce062923b9ae573c42b56ba28b112ee4cc11") version("0.6.0", sha256="8a83bf982f37bb70825df71a9709fa90ea9f4447fb3c099e1d720a439d88bad6") version("0.4.0", sha256="f28359aeba12f30d73d9e4711ef356dc842886968112162bc73002645139c39c") version("0.3.5", sha256="7580e408a2c0b5a89ca214739978ce6ff480b5e7d8d7698a2aa92fadc484d1e0") @@ -32,7 +33,7 @@ class Glog(Package): depends_on("cmake", when="@0.3.5:", type="build") def install(self, spec, prefix): - configure("--prefix=%s" % prefix) + configure(f"--prefix={prefix}") make() make("install") diff --git a/var/spack/repos/builtin/packages/go-md2man/package.py b/var/spack/repos/builtin/packages/go-md2man/package.py index 7c26ef69cd9e14..ba0eb166c5b47f 100644 --- a/var/spack/repos/builtin/packages/go-md2man/package.py +++ b/var/spack/repos/builtin/packages/go-md2man/package.py @@ -6,7 +6,7 @@ from spack.package import * -class GoMd2man(Package): +class GoMd2man(GoPackage): """go-md2man converts markdown into roff (man pages)""" homepage = "https://github.com/cpuguy83/go-md2man" @@ -14,33 +14,6 @@ class GoMd2man(Package): license("MIT") + version("2.0.3", sha256="7ca3a04bb4ab83387538235decc42a535097a05d2fb9f2266d0c47b33119501f") version("2.0.2", sha256="2f52e37101ea2734b02f2b54a53c74305b95b3a9a27792fdac962b5354aa3e4a") version("1.0.10", sha256="76aa56849123b99b95fcea2b15502fd886dead9a5c35be7f78bdc2bad6be8d99") - - depends_on("go") - - resource( - name="blackfriday", - url="https://github.com/russross/blackfriday/archive/v1.5.2.tar.gz", - sha256="626138a08abb8579474a555e9d45cb5260629a2c07e8834428620a650dc9f195", - placement="blackfriday", - destination=join_path("src", "github.com", "russross"), - ) - - def patch(self): - mkdirp(join_path(self.stage.source_path, "src", "github.com", "russross")) - - mkdirp(join_path(self.stage.source_path, "src", "github.com", "cpuguy83")) - - ln = which("ln") - ln("-s", self.stage.source_path, join_path("src", "github.com", "cpuguy83", "go-md2man")) - - def install(self, spec, prefix): - with working_dir("src"): - env["GOPATH"] = self.stage.source_path - env["GO111MODULE"] = "off" - go = which("go") - go("build", "-v", join_path("github.com", "cpuguy83", "go-md2man")) - - mkdir(prefix.bin) - install("go-md2man", prefix.bin) diff --git a/var/spack/repos/builtin/packages/h5utils/package.py b/var/spack/repos/builtin/packages/h5utils/package.py index d2d583a8f67b08..93a38c3c8e5659 100644 --- a/var/spack/repos/builtin/packages/h5utils/package.py +++ b/var/spack/repos/builtin/packages/h5utils/package.py @@ -15,6 +15,7 @@ class H5utils(AutotoolsPackage): license("GPL-2.0-only") + version("1.13.2", sha256="eea7855a8235facb7c454e61103098e55658da0ddf4b6de5b82a992e5f024351") version("1.13.1", sha256="c5a76f064d6daa3e65583dce2b61202510e67cf6590f076af9a8aa72511d7d65") version( "1.12.1", @@ -44,7 +45,7 @@ def configure_args(self): args = [] if "+vis5d" in spec: - args.append("--with-v5d={0}".format(spec["vis5d"].prefix)) + args.append(f"--with-v5d={spec['vis5d'].prefix}") else: args.append("--without-v5d") diff --git a/var/spack/repos/builtin/packages/harfbuzz/package.py b/var/spack/repos/builtin/packages/harfbuzz/package.py index e5edb2ed3bf04f..e0b6e3914129c4 100644 --- a/var/spack/repos/builtin/packages/harfbuzz/package.py +++ b/var/spack/repos/builtin/packages/harfbuzz/package.py @@ -20,6 +20,7 @@ class Harfbuzz(MesonPackage, AutotoolsPackage): license("MIT") + version("8.3.0", sha256="109501eaeb8bde3eadb25fab4164e993fbace29c3d775bcaa1c1e58e2f15f847") version("7.3.0", sha256="20770789749ac9ba846df33983dbda22db836c70d9f5d050cb9aa5347094a8fb") version("7.2.0", sha256="fc5560c807eae0efd5f95b5aa4c65800c7a8eed6642008a6b1e7e3ffff7873cc") version("6.0.0", sha256="1d1010a1751d076d5291e433c138502a794d679a7498d1268ee21e2d4a140eb4") @@ -131,8 +132,8 @@ def meson_args(self): return [ # disable building of gtk-doc files following #9885 and #9771 "-Ddocs=disabled", - "-Dgraphite2={0}".format(graphite2), - "-Dcoretext={0}".format(coretext), + f"-Dgraphite2={graphite2}", + f"-Dcoretext={coretext}", ] @@ -143,10 +144,10 @@ def configure_args(self): # disable building of gtk-doc files following #9771 args.append("--disable-gtk-doc-html") true = which("true") - args.append("GTKDOC_CHECK={0}".format(true)) - args.append("GTKDOC_CHECK_PATH={0}".format(true)) - args.append("GTKDOC_MKPDF={0}".format(true)) - args.append("GTKDOC_REBASE={0}".format(true)) + args.append(f"GTKDOC_CHECK={true}") + args.append(f"GTKDOC_CHECK_PATH={true}") + args.append(f"GTKDOC_MKPDF={true}") + args.append(f"GTKDOC_REBASE={true}") args.extend(self.with_or_without("graphite2")) args.extend(self.with_or_without("coretext")) diff --git a/var/spack/repos/builtin/packages/hydra/package.py b/var/spack/repos/builtin/packages/hydra/package.py index 5d4e695e64d180..e02c54a110ba05 100644 --- a/var/spack/repos/builtin/packages/hydra/package.py +++ b/var/spack/repos/builtin/packages/hydra/package.py @@ -19,5 +19,6 @@ class Hydra(AutotoolsPackage): license("AGPL-3.0-or-later") + version("4.2.0", sha256="d7159353d9d0576effba632668a3e6defde2067530ac5db4bae0a85a23dfda5a") version("4.1.1", sha256="d4b915ccab426cd8368bbb2ee9d933fe07bea01493901fb56880b338a7f0b97e") version("3.2", sha256="f7a67ec91a773d95cbbd479a80e926d44bee1ff9fc70a8d1df075ea53ea33889") diff --git a/var/spack/repos/builtin/packages/ior/package.py b/var/spack/repos/builtin/packages/ior/package.py index 78eb17fdbf89f8..66fbd5701b515e 100644 --- a/var/spack/repos/builtin/packages/ior/package.py +++ b/var/spack/repos/builtin/packages/ior/package.py @@ -14,6 +14,7 @@ class Ior(AutotoolsPackage): url = "https://github.com/hpc/ior/archive/3.2.1.tar.gz" version("develop", git="https://github.com/hpc/ior.git", branch="main") + version("4.0.0", sha256="cb17f6b0d17fb98dae28abaa116fd3adde411f52d45ff9efb125efc791b97463") version( "3.3.0", sha256="701f2167f81ef963e227d4c036c4a947a98b5642b7c14c87c8ae657849891528", diff --git a/var/spack/repos/builtin/packages/isl/package.py b/var/spack/repos/builtin/packages/isl/package.py index 43a1d0c4c5eb30..22ee03755cfcab 100644 --- a/var/spack/repos/builtin/packages/isl/package.py +++ b/var/spack/repos/builtin/packages/isl/package.py @@ -15,6 +15,7 @@ class Isl(AutotoolsPackage): license("MIT") + version("0.26", sha256="5eac8664e9d67be6bd0bee5085d6840b8baf738c06814df47eaf4166d9776436") version("0.25", sha256="4305c54d4eebc4bf3ce365af85f04984ef5aa97a52e01128445e26da5b1f467a") version("0.24", sha256="fcf78dd9656c10eb8cf9fbd5f59a0b6b01386205fe1934b3b287a0a1898145c0") version("0.21", sha256="d18ca11f8ad1a39ab6d03d3dcb3365ab416720fcb65b42d69f34f51bf0a0e859") @@ -27,4 +28,4 @@ class Isl(AutotoolsPackage): depends_on("gmp") def configure_args(self): - return ["--with-gmp-prefix={0}".format(self.spec["gmp"].prefix)] + return [f"--with-gmp-prefix={self.spec['gmp'].prefix}"] diff --git a/var/spack/repos/builtin/packages/kafka/package.py b/var/spack/repos/builtin/packages/kafka/package.py index 62397025a08a4a..2c46dfc2d4cb66 100644 --- a/var/spack/repos/builtin/packages/kafka/package.py +++ b/var/spack/repos/builtin/packages/kafka/package.py @@ -20,6 +20,9 @@ class Kafka(Package): license("EPL-2.0") + version( + "2.13-3.7.0", sha256="65f26e5937bbb76dfe78dfb416730dfa7e3378b27e13fd1e204f1a1099bfaf9c" + ) version( "2.13-3.5.1", sha256="f7b74d544023f2c0ec52a179de59975cb64e34ea03650d829328b407b560e4da" ) diff --git a/var/spack/repos/builtin/packages/lbfgspp/package.py b/var/spack/repos/builtin/packages/lbfgspp/package.py index eef7277bd6db90..688ceeb5b17788 100644 --- a/var/spack/repos/builtin/packages/lbfgspp/package.py +++ b/var/spack/repos/builtin/packages/lbfgspp/package.py @@ -14,6 +14,7 @@ class Lbfgspp(CMakePackage): license("MIT") + version("0.3.0", sha256="490720b9d5acce6459cb0336ca3ae0ffc48677225f0ebfb35c9bef6baefdfc6a") version("0.2.0", sha256="7101744a538c3aff52e10c82267305847b0b5e9d39f9974b4b29812cd1398ff9") depends_on("eigen @3:") diff --git a/var/spack/repos/builtin/packages/libbsd/package.py b/var/spack/repos/builtin/packages/libbsd/package.py index d880d3fd4e677f..5d7ad3ab715902 100644 --- a/var/spack/repos/builtin/packages/libbsd/package.py +++ b/var/spack/repos/builtin/packages/libbsd/package.py @@ -21,6 +21,7 @@ class Libbsd(AutotoolsPackage): license("BSD-3-Clause") + version("0.12.1", sha256="d7747f8ec1baa6ff5c096a9dd587c061233dec90da0f1aedd66d830f6db6996a") version("0.11.7", sha256="9baa186059ebbf25c06308e9f991fda31f7183c0f24931826d83aa6abd8a0261") version("0.11.6", sha256="19b38f3172eaf693e6e1c68714636190c7e48851e45224d720b3b5bc0499b5df") version("0.11.5", sha256="1a9c952525635c1bb6770cb22e969b938d8e6a9d7912362b98ee8370599b0efd") diff --git a/var/spack/repos/builtin/packages/libecpint/package.py b/var/spack/repos/builtin/packages/libecpint/package.py index d7021a053426fd..dc6c9af0624466 100644 --- a/var/spack/repos/builtin/packages/libecpint/package.py +++ b/var/spack/repos/builtin/packages/libecpint/package.py @@ -18,6 +18,7 @@ class Libecpint(CMakePackage): license("MIT") version("master", branch="master") + version("1.0.7", sha256="e9c60fddb2614f113ab59ec620799d961db73979845e6e637c4a6fb72aee51cc") version("1.0.5", sha256="3ad5ff342b1bc870f5992c296e8bd8aa590c21a9b14333958c601f8916d6f532") version("1.0.4", sha256="fad9d1ac98f8dcd40f7bee69aef653bfa3079f016e43277cbd554e06890aa186") version("1.0.3", sha256="13c3f7d1cf35355e37a903196d5cace60f6a72ae041e8b3502dfabdd19dde17a") diff --git a/var/spack/repos/builtin/packages/libedit/package.py b/var/spack/repos/builtin/packages/libedit/package.py index 0d3f20c5a482ec..0353765a68882b 100644 --- a/var/spack/repos/builtin/packages/libedit/package.py +++ b/var/spack/repos/builtin/packages/libedit/package.py @@ -14,6 +14,9 @@ class Libedit(AutotoolsPackage): license("BSD-3-Clause") + version( + "3.1-20230828", sha256="4ee8182b6e569290e7d1f44f0f78dac8716b35f656b76528f699c69c98814dad" + ) version( "3.1-20210216", sha256="2283f741d2aab935c8c52c04b57bf952d02c2c02e651172f8ac811f77b1fc77a" ) diff --git a/var/spack/repos/builtin/packages/libfontenc/package.py b/var/spack/repos/builtin/packages/libfontenc/package.py index 91774ced2513b0..eb0daf794e34e9 100644 --- a/var/spack/repos/builtin/packages/libfontenc/package.py +++ b/var/spack/repos/builtin/packages/libfontenc/package.py @@ -14,6 +14,7 @@ class Libfontenc(AutotoolsPackage, XorgPackage): license("MIT") + version("1.1.8", sha256="b55039f70959a1b2f02f4ec8db071e5170528d2c9180b30575dccf7510d7fb9f") version("1.1.7", sha256="5e5f210329823f08f97bfe9fd5b4105070c789bc5aef88ce01d86d8203d4aa9f") version("1.1.3", sha256="6fba26760ca8d5045f2b52ddf641c12cedc19ee30939c6478162b7db8b6220fb") diff --git a/var/spack/repos/builtin/packages/libgit2/package.py b/var/spack/repos/builtin/packages/libgit2/package.py index 773771ffdc5e45..cb721c99838891 100644 --- a/var/spack/repos/builtin/packages/libgit2/package.py +++ b/var/spack/repos/builtin/packages/libgit2/package.py @@ -16,6 +16,7 @@ class Libgit2(CMakePackage): homepage = "https://libgit2.github.com/" url = "https://github.com/libgit2/libgit2/archive/v0.26.0.tar.gz" + version("1.7.2", sha256="de384e29d7efc9330c6cdb126ebf88342b5025d920dcb7c645defad85195ea7f") version("1.7.0", sha256="d9d0f84a86bf98b73e68997f5c1543cc5067d0ca9c7a5acaba3e8d117ecefef3") version("1.6.4", sha256="d25866a4ee275a64f65be2d9a663680a5cf1ed87b7ee4c534997562c828e500d") version("1.6.3", sha256="a8e2a09835eabb24ace2fd597a78af182e1e199a894e99a90e4c87c849fcd9c4") @@ -116,11 +117,11 @@ def cmake_args(self): else: args.append("-DUSE_HTTPS=OFF") - args.append("-DUSE_SSH={0}".format("ON" if "+ssh" in self.spec else "OFF")) + args.append(f"-DUSE_SSH={'ON' if '+ssh' in self.spec else 'OFF'}") # The curl backed is not supported after 0.27.x if "@:0.27 +curl" in self.spec: - args.append("-DCURL={0}".format("ON" if "+curl" in self.spec else "OFF")) + args.append(f"-DCURL={'ON' if '+curl' in self.spec else 'OFF'}") # Control tests args.append(self.define("BUILD_CLAR", self.run_tests)) diff --git a/var/spack/repos/builtin/packages/libical/package.py b/var/spack/repos/builtin/packages/libical/package.py index 8ba00a19efcf40..f75326a9a65c32 100644 --- a/var/spack/repos/builtin/packages/libical/package.py +++ b/var/spack/repos/builtin/packages/libical/package.py @@ -14,6 +14,7 @@ class Libical(CMakePackage): license("LGPL-2.1-only OR MPL-2.0") + version("3.0.17", sha256="bcda9a6db6870240328752854d1ea475af9bbc6356e6771018200e475e5f781b") version("3.0.11", sha256="1e6c5e10c5a48f7a40c68958055f0e2759d9ab3563aca17273fe35a5df7dbbf1") version("3.0.8", sha256="09fecacaf75ba5a242159e3a9758a5446b5ce4d0ab684f98a7040864e1d1286f") diff --git a/var/spack/repos/builtin/packages/libjpeg/package.py b/var/spack/repos/builtin/packages/libjpeg/package.py index e2733c41ced7c9..473d07437a1305 100644 --- a/var/spack/repos/builtin/packages/libjpeg/package.py +++ b/var/spack/repos/builtin/packages/libjpeg/package.py @@ -16,6 +16,7 @@ class Libjpeg(AutotoolsPackage): license("BitTorrent-1.0") + version("9f", sha256="04705c110cb2469caa79fb71fba3d7bf834914706e9641a4589485c1f832565b") version("9e", sha256="4077d6a6a75aeb01884f708919d25934c93305e49f7e3f36db9129320e6f4f3d") version("9d", sha256="6c434a3be59f8f62425b2e3c077e785c9ce30ee5874ea1c270e843f273ba71ee") version("9c", sha256="650250979303a649e21f87b5ccd02672af1ea6954b911342ea491f351ceb7122") diff --git a/var/spack/repos/builtin/packages/libkcapi/package.py b/var/spack/repos/builtin/packages/libkcapi/package.py index 7ca711e4ca0929..282c8395415ab6 100644 --- a/var/spack/repos/builtin/packages/libkcapi/package.py +++ b/var/spack/repos/builtin/packages/libkcapi/package.py @@ -14,6 +14,7 @@ class Libkcapi(AutotoolsPackage): license("BSD-3-Clause OR GPL-2.0-only") + version("1.5.0", sha256="f1d827738bda03065afd03315479b058f43493ab6e896821b947f391aa566ba0") version("1.2.0", sha256="8be75173c56342c8fe1c63a901c0d9cb750405abdc23288d04f549a960862867") version("1.1.5", sha256="ca38bf4d750dd2d3531ddb94d502feedb0f926bd9b29fb97e253b83bbceb6611") version("1.1.4", sha256="241ffa4f2813c6da442b1c1e152d489905ffab35a6c50e76aca5ee6fe60319dd") diff --git a/var/spack/repos/builtin/packages/libluv/package.py b/var/spack/repos/builtin/packages/libluv/package.py index 3993e5dbf7502b..88d61036bd226e 100644 --- a/var/spack/repos/builtin/packages/libluv/package.py +++ b/var/spack/repos/builtin/packages/libluv/package.py @@ -16,6 +16,7 @@ class Libluv(CMakePackage): license("Apache-2.0") + version("1.48.0-2", sha256="2c3a1ddfebb4f6550293a40ee789f7122e97647eede51511f57203de48c03b7a") version("1.45.0-0", sha256="fa6c46fb09f88320afa7f88017efd7b0d2b3a0158c5ba5b6851340b0332a2b81") version("1.44.2-1", sha256="3eb5c7bc44f61fbc4148ea30e3221d410263e0ffa285672851fc19debf9e5c30") version("1.44.2-0", sha256="30639f8e0fac7fb0c3a04b94a00f73c6d218c15765347ceb0998a6b72464b6cf") diff --git a/var/spack/repos/builtin/packages/libmaxminddb/package.py b/var/spack/repos/builtin/packages/libmaxminddb/package.py index adf0a6f24b5d57..6564f340724e44 100644 --- a/var/spack/repos/builtin/packages/libmaxminddb/package.py +++ b/var/spack/repos/builtin/packages/libmaxminddb/package.py @@ -16,6 +16,7 @@ class Libmaxminddb(AutotoolsPackage): license("Apache-2.0") + version("1.9.1", sha256="a80682a89d915fdf60b35d316232fb04ebf36fff27fda9bd39fe8a38d3cd3f12") version("1.7.1", sha256="e8414f0dedcecbc1f6c31cb65cd81650952ab0677a4d8c49cab603b3b8fb083e") version("1.3.2", sha256="e6f881aa6bd8cfa154a44d965450620df1f714c6dc9dd9971ad98f6e04f6c0f0") diff --git a/var/spack/repos/builtin/packages/libnsl/package.py b/var/spack/repos/builtin/packages/libnsl/package.py index 8d0cefc6b2fa48..9eb4e8489fbb97 100644 --- a/var/spack/repos/builtin/packages/libnsl/package.py +++ b/var/spack/repos/builtin/packages/libnsl/package.py @@ -15,6 +15,7 @@ class Libnsl(AutotoolsPackage): license("LGPL-2.0-or-later") + version("2.0.1", sha256="59048b53be8d3904bf939313debf13956a881b0de79da40f7719a77bcd1e9c53") version("2.0.0", sha256="eb37be57c1cf650b3a8a4fc7cd66c8b3dfc06215b41956a16325a9388171bc40") version("1.3.0", sha256="8e88017f01dd428f50386186b0cd82ad06c9b2a47f9c5ea6b3023fc6e08a6b0f") version("1.2.0", sha256="a5a28ef17c4ca23a005a729257c959620b09f8c7f99d0edbfe2eb6b06bafd3f8") diff --git a/var/spack/repos/builtin/packages/librmm/package.py b/var/spack/repos/builtin/packages/librmm/package.py index 4e885df76d49da..e7804ae2b40656 100644 --- a/var/spack/repos/builtin/packages/librmm/package.py +++ b/var/spack/repos/builtin/packages/librmm/package.py @@ -16,6 +16,7 @@ class Librmm(CMakePackage): license("Apache-2.0") + version("24.02.00", sha256="63ddde8788727f0989f6397aed8a007ef414a577417b7d3cf39ca670c1bc4a91") version("0.15.0", sha256="599f97b95d169a90d11296814763f7e151a8a1e060ba10bc6c8f4684a5cd7972") depends_on("cuda@9.0:") diff --git a/var/spack/repos/builtin/packages/librsb/package.py b/var/spack/repos/builtin/packages/librsb/package.py index 19981ce8b0ccc0..18cccd064f30ec 100644 --- a/var/spack/repos/builtin/packages/librsb/package.py +++ b/var/spack/repos/builtin/packages/librsb/package.py @@ -16,6 +16,7 @@ class Librsb(AutotoolsPackage): license("LGPL-3.0-only") + version("1.3.0.2", sha256="18c6fc443fa1cfd2a8110f7d4b88d5bbcb493b9e85b3a62014b8bb57a848e04f") version("1.3.0.1", sha256="3fc024a410f94aca2a7139ae79f4d713b11fa83304293630c363786874c17db4") version("1.3.0.0", sha256="2ac8725d1f988f57df9383ae6b0bb2ed221ec935187d31ebb62ea95ee868a790") version("1.2.0.11", sha256="0686be29bbe277e227c6021de6bd0564e4fc83f996b787886437d28048057bc8") @@ -48,8 +49,8 @@ def configure_args(self): "--enable-openmp", "--with-zlib", "--enable-fortran-module-install", - "CPPFLAGS={0}".format(self.spec["zlib-api"].headers.include_flags), - "LDFLAGS={0}".format(self.spec["zlib-api"].libs.search_flags), + f"CPPFLAGS={self.spec['zlib-api'].headers.include_flags}", + f"LDFLAGS={self.spec['zlib-api'].libs.search_flags}", ] if "+asan" in self.spec: args.append("CFLAGS=-O0 -ggdb -fsanitize=address -fno-omit-frame-pointer") diff --git a/var/spack/repos/builtin/packages/libsodium/package.py b/var/spack/repos/builtin/packages/libsodium/package.py index b825fc7192b4b6..bd16c1e548f6f8 100644 --- a/var/spack/repos/builtin/packages/libsodium/package.py +++ b/var/spack/repos/builtin/packages/libsodium/package.py @@ -20,6 +20,7 @@ class Libsodium(AutotoolsPackage): license("ISC") + version("1.0.19", sha256="018d79fe0a045cca07331d37bd0cb57b2e838c51bc48fd837a1472e50068bbea") version("1.0.18", sha256="6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1") version("1.0.17", sha256="0cc3dae33e642cc187b5ceb467e0ad0e1b51dcba577de1190e9ffa17766ac2b1") version("1.0.16", sha256="eeadc7e1e1bcef09680fb4837d448fbdf57224978f865ac1c16745868fbd0533") @@ -37,7 +38,7 @@ def url_for_version(self, version): url += "old/unsupported/" elif version < Version("1.0.17"): url += "old/" - return url + "libsodium-{0}.tar.gz".format(version) + return url + f"libsodium-{version}.tar.gz" def patch(self): # Necessary on ppc64le / aarch64, because Spack tries to execute these scripts diff --git a/var/spack/repos/builtin/packages/libspng/package.py b/var/spack/repos/builtin/packages/libspng/package.py index e227ec8869ff1b..feb58288b94b89 100644 --- a/var/spack/repos/builtin/packages/libspng/package.py +++ b/var/spack/repos/builtin/packages/libspng/package.py @@ -16,4 +16,5 @@ class Libspng(CMakePackage): license("BSD-2-Clause") + version("0.7.4", sha256="47ec02be6c0a6323044600a9221b049f63e1953faf816903e7383d4dc4234487") version("0.7.2", sha256="4acf25571d31f540d0b7ee004f5461d68158e0a13182505376805da99f4ccc4e") diff --git a/var/spack/repos/builtin/packages/libtommath/package.py b/var/spack/repos/builtin/packages/libtommath/package.py index 8eb61d9d915264..6573ce7b80bf43 100644 --- a/var/spack/repos/builtin/packages/libtommath/package.py +++ b/var/spack/repos/builtin/packages/libtommath/package.py @@ -14,8 +14,9 @@ class Libtommath(MakefilePackage): license("Unlicense") + version("1.2.1", sha256="068adaf5155d28d4ac976eb95ea0df1ecb362f20d777287154c22a24fdb35faa") version("1.2.0", sha256="f3c20ab5df600d8d89e054d096c116417197827d12732e678525667aa724e30f") version("1.1.0", sha256="71b6f3f99341b7693393ab4b58f03b79b6afc2ee5288666cc4538b4b336355f4") def install(self, spec, prefix): - make("DESTDIR={0}".format(prefix), "LIBPATH=/lib", "INCPATH=/include", "install") + make(f"DESTDIR={prefix}", "LIBPATH=/lib", "INCPATH=/include", "install") diff --git a/var/spack/repos/builtin/packages/lis/package.py b/var/spack/repos/builtin/packages/lis/package.py index 973be730ff7c1a..a969427f92b15c 100644 --- a/var/spack/repos/builtin/packages/lis/package.py +++ b/var/spack/repos/builtin/packages/lis/package.py @@ -16,6 +16,7 @@ class Lis(AutotoolsPackage): homepage = "https://www.ssisc.org/lis/index.en.html" url = "https://www.ssisc.org/lis/dl/lis-2.0.27.zip" + version("2.1.3", sha256="2ca0682198c2cdb6beb7866bd2b25071dc8964c6f76d8962477f848f39ff57ea") version("2.1.1", sha256="e1b227fb9c88be4d897be4211198e1e9e8258eb75127848d35b67a0182bf4538") version("2.1.0", sha256="630a1341824fbeef7fdfb82413bfdeb7d3df14e77616ba88159fce1150cf006c") version("2.0.27", sha256="85f32f4abbc94d1b40b22c10b915170271b19822b6aa6939b1cb295f6e455237") diff --git a/var/spack/repos/builtin/packages/listres/package.py b/var/spack/repos/builtin/packages/listres/package.py index 800f161b844636..3b9d14d3c75472 100644 --- a/var/spack/repos/builtin/packages/listres/package.py +++ b/var/spack/repos/builtin/packages/listres/package.py @@ -15,6 +15,7 @@ class Listres(AutotoolsPackage, XorgPackage): license("X11") + version("1.0.6", sha256="f262774a25db3cbf6e2a67f8bb2d3bc836ace2124afd63f1773cfd386df926a5") version("1.0.5", sha256="ed068e63dfb6e42cfbcea568d161e53e1d120d99da9aa16c1f822803ebb38504") version("1.0.3", sha256="87d5698b8aa4d841e45e6556932c9914210cbd8b10003d664b31185b087981be") diff --git a/var/spack/repos/builtin/packages/lua-luajit-openresty/package.py b/var/spack/repos/builtin/packages/lua-luajit-openresty/package.py index e6d21a5c76a03f..83849e691936ad 100644 --- a/var/spack/repos/builtin/packages/lua-luajit-openresty/package.py +++ b/var/spack/repos/builtin/packages/lua-luajit-openresty/package.py @@ -17,6 +17,9 @@ class LuaLuajitOpenresty(LuaImplPackage): license("MIT") + version( + "2.1-20230410", sha256="77bbcbb24c3c78f51560017288f3118d995fe71240aa379f5818ff6b166712ff" + ) version( "2.1-20220111", sha256="1ad2e34b111c802f9d0cdf019e986909123237a28c746b21295b63c9e785d9c3" ) @@ -45,12 +48,10 @@ def headers(self): def edit(self, spec, prefix): makefile = FileFilter("Makefile") - makefile.filter("PREFIX= .*", "PREFIX = {0}".format(prefix)) + makefile.filter("PREFIX= .*", f"PREFIX = {prefix}") src_makefile = FileFilter(join_path("src", "Makefile")) - src_makefile.filter("^DEFAULT_CC = .*", "DEFAULT_CC = {0}".format(spack_cc)) - src_makefile.filter( - "^DYNAMIC_CC = .*", "DYNAMIC_CC = $(CC) {0}".format(self.compiler.cc_pic_flag) - ) + src_makefile.filter("^DEFAULT_CC = .*", f"DEFAULT_CC = {spack_cc}") + src_makefile.filter("^DYNAMIC_CC = .*", f"DYNAMIC_CC = $(CC) {self.compiler.cc_pic_flag}") # Catalina and higher produce a non-functional luajit unless this is set if spec.satisfies("platform=darwin"): src_makefile.filter( @@ -59,4 +60,4 @@ def edit(self, spec, prefix): # Linking with the C++ compiler is a dirty hack to deal with the fact # that unwinding symbols are not included by libc, this is necessary # on some platforms for the final link stage to work - src_makefile.filter("^TARGET_LD = .*", "TARGET_LD = {0}".format(spack_cxx)) + src_makefile.filter("^TARGET_LD = .*", f"TARGET_LD = {spack_cxx}") diff --git a/var/spack/repos/builtin/packages/mariadb-c-client/package.py b/var/spack/repos/builtin/packages/mariadb-c-client/package.py index 57db5bc17f166b..30dccf8db49db3 100644 --- a/var/spack/repos/builtin/packages/mariadb-c-client/package.py +++ b/var/spack/repos/builtin/packages/mariadb-c-client/package.py @@ -24,6 +24,7 @@ class MariadbCClient(CMakePackage): license("LGPL-2.1-or-later") + version("3.3.8", sha256="f9f076b4aa9fb22cc94b24f82c80f9ef063805ecd6533a2eb5d5060cf93833e8") version("3.3.7", sha256="975a9a862fed80f84e0206373f7ef05537aada5b65d99b71b36ab892b44240bf") version("3.3.5", sha256="ca72eb26f6db2befa77e48ff966f71bcd3cb44b33bd8bbb810b65e6d011c1e5c") version("3.3.4", sha256="486e5fdf976a8e7fadf583ae912128655e013ac575fa79b2d1af0fb8827a78ed") diff --git a/var/spack/repos/builtin/packages/mawk/package.py b/var/spack/repos/builtin/packages/mawk/package.py index 614a240f33778b..762b3929f951dc 100644 --- a/var/spack/repos/builtin/packages/mawk/package.py +++ b/var/spack/repos/builtin/packages/mawk/package.py @@ -14,6 +14,9 @@ class Mawk(AutotoolsPackage): license("GPL-2.0-only") + version( + "1.3.4-20240123", sha256="a8e319a83744b1f1fb6988dfa189d61887f866e9140cc9a49eb003b2b0655e88" + ) version( "1.3.4-20171017", sha256="db17115d1ed18ed1607c8b93291db9ccd4fe5e0f30d2928c3c5d127b23ec9e5b" ) diff --git a/var/spack/repos/builtin/packages/memkind/package.py b/var/spack/repos/builtin/packages/memkind/package.py index 21c2287eaa8175..a853e5df853c7a 100644 --- a/var/spack/repos/builtin/packages/memkind/package.py +++ b/var/spack/repos/builtin/packages/memkind/package.py @@ -26,6 +26,7 @@ class Memkind(AutotoolsPackage): license("BSD-3-Clause") + version("1.14.0", sha256="ab366b20b5a87ea655483631fc762ba6eb59eb6c3a08652e643f1ee3f06a6a12") version("1.13.0", sha256="3f0d919b61fdd4d2ebce14e0b7dbb856e2144138778940107c13549523f3bdc0") version("1.12.0", sha256="b0781d493dec0da0089884fd54bcfdde03311019c56f90505ed0b884100bfbad") version("1.10.1", sha256="c203615d964a0bb151756ad8a5c9565391ee77d79c1f8b59d2ea8ff87989b294") @@ -49,7 +50,7 @@ class Memkind(AutotoolsPackage): def patch(self): with open("VERSION", "w") as version_file: - version_file.write("{0}\n".format(self.version)) + version_file.write(f"{self.version}\n") # Remove `-Werror` filter_file(r" -Werror ", " ", "Makefile.am", "configure.ac") diff --git a/var/spack/repos/builtin/packages/mercurial/package.py b/var/spack/repos/builtin/packages/mercurial/package.py index dcecc12893d199..df0fb44fece43f 100644 --- a/var/spack/repos/builtin/packages/mercurial/package.py +++ b/var/spack/repos/builtin/packages/mercurial/package.py @@ -16,6 +16,7 @@ class Mercurial(PythonPackage): license("GPL-2.0-or-later") + version("6.6.3", sha256="f75d6a4a75823a1b7d713a4967eca2f596f466e58fc6bc06d72642932fd7e307") version("6.4.5", sha256="b0b4b00b8b2639c8be387394796f0425beb339314df7e72937f8ddd2a41b1b8a") version("6.3.3", sha256="13c97ff589c7605e80a488f336852ce1d538c5d4143cfb33be69bdaddd9157bd") version("6.2.3", sha256="98d1ae002f68adf53d65c5947fe8b7a379f98cf05d9b8ea1f4077d2ca5dce9db") @@ -90,7 +91,7 @@ def configure_certificates(self): else: # Write the global mercurial configuration file with open(hgrc_filename, "w") as hgrc: - hgrc.write("[web]\ncacerts = {0}".format(certificate)) + hgrc.write(f"[web]\ncacerts = {certificate}") @run_after("install") @on_package_attributes(run_tests=True) diff --git a/var/spack/repos/builtin/packages/mixcr/package.py b/var/spack/repos/builtin/packages/mixcr/package.py index 7cd5658c98e197..0c3b31190035f9 100644 --- a/var/spack/repos/builtin/packages/mixcr/package.py +++ b/var/spack/repos/builtin/packages/mixcr/package.py @@ -18,6 +18,7 @@ class Mixcr(Package): homepage = "https://mixcr.readthedocs.io/en/master/index.html" url = "https://github.com/milaboratory/mixcr/releases/download/v3.0.2/mixcr-3.0.2.zip" + version("4.6.0", sha256="05db1276951a2e656d0a7bf4e2b1fff326733a5f961a9d4829be139852fabe13") version("4.3.2", sha256="8f67cda8e55eeee66b46db0f33308418b6ddb63ca8914623035809ccb5aae2c2") version("3.0.2", sha256="b4dcad985053438d5f5590555f399edfbd8cb514e1b9717620ee0ad0b5eb6b33") diff --git a/var/spack/repos/builtin/packages/mkfontscale/package.py b/var/spack/repos/builtin/packages/mkfontscale/package.py index 045ebb4b4d7de4..da3531e9bf8288 100644 --- a/var/spack/repos/builtin/packages/mkfontscale/package.py +++ b/var/spack/repos/builtin/packages/mkfontscale/package.py @@ -15,6 +15,7 @@ class Mkfontscale(AutotoolsPackage, XorgPackage): license("MIT") + version("1.2.3", sha256="3a026b468874eb672a1d0a57dbd3ddeda4f0df09886caf97d30097b70c2df3f8") version("1.2.2", sha256="4a5af55e670713024639a7f7d10826d905d86faf574cd77e0f5aef2d00e70168") version("1.1.2", sha256="8bba59e60fbc4cb082092cf6b67e810b47b4fe64fbc77dbea1d7e7d55312b2e4") diff --git a/var/spack/repos/builtin/packages/mosquitto/package.py b/var/spack/repos/builtin/packages/mosquitto/package.py index 46399d397f28ac..809cc4bca7a97e 100644 --- a/var/spack/repos/builtin/packages/mosquitto/package.py +++ b/var/spack/repos/builtin/packages/mosquitto/package.py @@ -16,6 +16,7 @@ class Mosquitto(CMakePackage): license("EPL-1.0 OR EPL-2.0") + version("2.0.18", sha256="d665fe7d0032881b1371a47f34169ee4edab67903b2cd2b4c083822823f4448a") version("2.0.14", sha256="d0dde8fdb12caf6e2426b4f28081919a2fce3448773bdb8af0d3cd5fe5776925") version("1.6.15", sha256="5ff2271512f745bf1a451072cd3768a5daed71e90c5179fae12b049d6c02aa0f") version("1.5.11", sha256="4a3b8a8f5505d27a7a966dd68bfd76f1e69feb51796d1b46b7271d1bb5a1a299") diff --git a/var/spack/repos/builtin/packages/mpi-bash/package.py b/var/spack/repos/builtin/packages/mpi-bash/package.py index f20c051a072a89..d55940a6eaf2ab 100644 --- a/var/spack/repos/builtin/packages/mpi-bash/package.py +++ b/var/spack/repos/builtin/packages/mpi-bash/package.py @@ -12,6 +12,7 @@ class MpiBash(AutotoolsPackage): homepage = "https://github.com/lanl/MPI-Bash" url = "https://github.com/lanl/MPI-Bash/releases/download/v1.2/mpibash-1.2.tar.gz" + version("1.4", sha256="1b7e55b15d55e37d596a39739a519dff0be8d711fa389c1e5d2e3f992a5eca57") version("1.3", sha256="ab39dcc0eadce765abaf685e73d38f4351e3229fdb4302aee4b9e6e70d431d99") version("1.2", sha256="5c2faaa74464111205dbae4799bd89c2425810ec3708d004237b42d620c8be57") @@ -23,7 +24,7 @@ class MpiBash(AutotoolsPackage): def configure_args(self): args = [ - "--with-bashdir={0}".format(self.spec["bash"].prefix.include.bash), - "CC={0}".format(self.spec["mpi"].mpicc), + f"--with-bashdir={self.spec['bash'].prefix.include.bash}", + f"CC={self.spec['mpi'].mpicc}", ] return args diff --git a/var/spack/repos/builtin/packages/muparserx/package.py b/var/spack/repos/builtin/packages/muparserx/package.py index 64b2d2491e62f6..a34b2ad55bb5e9 100644 --- a/var/spack/repos/builtin/packages/muparserx/package.py +++ b/var/spack/repos/builtin/packages/muparserx/package.py @@ -16,4 +16,5 @@ class Muparserx(CMakePackage): license("BSD-2-Clause") + version("4.0.12", sha256="941c79f9b8b924f2f22406af8587177b4b185da3c968dbe8dc371b9dbe117f6e") version("4.0.8", sha256="5913e0a4ca29a097baad1b78a4674963bc7a06e39ff63df3c73fbad6fadb34e1") diff --git a/var/spack/repos/builtin/packages/nanoflann/package.py b/var/spack/repos/builtin/packages/nanoflann/package.py index 10e1d7aa164e47..9a6daec988a145 100644 --- a/var/spack/repos/builtin/packages/nanoflann/package.py +++ b/var/spack/repos/builtin/packages/nanoflann/package.py @@ -14,6 +14,7 @@ class Nanoflann(CMakePackage): license("BSD-2-Clause") + version("1.5.4", sha256="a7f64d0bdff42614c561e52680b16de46c0edac9719f21f935c5e1f8b0654afc") version("1.4.3", sha256="cbcecf22bec528a8673a113ee9b0e134f91f1f96be57e913fa1f74e98e4449fa") version("1.2.3", sha256="5ef4dfb23872379fe9eb306aabd19c9df4cae852b72a923af01aea5e8d7a59c3") diff --git a/var/spack/repos/builtin/packages/nanomsg/package.py b/var/spack/repos/builtin/packages/nanomsg/package.py index c28a6f69f84fb6..ed2a74c7753f9c 100644 --- a/var/spack/repos/builtin/packages/nanomsg/package.py +++ b/var/spack/repos/builtin/packages/nanomsg/package.py @@ -15,6 +15,7 @@ class Nanomsg(CMakePackage): license("MIT") + version("1.2.1", sha256="2e6c20dbfcd4882e133c819ac77501e9b323cb17ae5b3376702c4446261fbc23") version("1.2", sha256="6ef7282e833df6a364f3617692ef21e59d5c4878acea4f2d7d36e21c8858de67") version("1.1.5", sha256="218b31ae1534ab897cb5c419973603de9ca1a5f54df2e724ab4a188eb416df5a") version("1.0.0", sha256="24afdeb71b2e362e8a003a7ecc906e1b84fd9f56ce15ec567481d1bb33132cc7") diff --git a/var/spack/repos/builtin/packages/ncompress/package.py b/var/spack/repos/builtin/packages/ncompress/package.py index 3d5bc1a3473df1..56b61a98b4ede8 100644 --- a/var/spack/repos/builtin/packages/ncompress/package.py +++ b/var/spack/repos/builtin/packages/ncompress/package.py @@ -14,8 +14,9 @@ class Ncompress(MakefilePackage): license("Unlicense") + version("5.0", sha256="96ec931d06ab827fccad377839bfb91955274568392ddecf809e443443aead46") version("4.2.4.6", sha256="112acfc76382e7b631d6cfc8e6ff9c8fd5b3677e5d49d3d9f1657bc15ad13d13") version("4.2.4.5", sha256="2b532f02569e5557e1ed9cbe95c8db0e347a029517d3a50b906119808a996433") def install(self, spec, prefix): - make("install", "PREFIX={0}".format(prefix)) + make("install", f"PREFIX={prefix}") diff --git a/var/spack/repos/builtin/packages/netdata/package.py b/var/spack/repos/builtin/packages/netdata/package.py index db657b7b64a0ef..9f4943759e4193 100644 --- a/var/spack/repos/builtin/packages/netdata/package.py +++ b/var/spack/repos/builtin/packages/netdata/package.py @@ -14,6 +14,7 @@ class Netdata(AutotoolsPackage): license("GPL-3.0-or-later") + version("1.44.2", sha256="9b9267b03af90fe8754f2fb5d16f7f6c60f770d2e890dbc55fd9dcdfd2a4179a") version("1.38.1", sha256="e32a5427f0c00550210dbbf0046c2621313955256edf836db686e2bc270b8d10") version("1.31.0", sha256="ca68f725224e8bbec041b493891376fbf41aedb47c4ac06161c2eda990089c9f") version("1.30.1", sha256="3df188ac04f17094cb929e2990841ba77f68aa6af484e0509b99db298fa206c9") diff --git a/var/spack/repos/builtin/packages/ntpoly/package.py b/var/spack/repos/builtin/packages/ntpoly/package.py index eb9f0a2be3ee41..b6b736a6f77402 100644 --- a/var/spack/repos/builtin/packages/ntpoly/package.py +++ b/var/spack/repos/builtin/packages/ntpoly/package.py @@ -20,6 +20,7 @@ class Ntpoly(CMakePackage): license("MIT") + version("3.1.0", sha256="71cd6827f20c68e384555dbcfc85422d0690e21d21d7b5d4f7375544a2755271") version("2.3.1", sha256="af8c7690321607fbdee9671b9cb3acbed945148014e0541435858cf82bfd887e") depends_on("cmake", type="build") diff --git a/var/spack/repos/builtin/packages/opencoarrays/package.py b/var/spack/repos/builtin/packages/opencoarrays/package.py index 22ff0f640052f8..7d5a668c07c31a 100644 --- a/var/spack/repos/builtin/packages/opencoarrays/package.py +++ b/var/spack/repos/builtin/packages/opencoarrays/package.py @@ -19,6 +19,7 @@ class Opencoarrays(CMakePackage): license("BSD-3-Clause") + version("2.10.2", sha256="e13f0dc54b966b0113deed7f407514d131990982ad0fe4dea6b986911d26890c") version("2.10.1", sha256="b04b8fa724e7e4e5addbab68d81d701414e713ab915bafdf1597ec5dd9590cd4") version("2.9.3", sha256="eeee0b3be665022ab6838c523ddab4af9c948d4147afd6cd7bc01f028583cfe1") version("2.9.2", sha256="6c200ca49808c75b0a2dfa984304643613b6bc77cc0044bee093f9afe03698f7") @@ -44,6 +45,6 @@ class Opencoarrays(CMakePackage): def cmake_args(self): args = [] - args.append("-DCMAKE_C_COMPILER=%s" % self.spec["mpi"].mpicc) - args.append("-DCMAKE_Fortran_COMPILER=%s" % self.spec["mpi"].mpifc) + args.append(f"-DCMAKE_C_COMPILER={self.spec['mpi'].mpicc}") + args.append(f"-DCMAKE_Fortran_COMPILER={self.spec['mpi'].mpifc}") return args diff --git a/var/spack/repos/builtin/packages/openexr/package.py b/var/spack/repos/builtin/packages/openexr/package.py index 768f95e1c04d2d..ce2bf16b5966aa 100644 --- a/var/spack/repos/builtin/packages/openexr/package.py +++ b/var/spack/repos/builtin/packages/openexr/package.py @@ -16,6 +16,7 @@ class Openexr(CMakePackage, AutotoolsPackage): license("BSD-3-Clause") # New versions should come from github now + version("3.2.3", sha256="f3f6c4165694d5c09e478a791eae69847cadb1333a2948ca222aa09f145eba63") version("3.2.0", sha256="b1b200606640547fceff0d3ebe01ac05c4a7ae2a131be7e9b3e5b9f491ef35b3") version("3.1.11", sha256="06b4a20d0791b5ec0f804c855d320a0615ce8445124f293616a086e093f1f1e1") version("3.1.7", sha256="78dbca39115a1c526e6728588753955ee75fa7f5bb1a6e238bed5b6d66f91fd7") diff --git a/var/spack/repos/builtin/packages/optional-lite/package.py b/var/spack/repos/builtin/packages/optional-lite/package.py index 33b6c1cd70021f..3b09e935bdd2a3 100644 --- a/var/spack/repos/builtin/packages/optional-lite/package.py +++ b/var/spack/repos/builtin/packages/optional-lite/package.py @@ -19,6 +19,7 @@ class OptionalLite(CMakePackage): license("BSL-1.0") + version("3.6.0", sha256="2be17fcfc764809612282c3e728cabc42afe703b9dc333cc87c48d882fcfc2c2") version("3.5.0", sha256="6077cee87e2812afd05a273645051e0b55397a25c220295ddc1d6f49d0cf5cc8") version("3.2.0", sha256="069c92f6404878588be761d609b917a111b0231633a91f7f908288fc77eb24c8") version("3.1.1", sha256="b61fe644b9f77d7cc1c555b3e40e973b135bf2c0350e5fa67bc6f379d9fc3158") @@ -31,7 +32,7 @@ class OptionalLite(CMakePackage): def cmake_args(self): return [ - "-DOPTIONAL_LITE_OPT_BUILD_TESTS=%s" % ("ON" if self.run_tests else "OFF"), + f"-DOPTIONAL_LITE_OPT_BUILD_TESTS={'ON' if self.run_tests else 'OFF'}", "-DOPTIONAL_LITE_OPT_BUILD_EXAMPLES=OFF", ] diff --git a/var/spack/repos/builtin/packages/parallel/package.py b/var/spack/repos/builtin/packages/parallel/package.py index 51b6b9ca89e6f8..7ced55d382a204 100644 --- a/var/spack/repos/builtin/packages/parallel/package.py +++ b/var/spack/repos/builtin/packages/parallel/package.py @@ -46,6 +46,6 @@ def filter_sbang(self): with working_dir("src"): match = "^#!/usr/bin/env perl|^#!/usr/bin/perl.*" - substitute = "#!{perl}".format(perl=perl) + substitute = f"#!{perl}" files = ["parallel", "niceload", "parcat", "sql"] filter_file(match, substitute, *files, **kwargs) From 0f080b38f4c81221f030554d7e723d7f3c303f9b Mon Sep 17 00:00:00 2001 From: downloadico Date: Tue, 12 Mar 2024 15:04:35 -0600 Subject: [PATCH 035/155] abinit: add version 9.10.5 (#43148) set the FC variable to the MPI Fortran compiler and also set the F90 variable to the same compiler for versions 9.8 and up. FC needs to be set because the configure script still uses FC. --- var/spack/repos/builtin/packages/abinit/package.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/abinit/package.py b/var/spack/repos/builtin/packages/abinit/package.py index 37ff8afb9c0074..47c69fc4024217 100644 --- a/var/spack/repos/builtin/packages/abinit/package.py +++ b/var/spack/repos/builtin/packages/abinit/package.py @@ -26,10 +26,10 @@ class Abinit(AutotoolsPackage): homepage = "https://www.abinit.org/" url = "https://www.abinit.org/sites/default/files/packages/abinit-8.6.3.tar.gz" - license("Apache-2.0") maintainers("downloadico") + version("9.10.5", sha256="a9e0f0e058baa6088ea93d26ada369ccf0fe52dc9d4a865b1c38c20620148cd5") version("9.10.3", sha256="3f2a9aebbf1fee9855a09dd687f88d2317b8b8e04f97b2628ab96fb898dce49b") version("9.8.4", sha256="a086d5045f0093b432e6a044d5f71f7edf5a41a62d67b3677cb0751d330c564a") version("9.8.3", sha256="de823878aea2c20098f177524fbb4b60de9b1b5971b2e835ec244dfa3724589b") @@ -181,10 +181,9 @@ def configure_args(self): if "+mpi" in spec: oapp(f"CC={spec['mpi'].mpicc}") oapp(f"CXX={spec['mpi'].mpicxx}") + oapp(f"FC={spec['mpi'].mpifc}") if spec.satisfies("@9.8:"): oapp(f"F90={spec['mpi'].mpifc}") - else: - oapp(f"FC={spec['mpi'].mpifc}") # MPI version: # let the configure script auto-detect MPI support from mpi_prefix From 94a1d1414aa26fff55b55f1e9c93f342d12b6464 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Wed, 13 Mar 2024 07:22:10 +0100 Subject: [PATCH 036/155] spack.patch: support reversing patches (#43040) The `patch()` directive can now be invoked with `reverse=True` to apply a patch in reverse. This is useful for reverting commits that caused errors in projects, even if only the forward patch is available, e.g. via a GitHub commit patch URL. `patch(..., reverse=True)` runs `patch -R` behind the scenes. This is a POSIX option so we can expect it to be available on the `patch` command. --------- Co-authored-by: Massimiliano Culpo --- lib/spack/spack/directives.py | 6 ++- lib/spack/spack/patch.py | 42 +++++++++++++++++---- lib/spack/spack/test/patch.py | 69 ++++++++++++++++++++++++++++++++++- 3 files changed, 107 insertions(+), 10 deletions(-) diff --git a/lib/spack/spack/directives.py b/lib/spack/spack/directives.py index ec9c5b4065b19f..207624965d736d 100644 --- a/lib/spack/spack/directives.py +++ b/lib/spack/spack/directives.py @@ -660,6 +660,7 @@ def patch( level: int = 1, when: WhenType = None, working_dir: str = ".", + reverse: bool = False, sha256: Optional[str] = None, archive_sha256: Optional[str] = None, ) -> Patcher: @@ -673,10 +674,10 @@ def patch( level: patch level (as in the patch shell command) when: optional anonymous spec that specifies when to apply the patch working_dir: dir to change to before applying + reverse: reverse the patch sha256: sha256 sum of the patch, used to verify the patch (only required for URL patches) archive_sha256: sha256 sum of the *archive*, if the patch is compressed (only required for compressed URL patches) - """ def _execute_patch(pkg_or_dep: Union["spack.package_base.PackageBase", Dependency]): @@ -711,13 +712,14 @@ def _execute_patch(pkg_or_dep: Union["spack.package_base.PackageBase", Dependenc url_or_filename, level, working_dir=working_dir, + reverse=reverse, ordering_key=ordering_key, sha256=sha256, archive_sha256=archive_sha256, ) else: patch = spack.patch.FilePatch( - pkg, url_or_filename, level, working_dir, ordering_key=ordering_key + pkg, url_or_filename, level, working_dir, reverse, ordering_key=ordering_key ) cur_patches.append(patch) diff --git a/lib/spack/spack/patch.py b/lib/spack/spack/patch.py index c11ce9079db425..531445b4f95701 100644 --- a/lib/spack/spack/patch.py +++ b/lib/spack/spack/patch.py @@ -26,7 +26,11 @@ def apply_patch( - stage: "spack.stage.Stage", patch_path: str, level: int = 1, working_dir: str = "." + stage: "spack.stage.Stage", + patch_path: str, + level: int = 1, + working_dir: str = ".", + reverse: bool = False, ) -> None: """Apply the patch at patch_path to code in the stage. @@ -35,6 +39,7 @@ def apply_patch( patch_path: filesystem location for the patch to apply level: patch level working_dir: relative path *within* the stage to change to + reverse: reverse the patch """ git_utils_path = os.environ.get("PATH", "") if sys.platform == "win32": @@ -45,6 +50,10 @@ def apply_patch( git_root = git_root / "usr" / "bin" git_utils_path = os.pathsep.join([str(git_root), git_utils_path]) + args = ["-s", "-p", str(level), "-i", patch_path, "-d", working_dir] + if reverse: + args.append("-R") + # TODO: Decouple Spack's patch support on Windows from Git # for Windows, and instead have Spack directly fetch, install, and # utilize that patch. @@ -53,7 +62,7 @@ def apply_patch( # flag is passed. patch = which("patch", required=True, path=git_utils_path) with llnl.util.filesystem.working_dir(stage.source_path): - patch("-s", "-p", str(level), "-i", patch_path, "-d", working_dir) + patch(*args) class Patch: @@ -67,7 +76,12 @@ class Patch: sha256: str def __init__( - self, pkg: "spack.package_base.PackageBase", path_or_url: str, level: int, working_dir: str + self, + pkg: "spack.package_base.PackageBase", + path_or_url: str, + level: int, + working_dir: str, + reverse: bool = False, ) -> None: """Initialize a new Patch instance. @@ -76,6 +90,7 @@ def __init__( path_or_url: the relative path or URL to a patch file level: patch level working_dir: relative path *within* the stage to change to + reverse: reverse the patch """ # validate level (must be an integer >= 0) if not isinstance(level, int) or not level >= 0: @@ -87,6 +102,7 @@ def __init__( self.path: Optional[str] = None # must be set before apply() self.level = level self.working_dir = working_dir + self.reverse = reverse def apply(self, stage: "spack.stage.Stage") -> None: """Apply a patch to source in a stage. @@ -97,7 +113,7 @@ def apply(self, stage: "spack.stage.Stage") -> None: if not self.path or not os.path.isfile(self.path): raise NoSuchPatchError(f"No such patch: {self.path}") - apply_patch(stage, self.path, self.level, self.working_dir) + apply_patch(stage, self.path, self.level, self.working_dir, self.reverse) # TODO: Use TypedDict once Spack supports Python 3.8+ only def to_dict(self) -> Dict[str, Any]: @@ -111,6 +127,7 @@ def to_dict(self) -> Dict[str, Any]: "sha256": self.sha256, "level": self.level, "working_dir": self.working_dir, + "reverse": self.reverse, } def __eq__(self, other: object) -> bool: @@ -146,6 +163,7 @@ def __init__( relative_path: str, level: int, working_dir: str, + reverse: bool = False, ordering_key: Optional[Tuple[str, int]] = None, ) -> None: """Initialize a new FilePatch instance. @@ -155,6 +173,7 @@ def __init__( relative_path: path to patch, relative to the repository directory for a package. level: level to pass to patch command working_dir: path within the source directory where patch should be applied + reverse: reverse the patch ordering_key: key used to ensure patches are applied in a consistent order """ self.relative_path = relative_path @@ -182,7 +201,7 @@ def __init__( msg += "package %s.%s does not exist." % (pkg.namespace, pkg.name) raise ValueError(msg) - super().__init__(pkg, abs_path, level, working_dir) + super().__init__(pkg, abs_path, level, working_dir, reverse) self.path = abs_path self.ordering_key = ordering_key @@ -228,6 +247,7 @@ def __init__( level: int = 1, *, working_dir: str = ".", + reverse: bool = False, sha256: str, # This is required for UrlPatch ordering_key: Optional[Tuple[str, int]] = None, archive_sha256: Optional[str] = None, @@ -239,12 +259,13 @@ def __init__( url: URL where the patch can be fetched level: level to pass to patch command working_dir: path within the source directory where patch should be applied + reverse: reverse the patch ordering_key: key used to ensure patches are applied in a consistent order sha256: sha256 sum of the patch, used to verify the patch archive_sha256: sha256 sum of the *archive*, if the patch is compressed (only required for compressed URL patches) """ - super().__init__(pkg, url, level, working_dir) + super().__init__(pkg, url, level, working_dir, reverse) self.url = url self._stage: Optional["spack.stage.Stage"] = None @@ -350,13 +371,20 @@ def from_dict( dictionary["url"], dictionary["level"], working_dir=dictionary["working_dir"], + # Added in v0.22, fallback required for backwards compatibility + reverse=dictionary.get("reverse", False), sha256=dictionary["sha256"], archive_sha256=dictionary.get("archive_sha256"), ) elif "relative_path" in dictionary: patch = FilePatch( - pkg_cls, dictionary["relative_path"], dictionary["level"], dictionary["working_dir"] + pkg_cls, + dictionary["relative_path"], + dictionary["level"], + dictionary["working_dir"], + # Added in v0.22, fallback required for backwards compatibility + dictionary.get("reverse", False), ) # If the patch in the repo changes, we cannot get it back, so we diff --git a/lib/spack/spack/test/patch.py b/lib/spack/spack/test/patch.py index e025994cced371..c8e9e8ece1ac6b 100644 --- a/lib/spack/spack/test/patch.py +++ b/lib/spack/spack/test/patch.py @@ -6,6 +6,7 @@ import collections import filecmp import os +import shutil import sys import pytest @@ -89,7 +90,6 @@ def test_url_patch(mock_patch_stage, filename, sha256, archive_sha256, config): # Make a patch object url = url_util.path_to_file_url(filename) s = Spec("patch").concretized() - patch = spack.patch.UrlPatch(s.package, url, sha256=sha256, archive_sha256=archive_sha256) # make a stage with Stage(url) as stage: # TODO: url isn't used; maybe refactor Stage @@ -105,6 +105,8 @@ def test_url_patch(mock_patch_stage, filename, sha256, archive_sha256, config): second line """ ) + # save it for later comparison + shutil.copyfile("foo.txt", "foo-original.txt") # write the expected result of patching. with open("foo-expected.txt", "w") as f: f.write( @@ -115,6 +117,7 @@ def test_url_patch(mock_patch_stage, filename, sha256, archive_sha256, config): """ ) # apply the patch and compare files + patch = spack.patch.UrlPatch(s.package, url, sha256=sha256, archive_sha256=archive_sha256) with patch.stage: patch.stage.create() patch.stage.fetch() @@ -124,6 +127,19 @@ def test_url_patch(mock_patch_stage, filename, sha256, archive_sha256, config): with working_dir(stage.source_path): assert filecmp.cmp("foo.txt", "foo-expected.txt") + # apply the patch in reverse and compare files + patch = spack.patch.UrlPatch( + s.package, url, sha256=sha256, archive_sha256=archive_sha256, reverse=True + ) + with patch.stage: + patch.stage.create() + patch.stage.fetch() + patch.stage.expand_archive() + patch.apply(stage) + + with working_dir(stage.source_path): + assert filecmp.cmp("foo.txt", "foo-original.txt") + def test_patch_in_spec(mock_packages, config): """Test whether patches in a package appear in the spec.""" @@ -425,6 +441,19 @@ def test_patch_no_file(): patch.apply("") +def test_patch_no_sha256(): + # Give it the attributes we need to construct the error message + FakePackage = collections.namedtuple("FakePackage", ["name", "namespace", "fullname"]) + fp = FakePackage("fake-package", "test", "fake-package") + url = url_util.path_to_file_url("foo.tgz") + match = "Compressed patches require 'archive_sha256' and patch 'sha256' attributes: file://" + with pytest.raises(spack.patch.PatchDirectiveError, match=match): + spack.patch.UrlPatch(fp, url, sha256="", archive_sha256="") + match = "URL patches require a sha256 checksum" + with pytest.raises(spack.patch.PatchDirectiveError, match=match): + spack.patch.UrlPatch(fp, url, sha256="", archive_sha256="abc") + + @pytest.mark.parametrize("level", [-1, 0.0, "1"]) def test_invalid_level(level): # Give it the attributes we need to construct the error message @@ -432,3 +461,41 @@ def test_invalid_level(level): fp = FakePackage("fake-package", "test") with pytest.raises(ValueError, match="Patch level needs to be a non-negative integer."): spack.patch.Patch(fp, "nonexistent_file", level, "") + + +def test_equality(): + FakePackage = collections.namedtuple("FakePackage", ["name", "namespace", "fullname"]) + fp = FakePackage("fake-package", "test", "fake-package") + patch1 = spack.patch.UrlPatch(fp, "nonexistent_url1", sha256="abc") + patch2 = spack.patch.UrlPatch(fp, "nonexistent_url2", sha256="def") + assert patch1 == patch1 + assert patch1 != patch2 + assert patch1 != "not a patch" + + +def test_sha256_setter(mock_patch_stage, config): + path = os.path.join(data_path, "foo.patch") + s = Spec("patch").concretized() + patch = spack.patch.FilePatch(s.package, path, level=1, working_dir=".") + patch.sha256 = "abc" + + +def test_invalid_from_dict(mock_packages, config): + dictionary = {} + with pytest.raises(ValueError, match="Invalid patch dictionary:"): + spack.patch.from_dict(dictionary) + + dictionary = {"owner": "patch"} + with pytest.raises(ValueError, match="Invalid patch dictionary:"): + spack.patch.from_dict(dictionary) + + dictionary = { + "owner": "patch", + "relative_path": "foo.patch", + "level": 1, + "working_dir": ".", + "reverse": False, + "sha256": bar_sha256, + } + with pytest.raises(spack.fetch_strategy.ChecksumError, match="sha256 checksum failed for"): + spack.patch.from_dict(dictionary) From 3a828358cb9af60587eb338faf2f632b1f462e45 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 13 Mar 2024 11:19:24 -0600 Subject: [PATCH 037/155] Update var/spack/repos/builtin/packages/ecmwf-atlas/package.py: set correct ectrans/trans variant, configure tesselation variant (#43151) --- var/spack/repos/builtin/packages/ecmwf-atlas/package.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/ecmwf-atlas/package.py b/var/spack/repos/builtin/packages/ecmwf-atlas/package.py index 9a53482b3309a5..e14429104a0f8a 100644 --- a/var/spack/repos/builtin/packages/ecmwf-atlas/package.py +++ b/var/spack/repos/builtin/packages/ecmwf-atlas/package.py @@ -57,13 +57,14 @@ class EcmwfAtlas(CMakePackage): variant("openmp", default=True, description="Use OpenMP") depends_on("llvm-openmp", when="+openmp %apple-clang", type=("build", "run")) variant("shared", default=True, description="Build shared libraries") - variant("trans", default=False, description="Enable trans") depends_on("ectrans@1.1.0:", when="@0.31.0: +trans") variant("eigen", default=True, description="Enable eigen") depends_on("eigen", when="+eigen") variant("fftw", default=True, description="Enable fftw") depends_on("fftw-api", when="+fftw") + variant("tesselation", default=False, description="Enable tesselation", when="@0.35.0:") + depends_on("qhull", when="+tesselation") variant("fismahigh", default=False, description="Apply patching for FISMA-high compliance") @@ -71,10 +72,14 @@ def cmake_args(self): args = [ self.define_from_variant("ENABLE_OMP", "openmp"), self.define_from_variant("ENABLE_FCKIT", "fckit"), - self.define_from_variant("ENABLE_TRANS", "trans"), self.define_from_variant("ENABLE_EIGEN", "eigen"), self.define_from_variant("ENABLE_FFTW", "fftw"), ] + if self.spec.satisfies("@0.31:0.34"): + args.append(self.define_from_variant("ENABLE_TRANS", "trans")) + if self.spec.satisfies("@0.35:"): + args.append(self.define_from_variant("ENABLE_ECTRANS", "trans")) + args.append(self.define_from_variant("ENABLE_TESSELATION", "tesselation")) if "~shared" in self.spec: args.append("-DBUILD_SHARED_LIBS=OFF") return args From 7506acabe7cf7fd55dc4438d23d2af2bd0799c4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=9D=8E?= Date: Thu, 14 Mar 2024 02:00:54 +0800 Subject: [PATCH 038/155] antlr4-cpp-runtime: update dependencies (#43115) * update dependencies * Update package.py --- var/spack/repos/builtin/packages/antlr4-cpp-runtime/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/antlr4-cpp-runtime/package.py b/var/spack/repos/builtin/packages/antlr4-cpp-runtime/package.py index 281433c33f2d53..d8a30eaf03d9b4 100644 --- a/var/spack/repos/builtin/packages/antlr4-cpp-runtime/package.py +++ b/var/spack/repos/builtin/packages/antlr4-cpp-runtime/package.py @@ -27,6 +27,8 @@ class Antlr4CppRuntime(CMakePackage): ) depends_on("libuuid", type=["build", "link"], when="@:4.10.1") + depends_on("git", type=["build"]) + depends_on("pkgconfig", type=["build"]) def cmake_args(self): args = [ From 25f622e809b985d286c2060e3a6e93b3032e48d6 Mon Sep 17 00:00:00 2001 From: Brian Spilner Date: Wed, 13 Mar 2024 19:01:41 +0100 Subject: [PATCH 039/155] update to cdo-2.4.0 (#43071) --- var/spack/repos/builtin/packages/cdo/package.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/var/spack/repos/builtin/packages/cdo/package.py b/var/spack/repos/builtin/packages/cdo/package.py index 2019f703b5bfc4..929eaaebfc6379 100644 --- a/var/spack/repos/builtin/packages/cdo/package.py +++ b/var/spack/repos/builtin/packages/cdo/package.py @@ -20,6 +20,11 @@ class Cdo(AutotoolsPackage): maintainers("skosukhin", "Try2Code") + version( + "2.4.0", + sha256="a4790fb8cc07f353b11f9bbe49218b8e4be8e5ae56aade8420bad390510b4d2c", + url="https://code.mpimet.mpg.de/attachments/download/29313/cdo-2.4.0.tar.gz", + ) version( "2.3.0", sha256="10c878227baf718a6917837527d4426c2d0022cfac4457c65155b9c57f091f6b", From 2fa816184e8a526eecf2604a3d42b2f89a4c7b93 Mon Sep 17 00:00:00 2001 From: Juan Miguel Carceller <22276694+jmcarcell@users.noreply.github.com> Date: Wed, 13 Mar 2024 19:03:28 +0100 Subject: [PATCH 040/155] py-ruff: add version 0.3.0 and deprecate the oldest version (#43069) Co-authored-by: jmcarcell --- var/spack/repos/builtin/packages/py-ruff/package.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/py-ruff/package.py b/var/spack/repos/builtin/packages/py-ruff/package.py index 223711145260a9..89fda4deec22d0 100644 --- a/var/spack/repos/builtin/packages/py-ruff/package.py +++ b/var/spack/repos/builtin/packages/py-ruff/package.py @@ -15,8 +15,13 @@ class PyRuff(PythonPackage): license("MIT") + version("0.3.0", sha256="0886184ba2618d815067cf43e005388967b67ab9c80df52b32ec1152ab49f53a") version("0.1.6", sha256="1b09f29b16c6ead5ea6b097ef2764b42372aebe363722f1605ecbcd2b9207184") - version("0.0.276", sha256="d456c86eb6ce9225507f24fcc7bf72fa031bb7cc750023310e62889bf4ad4b6a") + version( + "0.0.276", + sha256="d456c86eb6ce9225507f24fcc7bf72fa031bb7cc750023310e62889bf4ad4b6a", + deprecated=True, + ) depends_on("py-maturin@1", type="build") From 4b695d4722a3bf7db3f19a784bb24153621486f6 Mon Sep 17 00:00:00 2001 From: "Wileam Y. Phan" <50928756+wyphan@users.noreply.github.com> Date: Wed, 13 Mar 2024 14:53:46 -0400 Subject: [PATCH 041/155] rocm-openmp-extras: Fix resource download URLs (#43147) * rocm-openmp-extras: Fix resource download URLs * Apply review suggestions --- .../repos/builtin/packages/rocm-openmp-extras/package.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py b/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py index e096ce8c628148..597c0820a22b6a 100644 --- a/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py +++ b/var/spack/repos/builtin/packages/rocm-openmp-extras/package.py @@ -210,8 +210,6 @@ class RocmOpenmpExtras(Package): depends_on(f"hsa-rocr-dev@{ver}", when=f"@{ver}") depends_on(f"llvm-amdgpu@{ver}", when=f"@{ver}") - tag = "rocm-" - resource( name="rocm-device-libs", url=f"{compute_url}/ROCm-Device-Libs/archive/rocm-{ver}.tar.gz", @@ -224,7 +222,7 @@ class RocmOpenmpExtras(Package): resource( name="flang", - url=f"{tools_url}/flang/archive/{ver}.tar.gz", + url=f"{tools_url}/flang/archive/rocm-{ver}.tar.gz", sha256=versions_dict[ver]["flang"], expand=True, destination="rocm-openmp-extras", @@ -234,7 +232,7 @@ class RocmOpenmpExtras(Package): resource( name="aomp-extras", - url=f"{tools_url}/aomp-extras/archive/{ver}.tar.gz", + url=f"{tools_url}/aomp-extras/archive/rocm-{ver}.tar.gz", sha256=versions_dict[ver]["extras"], expand=True, destination="rocm-openmp-extras", From 2a8e503a04860bcb02061a66ee00c4b62609b884 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Aum=C3=BCller?= Date: Wed, 13 Mar 2024 19:54:02 +0100 Subject: [PATCH 042/155] protobuf: apply centos 8 patch only to @3.4: (#43162) does not apply cleanly to older versions --- var/spack/repos/builtin/packages/protobuf/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/protobuf/package.py b/var/spack/repos/builtin/packages/protobuf/package.py index 8758299ef67804..035eab572a922d 100644 --- a/var/spack/repos/builtin/packages/protobuf/package.py +++ b/var/spack/repos/builtin/packages/protobuf/package.py @@ -111,7 +111,7 @@ class Protobuf(CMakePackage): # fix build on Centos 8, see also https://github.com/protocolbuffers/protobuf/issues/5144 patch( "https://github.com/protocolbuffers/protobuf/pull/11032/commits/3039f932aaf212bcf2f14a3f2fd00dbfb881e46b.patch?full_index=1", - when="@:3.21", + when="@3.4:3.21", sha256="cefc4bf4aadf9ca33a336b2aa6d0d82006b6563e85122ae8cfb70345f85321dd", ) From 21b50fbbe3b5803743beeb1a2e9b5c2bfe8f91f9 Mon Sep 17 00:00:00 2001 From: Ashwin Kumar Karnad <46030335+iamashwin99@users.noreply.github.com> Date: Wed, 13 Mar 2024 19:59:16 +0100 Subject: [PATCH 043/155] octopus: Support new version octopus@14 (#43160) * add checksum for octopus 14 * Update dependencies for BerkeleyGW package --- var/spack/repos/builtin/packages/octopus/package.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/octopus/package.py b/var/spack/repos/builtin/packages/octopus/package.py index 7098b163faac2a..b4fea462a64e80 100644 --- a/var/spack/repos/builtin/packages/octopus/package.py +++ b/var/spack/repos/builtin/packages/octopus/package.py @@ -23,6 +23,7 @@ class Octopus(AutotoolsPackage, CudaPackage): license("Apache-2.0") + version("14.0", sha256="3cf6ef571ff97cc2c226016815d2ac4aa1e00ae3fb0cc693e0aff5620b80373e") version("13.0", sha256="b4d0fd496c31a9c4aa4677360e631765049373131e61f396b00048235057aeb1") version("12.2", sha256="e919e07703696eadb4ba59352d7a2678a9191b4586cb9da538661615e765a5a2") version("12.1", sha256="e2214e958f1e9631dbe6bf020c39f1fe4d71ab0b6118ea9bd8dc38f6d7a7959a") @@ -104,7 +105,12 @@ class Octopus(AutotoolsPackage, CudaPackage): depends_on("arpack-ng+mpi", when="+arpack") depends_on("elpa+mpi", when="+elpa") depends_on("netcdf-c+mpi", when="+netcdf") # Link dependency of NetCDF fortran lib - depends_on("berkeleygw@2.1+mpi", when="+berkeleygw") + with when("+berkeleygw"): + # From octopus@14:, upstream switched support from BerkeleyGW@2.1 to @3.0: + # see https://gitlab.com/octopus-code/octopus/-/merge_requests/2257 + # BerkeleyGW 2.1 is the last supported version until octopus@14 + depends_on("berkeleygw@3:+mpi", when="@14:") + depends_on("berkeleygw@2.1+mpi", when="@:13") with when("~mpi"): # list all the serial dependencies depends_on("fftw@3:+openmp~mpi", when="@8:9") # FFT library @@ -114,7 +120,9 @@ class Octopus(AutotoolsPackage, CudaPackage): depends_on("arpack-ng~mpi", when="+arpack") depends_on("elpa~mpi", when="+elpa") depends_on("netcdf-c~~mpi", when="+netcdf") # Link dependency of NetCDF fortran lib - depends_on("berkeleygw@2.1~mpi", when="+berkeleygw") + with when("+berkeleygw"): + depends_on("berkeleygw@3:~~mpi", when="@14:") + depends_on("berkeleygw@2.1~~mpi", when="@:13") depends_on("etsf-io", when="+etsf-io") depends_on("py-numpy", when="+python") From 8c33841567b05aa5cfbb2af0f8a09d8814a1cfcb Mon Sep 17 00:00:00 2001 From: Ashwin Kumar Karnad <46030335+iamashwin99@users.noreply.github.com> Date: Wed, 13 Mar 2024 19:59:41 +0100 Subject: [PATCH 044/155] Add iamashwin99 as a maintainer in Octopus package (#43163) --- var/spack/repos/builtin/packages/octopus/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/octopus/package.py b/var/spack/repos/builtin/packages/octopus/package.py index b4fea462a64e80..71784f06036636 100644 --- a/var/spack/repos/builtin/packages/octopus/package.py +++ b/var/spack/repos/builtin/packages/octopus/package.py @@ -19,7 +19,7 @@ class Octopus(AutotoolsPackage, CudaPackage): url = "https://octopus-code.org/download/6.0/octopus-6.0.tar.gz" git = "https://gitlab.com/octopus-code/octopus" - maintainers("fangohr", "RemiLacroix-IDRIS") + maintainers("fangohr", "RemiLacroix-IDRIS", "iamashwin99") license("Apache-2.0") From 49ff816fb0f6150fb36f5f6a2a359ec654333099 Mon Sep 17 00:00:00 2001 From: Ashwin Kumar Karnad <46030335+iamashwin99@users.noreply.github.com> Date: Wed, 13 Mar 2024 20:04:39 +0100 Subject: [PATCH 045/155] octopus: disable gdlib by default (#43161) --- var/spack/repos/builtin/packages/octopus/package.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/var/spack/repos/builtin/packages/octopus/package.py b/var/spack/repos/builtin/packages/octopus/package.py index 71784f06036636..3690feb1c3e361 100644 --- a/var/spack/repos/builtin/packages/octopus/package.py +++ b/var/spack/repos/builtin/packages/octopus/package.py @@ -300,6 +300,12 @@ def configure_args(self): args.append(f"{cxxflags} {gcc10_extra}") args.append(f"{cflags} {gcc10_extra}") + # Disable flags + # + # disable gdlib explicitly to avoid + # autotools picking gdlib up from the system + args.append("--disable-gdlib") + return args @run_after("install") From cc545d8c9ad7e047b687ecd34a7882bfea952a9c Mon Sep 17 00:00:00 2001 From: Christopher Christofi <77968333+ChristopherChristofi@users.noreply.github.com> Date: Wed, 13 Mar 2024 22:06:03 +0000 Subject: [PATCH 046/155] jags: add version 4.3.2 (#43166) --- var/spack/repos/builtin/packages/jags/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/jags/package.py b/var/spack/repos/builtin/packages/jags/package.py index bff7d1574b8160..8a10604d8d3963 100644 --- a/var/spack/repos/builtin/packages/jags/package.py +++ b/var/spack/repos/builtin/packages/jags/package.py @@ -18,6 +18,7 @@ class Jags(AutotoolsPackage): license("GPL-2.0-or-later") + version("4.3.2", sha256="871f556af403a7c2ce6a0f02f15cf85a572763e093d26658ebac55c4ab472fc8") version("4.3.0", sha256="8ac5dd57982bfd7d5f0ee384499d62f3e0bb35b5f1660feb368545f1186371fc") version("4.2.0", sha256="af3e9d2896d3e712f99e2a0c81091c6b08f096650af6aa9d0c631c0790409cf7") From b1a984ef02f5e6d0d60c824207555390c9d688ea Mon Sep 17 00:00:00 2001 From: "John W. Parent" <45471568+johnwparent@users.noreply.github.com> Date: Wed, 13 Mar 2024 18:28:36 -0400 Subject: [PATCH 047/155] msvc: patch property ref bug (#43173) --- lib/spack/spack/compilers/msvc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/spack/spack/compilers/msvc.py b/lib/spack/spack/compilers/msvc.py index 49f7582512ab6a..cba2b6e41cc548 100644 --- a/lib/spack/spack/compilers/msvc.py +++ b/lib/spack/spack/compilers/msvc.py @@ -323,7 +323,7 @@ def fc_version(cls, fc): fc_path[fc_ver] = fc if os.getenv("ONEAPI_ROOT"): try: - sps = spack.operating_systems.windows_os.WindowsOs.compiler_search_paths + sps = spack.operating_systems.windows_os.WindowsOs().compiler_search_paths except AttributeError: raise SpackError("Windows compiler search paths not established") clp = spack.util.executable.which_string("cl", path=sps) From 29ee8613661d1c28cf290e2784c725c9c958c3bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Mar 2024 05:27:16 +0100 Subject: [PATCH 048/155] build(deps): bump docker/login-action from 3.0.0 to 3.1.0 (#43176) Bumps [docker/login-action](https://github.com/docker/login-action) from 3.0.0 to 3.1.0. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/343f7c4344506bcbf9b4de18042ae17996df046d...e92390c5fb421da1463c202d546fed0ec5c39f20) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build-containers.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-containers.yml b/.github/workflows/build-containers.yml index 3f5739e826503e..7fbc3b9d94db7f 100644 --- a/.github/workflows/build-containers.yml +++ b/.github/workflows/build-containers.yml @@ -99,7 +99,7 @@ jobs: uses: docker/setup-buildx-action@0d103c3126aa41d772a8362f6aa67afac040f80c - name: Log in to GitHub Container Registry - uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d + uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 with: registry: ghcr.io username: ${{ github.actor }} @@ -107,7 +107,7 @@ jobs: - name: Log in to DockerHub if: github.event_name != 'pull_request' - uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d + uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} From afcf0d2e39452e7ff9c4daf4b5c0c2f110165c2c Mon Sep 17 00:00:00 2001 From: Tom Scogland Date: Wed, 13 Mar 2024 21:34:09 -0700 Subject: [PATCH 049/155] llvm-openmp: make llvm-openmp consistent with other llvm builds (#43165) Add current versions of the 17 and 18 releases Stop making it nearly impossible to compose this correctly with code built with gcc Build for compatibility by default like we do in every other llvm package --- .../builtin/packages/llvm-openmp/package.py | 44 +++++++++++-------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/var/spack/repos/builtin/packages/llvm-openmp/package.py b/var/spack/repos/builtin/packages/llvm-openmp/package.py index b826e86a366f5e..ec4046a61dd8fa 100644 --- a/var/spack/repos/builtin/packages/llvm-openmp/package.py +++ b/var/spack/repos/builtin/packages/llvm-openmp/package.py @@ -8,6 +8,15 @@ from spack.package import * +def resource_for_ver(ver, sha256): + resource( + name="cmake", + url=f"https://github.com/llvm/llvm-project/releases/download/llvmorg-{ver}/cmake-{ver}.src.tar.xz", + sha256=sha256, + when=f"@{ver}", + ) + + class LlvmOpenmp(CMakePackage): """The OpenMP subproject of LLVM contains the components required to build an executable OpenMP program that are outside the compiler itself.""" @@ -17,30 +26,29 @@ class LlvmOpenmp(CMakePackage): license("Apache-2.0") + version("18.1.0", sha256="ef1cef885d463e4becf5e132a9175a540c6f4487334c0e86274a374ce7d0a092") + resource_for_ver( + "18.1.0", sha256="d367bf77a3707805168b0a7a7657c8571207fcae29c5890312642ee42b76c967" + ) + version("17.0.6", sha256="74334cbb4dc8b73a768448a7561d5a3540404940b2267b1fb9813a6464b320de") + resource_for_ver( + "17.0.6", sha256="807f069c54dc20cb47b21c1f6acafdd9c649f3ae015609040d6182cab01140f4" + ) version("16.0.0", sha256="e30f69c6533157ec4399193ac6b158807610815accfbed98695d72074e4bedd0") + resource_for_ver( + "16.0.0", sha256="04e62ab7d0168688d9102680adf8eabe7b04275f333fe20eef8ab5a3a8ea9fcc" + ) version("14.0.6", sha256="4f731ff202add030d9d68d4c6daabd91d3aeed9812e6a5b4968815cfdff0eb1f") version("12.0.1", sha256="60fe79440eaa9ebf583a6ea7f81501310388c02754dbe7dc210776014d06b091") version("9.0.0", sha256="9979eb1133066376cc0be29d1682bc0b0e7fb541075b391061679111ae4d3b5b") version("8.0.0", sha256="f7b1705d2f16c4fc23d6531f67d2dd6fb78a077dd346b02fed64f4b8df65c9d5") - variant( - "multicompat", - default=False, - description="Support gomp and the Intel openMP runtime library.", - ) + variant("multicompat", default=True, description="Support the GNU OpenMP runtime interface.") depends_on("cmake@3.13.4:", when="@12:", type="build") depends_on("cmake@2.8:", type="build") depends_on("py-lit", type="test") depends_on("py-filecheck", type="test") - # depends_on("llvm-utils", type="test") # for "not" - - resource( - name="cmake", - url="https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.0/cmake-16.0.0.src.tar.xz", - sha256="04e62ab7d0168688d9102680adf8eabe7b04275f333fe20eef8ab5a3a8ea9fcc", - when="@16.0.0", - ) @property def root_cmakelists_dir(self): @@ -59,14 +67,12 @@ def url_for_version(self, version): @when("@16:") def patch(self): - src = os.path.join(self.stage.source_path, f"cmake-{self.version}.src") - dst = os.path.join(self.stage.path, "cmake") - os.rename(src, dst) + cmake_mod_dir = os.path.join(self.stage.source_path, f"cmake-{self.version}.src") + if os.path.isdir(cmake_mod_dir): + os.rename(cmake_mod_dir, os.path.join(self.stage.path, "cmake")) def cmake_args(self): - # Disable LIBOMP_INSTALL_ALIASES, otherwise the library is installed as - # libgomp alias which can conflict with GCC's libgomp. - cmake_args = ["-DLIBOMP_INSTALL_ALIASES=OFF"] + cmake_args = [] # Add optional support for both Intel and gcc compilers if self.spec.satisfies("+multicompat"): cmake_args.append("-DKMP_GOMP_COMPAT=1") From 794593b4784f7b603cd9d74d3ecf22477865a9af Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Thu, 14 Mar 2024 05:43:00 +0100 Subject: [PATCH 050/155] expat: Add release 2.6.2 with security fixes (#43171) --- .../repos/builtin/packages/expat/package.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/expat/package.py b/var/spack/repos/builtin/packages/expat/package.py index 2841d9f3913dd0..36d79c06c76c1e 100644 --- a/var/spack/repos/builtin/packages/expat/package.py +++ b/var/spack/repos/builtin/packages/expat/package.py @@ -17,9 +17,19 @@ class Expat(AutotoolsPackage, CMakePackage): license("MIT") - version("2.6.1", sha256="4677d957c0c6cb2a3321101944574c24113b637c7ab1cf0659a27c5babc201fd") - version("2.6.0", sha256="ff60e6a6b6ce570ae012dc7b73169c7fdf4b6bf08c12ed0ec6f55736b78d85ba") - # deprecate all releases before 2.6.0 because of security issues + version("2.6.2", sha256="9c7c1b5dcbc3c237c500a8fb1493e14d9582146dd9b42aa8d3ffb856a3b927e0") + # deprecate all releases before 2.6.2 because of security issues + # CVE-2024-28757 (fixed in 2.6.2) + version( + "2.6.1", + sha256="4677d957c0c6cb2a3321101944574c24113b637c7ab1cf0659a27c5babc201fd", + deprecated=True, + ) + version( + "2.6.0", + sha256="ff60e6a6b6ce570ae012dc7b73169c7fdf4b6bf08c12ed0ec6f55736b78d85ba", + deprecated=True, + ) # CVE-2023-52425 (fixed in 2.6.0) # CVE-2023-52426 (fixed in 2.6.0) version( From 531f01f0b9de8a1cbda1f5a530e7d7c9ccee96d1 Mon Sep 17 00:00:00 2001 From: Rocco Meli Date: Thu, 14 Mar 2024 05:43:37 +0100 Subject: [PATCH 051/155] highway: add v1.1.0 (#43174) --- var/spack/repos/builtin/packages/highway/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/highway/package.py b/var/spack/repos/builtin/packages/highway/package.py index d4b2f0cc6840bd..3c7fd5ff578790 100644 --- a/var/spack/repos/builtin/packages/highway/package.py +++ b/var/spack/repos/builtin/packages/highway/package.py @@ -14,6 +14,7 @@ class Highway(CMakePackage): license("Apache-2.0") + version("1.1.0", sha256="354a8b4539b588e70b98ec70844273e3f2741302c4c377bcc4e81b3d1866f7c9") version("1.0.7", sha256="5434488108186c170a5e2fca5e3c9b6ef59a1caa4d520b008a9b8be6b8abe6c5") version("1.0.6", sha256="d89664a045a41d822146e787bceeefbf648cc228ce354f347b18f2b419e57207") version("1.0.5", sha256="99b7dad98b8fa088673b720151458fae698ae5df9154016e39de4afdc23bb927") From dbdf5bacc43deb2180e082ad2360a92d8005aa98 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Mar 2024 05:55:08 +0100 Subject: [PATCH 052/155] build(deps): bump actions/checkout from 4.1.1 to 4.1.2 (#43152) Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.1 to 4.1.2. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/b4ffde65f46336ab88eb53be808477a3936bae11...9bb56186c3b09b4f86b1c65136769dd318469633) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/audit.yaml | 2 +- .github/workflows/bootstrap.yml | 22 +++++++++++----------- .github/workflows/build-containers.yml | 2 +- .github/workflows/ci.yaml | 2 +- .github/workflows/nightly-win-builds.yml | 2 +- .github/workflows/unit_tests.yaml | 10 +++++----- .github/workflows/valid-style.yml | 6 +++--- .github/workflows/windows_python.yml | 6 +++--- 8 files changed, 26 insertions(+), 26 deletions(-) diff --git a/.github/workflows/audit.yaml b/.github/workflows/audit.yaml index e3727eade42826..9abe65f6ad46e5 100644 --- a/.github/workflows/audit.yaml +++ b/.github/workflows/audit.yaml @@ -22,7 +22,7 @@ jobs: matrix: operating_system: ["ubuntu-latest", "macos-latest"] steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # @v2 + - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # @v2 - uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # @v2 with: python-version: ${{inputs.python_version}} diff --git a/.github/workflows/bootstrap.yml b/.github/workflows/bootstrap.yml index 21c1b2f0ba3f1d..4e52079ed925b5 100644 --- a/.github/workflows/bootstrap.yml +++ b/.github/workflows/bootstrap.yml @@ -24,7 +24,7 @@ jobs: make patch unzip which xz python3 python3-devel tree \ cmake bison bison-devel libstdc++-static - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 with: fetch-depth: 0 - name: Setup non-root user @@ -62,7 +62,7 @@ jobs: make patch unzip xz-utils python3 python3-dev tree \ cmake bison - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 with: fetch-depth: 0 - name: Setup non-root user @@ -99,7 +99,7 @@ jobs: bzip2 curl file g++ gcc gfortran git gnupg2 gzip \ make patch unzip xz-utils python3 python3-dev tree - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 with: fetch-depth: 0 - name: Setup non-root user @@ -133,7 +133,7 @@ jobs: make patch unzip which xz python3 python3-devel tree \ cmake bison - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 with: fetch-depth: 0 - name: Setup repo @@ -158,7 +158,7 @@ jobs: run: | brew install cmake bison@2.7 tree - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 - uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # @v2 with: python-version: "3.12" @@ -182,7 +182,7 @@ jobs: run: | brew install tree - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 - name: Bootstrap clingo run: | set -ex @@ -207,7 +207,7 @@ jobs: runs-on: ubuntu-20.04 steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 with: fetch-depth: 0 - name: Setup repo @@ -250,7 +250,7 @@ jobs: bzip2 curl file g++ gcc patchelf gfortran git gzip \ make patch unzip xz-utils python3 python3-dev tree - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 with: fetch-depth: 0 - name: Setup non-root user @@ -287,7 +287,7 @@ jobs: make patch unzip xz-utils python3 python3-dev tree \ gawk - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 with: fetch-depth: 0 - name: Setup non-root user @@ -320,7 +320,7 @@ jobs: # Remove GnuPG since we want to bootstrap it sudo rm -rf /usr/local/bin/gpg - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 - name: Bootstrap GnuPG run: | source share/spack/setup-env.sh @@ -338,7 +338,7 @@ jobs: # Remove GnuPG since we want to bootstrap it sudo rm -rf /usr/local/bin/gpg - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 - name: Bootstrap GnuPG run: | source share/spack/setup-env.sh diff --git a/.github/workflows/build-containers.yml b/.github/workflows/build-containers.yml index 7fbc3b9d94db7f..07f01cce7fe085 100644 --- a/.github/workflows/build-containers.yml +++ b/.github/workflows/build-containers.yml @@ -55,7 +55,7 @@ jobs: if: github.repository == 'spack/spack' steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # @v2 + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # @v2 - uses: docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81 id: docker_meta diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 8cfbf24ddceee3..e7da0e9e4691a7 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -35,7 +35,7 @@ jobs: core: ${{ steps.filter.outputs.core }} packages: ${{ steps.filter.outputs.packages }} steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # @v2 + - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # @v2 if: ${{ github.event_name == 'push' }} with: fetch-depth: 0 diff --git a/.github/workflows/nightly-win-builds.yml b/.github/workflows/nightly-win-builds.yml index e93e80e3e44e75..5b32ee4f96b337 100644 --- a/.github/workflows/nightly-win-builds.yml +++ b/.github/workflows/nightly-win-builds.yml @@ -14,7 +14,7 @@ jobs: build-paraview-deps: runs-on: windows-latest steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 with: fetch-depth: 0 - uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c diff --git a/.github/workflows/unit_tests.yaml b/.github/workflows/unit_tests.yaml index 6f16d30eadc40f..26df165093bb16 100644 --- a/.github/workflows/unit_tests.yaml +++ b/.github/workflows/unit_tests.yaml @@ -51,7 +51,7 @@ jobs: on_develop: false steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # @v2 + - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # @v2 with: fetch-depth: 0 - uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # @v2 @@ -98,7 +98,7 @@ jobs: shell: runs-on: ubuntu-latest steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # @v2 + - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # @v2 with: fetch-depth: 0 - uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # @v2 @@ -137,7 +137,7 @@ jobs: dnf install -y \ bzip2 curl file gcc-c++ gcc gcc-gfortran git gnupg2 gzip \ make patch tcl unzip which xz - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # @v2 + - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # @v2 - name: Setup repo and non-root user run: | git --version @@ -156,7 +156,7 @@ jobs: clingo-cffi: runs-on: ubuntu-latest steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # @v2 + - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # @v2 with: fetch-depth: 0 - uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # @v2 @@ -191,7 +191,7 @@ jobs: matrix: python-version: ["3.11"] steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # @v2 + - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # @v2 with: fetch-depth: 0 - uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # @v2 diff --git a/.github/workflows/valid-style.yml b/.github/workflows/valid-style.yml index d75a70344dd374..757183e13c338f 100644 --- a/.github/workflows/valid-style.yml +++ b/.github/workflows/valid-style.yml @@ -18,7 +18,7 @@ jobs: validate: runs-on: ubuntu-latest steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 - uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c with: python-version: '3.11' @@ -35,7 +35,7 @@ jobs: style: runs-on: ubuntu-latest steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 with: fetch-depth: 0 - uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c @@ -69,7 +69,7 @@ jobs: dnf install -y \ bzip2 curl file gcc-c++ gcc gcc-gfortran git gnupg2 gzip \ make patch tcl unzip which xz - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # @v2 + - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # @v2 - name: Setup repo and non-root user run: | git --version diff --git a/.github/workflows/windows_python.yml b/.github/workflows/windows_python.yml index cfdfd3454140b2..fce0df5ca16269 100644 --- a/.github/workflows/windows_python.yml +++ b/.github/workflows/windows_python.yml @@ -15,7 +15,7 @@ jobs: unit-tests: runs-on: windows-latest steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 with: fetch-depth: 0 - uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c @@ -39,7 +39,7 @@ jobs: unit-tests-cmd: runs-on: windows-latest steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 with: fetch-depth: 0 - uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c @@ -63,7 +63,7 @@ jobs: build-abseil: runs-on: windows-latest steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 + - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 with: fetch-depth: 0 - uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c From cc2833404963055b90df8a972be79ed9c39ed560 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Mar 2024 07:40:15 +0100 Subject: [PATCH 053/155] build(deps): bump pytest from 8.0.2 to 8.1.1 in /lib/spack/docs (#43134) Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.0.2 to 8.1.1. - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest/compare/8.0.2...8.1.1) --- updated-dependencies: - dependency-name: pytest dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lib/spack/docs/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/spack/docs/requirements.txt b/lib/spack/docs/requirements.txt index 042745cba7c75e..0b3db49707e50d 100644 --- a/lib/spack/docs/requirements.txt +++ b/lib/spack/docs/requirements.txt @@ -6,7 +6,7 @@ python-levenshtein==0.25.0 docutils==0.20.1 pygments==2.17.2 urllib3==2.2.1 -pytest==8.0.2 +pytest==8.1.1 isort==5.13.2 black==24.2.0 flake8==7.0.0 From 2c30962c744d2b292a88b7c957c2f91b815aaf79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Bederi=C3=A1n?= <4043375+zzzoom@users.noreply.github.com> Date: Thu, 14 Mar 2024 03:44:43 -0300 Subject: [PATCH 054/155] amduprof: new package (#30575) Co-authored-by: zzzoom --- .../builtin/packages/amduprof/package.py | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 var/spack/repos/builtin/packages/amduprof/package.py diff --git a/var/spack/repos/builtin/packages/amduprof/package.py b/var/spack/repos/builtin/packages/amduprof/package.py new file mode 100644 index 00000000000000..8bd08ffb9f4ddb --- /dev/null +++ b/var/spack/repos/builtin/packages/amduprof/package.py @@ -0,0 +1,30 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class Amduprof(Package): + """AMD uProf ("MICRO-prof") is a software profiling analysis tool for + x86 applications running on Windows, Linux and FreeBSD operating systems + and provides event information unique to the AMD "Zen"-based processors + and AMD Instinct(tm) MI Series accelerators. + """ + + homepage = "https://developer.amd.com/amd-uprof/" + url = "https://download.amd.com/developer/eula/uprof/AMDuProf_Linux_x64_4.2.850.tar.bz2" + + maintainers("zzzoom") + + version("4.2.850", sha256="f2d7c4eb9ec9c32845ff8f19874c1e6bcb0fa8ab2c12e73addcbf23a6d1bd623") + + # TODO: build Power Profiling driver on Linux + # TODO: ROCm for GPU tracing and profiling + # TODO: BCC and eBPF for OS tracing + + conflicts("platform=darwin") + + def install(self, spec, prefix): + install_tree(".", prefix) From 7d67d9ece4c79916162a90965532acd6dfb3abe6 Mon Sep 17 00:00:00 2001 From: jmuddnv <143751186+jmuddnv@users.noreply.github.com> Date: Thu, 14 Mar 2024 00:35:09 -0700 Subject: [PATCH 055/155] nvhpc: add v24.3 (#43175) --- var/spack/repos/builtin/packages/nvhpc/package.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/var/spack/repos/builtin/packages/nvhpc/package.py b/var/spack/repos/builtin/packages/nvhpc/package.py index 8e79209f3f7b36..4531965a18848b 100644 --- a/var/spack/repos/builtin/packages/nvhpc/package.py +++ b/var/spack/repos/builtin/packages/nvhpc/package.py @@ -21,6 +21,16 @@ # - 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 = { + "24.3": { + "Linux-aarch64": ( + "6385847de5f8725e5c56d2abf70c90fed5490f2e71a7bd13d3f4ada8720ef036", + "https://developer.download.nvidia.com/hpc-sdk/24.3/nvhpc_2024_243_Linux_aarch64_cuda_multi.tar.gz", + ), + "Linux-x86_64": ( + "a9fe5ec878e9c4cc332de732c6739f97ac064ce76ad3d0af6d282658d27124cb", + "https://developer.download.nvidia.com/hpc-sdk/24.3/nvhpc_2024_243_Linux_x86_64_cuda_multi.tar.gz", + ), + }, "24.1": { "Linux-aarch64": ( "8c2ce561d5901a03eadce7f07dce5fbc55e8e88c87b74cf60e01e2eca231c41c", From c38ef72b0668b02a566ce7f5cee114f776ccc9b6 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Thu, 14 Mar 2024 08:54:47 +0100 Subject: [PATCH 056/155] compiler.py: simplify implicit link dir bits (#43078) --- lib/spack/spack/compiler.py | 37 ++++++------------ lib/spack/spack/test/compilers/basics.py | 50 +++++++++++------------- 2 files changed, 36 insertions(+), 51 deletions(-) diff --git a/lib/spack/spack/compiler.py b/lib/spack/spack/compiler.py index 30511d90db5fbe..d735845d86ddaa 100644 --- a/lib/spack/spack/compiler.py +++ b/lib/spack/spack/compiler.py @@ -389,8 +389,7 @@ def implicit_rpaths(self): # Put CXX first since it has the most linking issues # And because it has flags that affect linking - exe_paths = [x for x in [self.cxx, self.cc, self.fc, self.f77] if x] - link_dirs = self._get_compiler_link_paths(exe_paths) + link_dirs = self._get_compiler_link_paths() all_required_libs = list(self.required_libs) + Compiler._all_compiler_rpath_libraries return list(paths_containing_libs(link_dirs, all_required_libs)) @@ -403,43 +402,33 @@ def required_libs(self): # By default every compiler returns the empty list return [] - def _get_compiler_link_paths(self, paths): - first_compiler = next((c for c in paths if c), None) - if not first_compiler: - return [] - if not self.verbose_flag: - # In this case there is no mechanism to learn what link directories - # are used by the compiler + def _get_compiler_link_paths(self): + cc = self.cc if self.cc else self.cxx + if not cc or not self.verbose_flag: + # Cannot determine implicit link paths without a compiler / verbose flag return [] # What flag types apply to first_compiler, in what order - flags = ["cppflags", "ldflags"] - if first_compiler == self.cc: - flags = ["cflags"] + flags - elif first_compiler == self.cxx: - flags = ["cxxflags"] + flags + if cc == self.cc: + flags = ["cflags", "cppflags", "ldflags"] else: - flags.append("fflags") + flags = ["cxxflags", "cppflags", "ldflags"] try: tmpdir = tempfile.mkdtemp(prefix="spack-implicit-link-info") fout = os.path.join(tmpdir, "output") fin = os.path.join(tmpdir, "main.c") - with open(fin, "w+") as csource: + with open(fin, "w") as csource: csource.write( - "int main(int argc, char* argv[]) { " "(void)argc; (void)argv; return 0; }\n" + "int main(int argc, char* argv[]) { (void)argc; (void)argv; return 0; }\n" ) - compiler_exe = spack.util.executable.Executable(first_compiler) + cc_exe = spack.util.executable.Executable(cc) for flag_type in flags: - for flag in self.flags.get(flag_type, []): - compiler_exe.add_default_arg(flag) + cc_exe.add_default_arg(*self.flags.get(flag_type, [])) - output = "" with self.compiler_environment(): - output = str( - compiler_exe(self.verbose_flag, fin, "-o", fout, output=str, error=str) - ) # str for py2 + output = cc_exe(self.verbose_flag, fin, "-o", fout, output=str, error=str) return _parse_non_system_link_dirs(output) except spack.util.executable.ProcessError as pe: tty.debug("ProcessError: Command exited with non-zero status: " + pe.long_message) diff --git a/lib/spack/spack/test/compilers/basics.py b/lib/spack/spack/test/compilers/basics.py index 0bb26644a31fee..60cef60d724c91 100644 --- a/lib/spack/spack/test/compilers/basics.py +++ b/lib/spack/spack/test/compilers/basics.py @@ -15,7 +15,7 @@ import spack.spec import spack.util.environment from spack.compiler import Compiler -from spack.util.executable import ProcessError +from spack.util.executable import Executable, ProcessError @pytest.fixture() @@ -138,11 +138,11 @@ def __init__(self): environment={}, ) - def _get_compiler_link_paths(self, paths): + def _get_compiler_link_paths(self): # Mock os.path.isdir so the link paths don't have to exist old_isdir = os.path.isdir os.path.isdir = lambda x: True - ret = super()._get_compiler_link_paths(paths) + ret = super()._get_compiler_link_paths() os.path.isdir = old_isdir return ret @@ -197,37 +197,37 @@ def call_compiler(exe, *args, **kwargs): @pytest.mark.parametrize( "exe,flagname", [ - ("cxx", ""), ("cxx", "cxxflags"), ("cxx", "cppflags"), ("cxx", "ldflags"), - ("cc", ""), ("cc", "cflags"), ("cc", "cppflags"), - ("fc", ""), - ("fc", "fflags"), - ("f77", "fflags"), - ("f77", "cppflags"), ], ) @pytest.mark.enable_compiler_link_paths def test_get_compiler_link_paths(monkeypatch, exe, flagname): # create fake compiler that emits mock verbose output compiler = MockCompiler() - monkeypatch.setattr(spack.util.executable.Executable, "__call__", call_compiler) - - # Grab executable path to test - paths = [getattr(compiler, exe)] + monkeypatch.setattr(Executable, "__call__", call_compiler) + + if exe == "cxx": + compiler.cc = None + compiler.fc = None + compiler.f77 = None + elif exe == "cc": + compiler.cxx = None + compiler.fc = None + compiler.f77 = None + else: + assert False # Test without flags - dirs = compiler._get_compiler_link_paths(paths) - assert dirs == no_flag_dirs + assert compiler._get_compiler_link_paths() == no_flag_dirs if flagname: # set flags and test - setattr(compiler, "flags", {flagname: ["--correct-flag"]}) - dirs = compiler._get_compiler_link_paths(paths) - assert dirs == flag_dirs + compiler.flags = {flagname: ["--correct-flag"]} + assert compiler._get_compiler_link_paths() == flag_dirs def test_get_compiler_link_paths_no_path(): @@ -236,17 +236,13 @@ def test_get_compiler_link_paths_no_path(): compiler.cxx = None compiler.f77 = None compiler.fc = None - - dirs = compiler._get_compiler_link_paths([compiler.cxx]) - assert dirs == [] + assert compiler._get_compiler_link_paths() == [] def test_get_compiler_link_paths_no_verbose_flag(): compiler = MockCompiler() compiler._verbose_flag = None - - dirs = compiler._get_compiler_link_paths([compiler.cxx]) - assert dirs == [] + assert compiler._get_compiler_link_paths() == [] @pytest.mark.not_on_windows("Not supported on Windows (yet)") @@ -275,11 +271,11 @@ def module(*args): monkeypatch.setattr(spack.util.module_cmd, "module", module) compiler = MockCompiler() + compiler.cc = gcc compiler.environment = {"set": {"ENV_SET": "1"}} compiler.modules = ["turn_on"] - dirs = compiler._get_compiler_link_paths([gcc]) - assert dirs == no_flag_dirs + assert compiler._get_compiler_link_paths() == no_flag_dirs # Get the desired flag from the specified compiler spec. @@ -824,7 +820,7 @@ def module(*args): def _call(*args, **kwargs): raise ProcessError("Failed intentionally") - monkeypatch.setattr(spack.util.executable.Executable, "__call__", _call) + monkeypatch.setattr(Executable, "__call__", _call) # Run and no change to environment compilers = spack.compilers.get_compilers([compiler_dict]) From 8f14acb139ce58d991911d77d0e7528fcb4739c9 Mon Sep 17 00:00:00 2001 From: victor-decaria-nnl <97457991+victor-decaria-nnl@users.noreply.github.com> Date: Thu, 14 Mar 2024 12:09:24 -0400 Subject: [PATCH 057/155] mfem: add MUMPs option (#42929) * Added MUMPs option to mfem * implement suggestions * loosened mumps+metis dependency to just mumps --- var/spack/repos/builtin/packages/mfem/package.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/var/spack/repos/builtin/packages/mfem/package.py b/var/spack/repos/builtin/packages/mfem/package.py index db4a6f78dbba88..5154558b895bdb 100644 --- a/var/spack/repos/builtin/packages/mfem/package.py +++ b/var/spack/repos/builtin/packages/mfem/package.py @@ -184,6 +184,7 @@ class Mfem(Package, CudaPackage, ROCmPackage): variant("strumpack", default=False, description="Enable support for STRUMPACK") variant("suite-sparse", default=False, description="Enable serial, sparse direct solvers") variant("petsc", default=False, description="Enable PETSc solvers, preconditioners, etc.") + variant("mumps", default=False, description="Enable MUMPS solver.") variant("slepc", default=False, description="Enable SLEPc integration") variant("sundials", default=False, description="Enable Sundials time integrators") variant("pumi", default=False, description="Enable functionality based on PUMI") @@ -254,6 +255,7 @@ class Mfem(Package, CudaPackage, ROCmPackage): conflicts("+slepc", when="~petsc") conflicts("+pumi", when="~mpi") conflicts("timer=mpi", when="~mpi") + conflicts("+mumps", when="~mpi") # See https://github.com/mfem/mfem/issues/2957 conflicts("^mpich@4:", when="@:4.3+mpi") @@ -349,6 +351,7 @@ class Mfem(Package, CudaPackage, ROCmPackage): depends_on( f"slepc+rocm amdgpu_target={gfx}", when=f"+rocm+slepc amdgpu_target={gfx} ^petsc+rocm" ) + depends_on("mumps@5.1.1:", when="+mumps") depends_on("mpfr", when="+mpfr") depends_on("netcdf-c@4.1.3:", when="+netcdf") depends_on("unwind", when="+libunwind") @@ -614,6 +617,7 @@ def find_optional_library(name, prefix): "MFEM_MPIEXEC=%s" % mfem_mpiexec, "MFEM_MPIEXEC_NP=%s" % mfem_mpiexec_np, "MFEM_USE_EXCEPTIONS=%s" % yes_no("+exceptions"), + "MFEM_USE_MUMPS=%s" % yes_no("+mumps"), ] # Determine C++ standard to use: @@ -1106,6 +1110,17 @@ def find_optional_library(name, prefix): "HIOP_LIB=%s" % ld_flags_from_library_list(hiop_libs), ] + if "+mumps" in spec: + mumps = spec["mumps"] + mumps_opt = ["-I%s" % mumps.prefix.include] + if "+openmp" in mumps: + if not self.spec.satisfies("%apple-clang"): + mumps_opt += [xcompiler + self.compiler.openmp_flag] + options += [ + "MUMPS_OPT=%s" % " ".join(mumps_opt), + "MUMPS_LIB=%s" % ld_flags_from_library_list(mumps.libs), + ] + make("config", *options, parallel=False) make("info", parallel=False) From dc212d0e597571a707439ca1636fed2303bff6fb Mon Sep 17 00:00:00 2001 From: Scott Wittenburg Date: Thu, 14 Mar 2024 11:15:47 -0600 Subject: [PATCH 058/155] mgard: add version 2023-12-09 (1.5.2) (#41493) --- var/spack/repos/builtin/packages/mgard/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/mgard/package.py b/var/spack/repos/builtin/packages/mgard/package.py index e75f76ee002424..4ba1810a4b639a 100644 --- a/var/spack/repos/builtin/packages/mgard/package.py +++ b/var/spack/repos/builtin/packages/mgard/package.py @@ -22,7 +22,8 @@ class Mgard(CMakePackage, CudaPackage): license("Apache-2.0") - version("2023-03-31", commit="a8a04a86ff30f91d0b430a7c52960a12fa119589", preferred=True) + version("2023-12-09", commit="d61d8c06c49a72b2e582cc02de88b7b27e1275d2", preferred=True) + version("2023-03-31", commit="a8a04a86ff30f91d0b430a7c52960a12fa119589") version("2023-01-10", commit="3808bd8889a0f8e6647fc0251a3189bc4dfc920f") version("2022-11-18", commit="72dd230ed1af88f62ed3c0f662e2387a6e587748") version("2021-11-12", commit="3c05c80a45a51bb6cc5fb5fffe7b1b16787d3366") From f549354f78f60fe02d39e13365d600bdbdd216b9 Mon Sep 17 00:00:00 2001 From: Greg Becker Date: Thu, 14 Mar 2024 10:43:52 -0700 Subject: [PATCH 059/155] move --deprecated arg to concretizer args (#43177) --- lib/spack/spack/cmd/common/arguments.py | 8 +++ lib/spack/spack/cmd/dev_build.py | 7 +-- lib/spack/spack/cmd/fetch.py | 7 +-- lib/spack/spack/cmd/install.py | 5 +- lib/spack/spack/cmd/mirror.py | 6 +- lib/spack/spack/cmd/patch.py | 5 +- lib/spack/spack/cmd/stage.py | 5 +- share/spack/spack-completion.bash | 26 ++++----- share/spack/spack-completion.fish | 78 ++++++++++++++++--------- 9 files changed, 80 insertions(+), 67 deletions(-) diff --git a/lib/spack/spack/cmd/common/arguments.py b/lib/spack/spack/cmd/common/arguments.py index 12f9e5b0d70c50..ab9f8939805412 100644 --- a/lib/spack/spack/cmd/common/arguments.py +++ b/lib/spack/spack/cmd/common/arguments.py @@ -570,6 +570,14 @@ def add_concretizer_args(subparser): default=None, help="reuse installed dependencies only", ) + subgroup.add_argument( + "--deprecated", + action=ConfigSetAction, + dest="config:deprecated", + const=True, + default=None, + help="allow concretizer to select deprecated versions", + ) def add_connection_args(subparser, add_help): diff --git a/lib/spack/spack/cmd/dev_build.py b/lib/spack/spack/cmd/dev_build.py index fbd8a78f092584..0a8dc493098420 100644 --- a/lib/spack/spack/cmd/dev_build.py +++ b/lib/spack/spack/cmd/dev_build.py @@ -19,7 +19,7 @@ def setup_parser(subparser): - arguments.add_common_arguments(subparser, ["jobs"]) + arguments.add_common_arguments(subparser, ["jobs", "no_checksum", "spec"]) subparser.add_argument( "-d", "--source-path", @@ -34,7 +34,6 @@ def setup_parser(subparser): dest="ignore_deps", help="do not try to install dependencies of requested packages", ) - arguments.add_common_arguments(subparser, ["no_checksum", "deprecated"]) subparser.add_argument( "--keep-prefix", action="store_true", @@ -63,7 +62,6 @@ def setup_parser(subparser): choices=["root", "all"], help="run tests on only root packages or all packages", ) - arguments.add_common_arguments(subparser, ["spec"]) stop_group = subparser.add_mutually_exclusive_group() stop_group.add_argument( @@ -125,9 +123,6 @@ def dev_build(self, args): if args.no_checksum: spack.config.set("config:checksum", False, scope="command_line") - if args.deprecated: - spack.config.set("config:deprecated", True, scope="command_line") - tests = False if args.test == "all": tests = True diff --git a/lib/spack/spack/cmd/fetch.py b/lib/spack/spack/cmd/fetch.py index 383c722ad664bb..0d794eb54787dc 100644 --- a/lib/spack/spack/cmd/fetch.py +++ b/lib/spack/spack/cmd/fetch.py @@ -18,7 +18,7 @@ def setup_parser(subparser): - arguments.add_common_arguments(subparser, ["no_checksum", "deprecated"]) + arguments.add_common_arguments(subparser, ["no_checksum", "specs"]) subparser.add_argument( "-m", "--missing", @@ -28,7 +28,7 @@ def setup_parser(subparser): subparser.add_argument( "-D", "--dependencies", action="store_true", help="also fetch all dependencies" ) - arguments.add_common_arguments(subparser, ["specs"]) + arguments.add_concretizer_args(subparser) subparser.epilog = ( "With an active environment, the specs " "parameter can be omitted. In this case all (uninstalled" @@ -40,9 +40,6 @@ def fetch(parser, args): if args.no_checksum: spack.config.set("config:checksum", False, scope="command_line") - if args.deprecated: - spack.config.set("config:deprecated", True, scope="command_line") - if args.specs: specs = spack.cmd.parse_specs(args.specs, concretize=True) else: diff --git a/lib/spack/spack/cmd/install.py b/lib/spack/spack/cmd/install.py index 9c66c661a071b5..aa958a682c8530 100644 --- a/lib/spack/spack/cmd/install.py +++ b/lib/spack/spack/cmd/install.py @@ -176,7 +176,7 @@ def setup_parser(subparser): dest="install_source", help="install source files in prefix", ) - arguments.add_common_arguments(subparser, ["no_checksum", "deprecated"]) + arguments.add_common_arguments(subparser, ["no_checksum"]) subparser.add_argument( "-v", "--verbose", @@ -326,9 +326,6 @@ def install(parser, args): if args.no_checksum: spack.config.set("config:checksum", False, scope="command_line") - if args.deprecated: - spack.config.set("config:deprecated", True, scope="command_line") - if args.log_file and not args.log_format: msg = "the '--log-format' must be specified when using '--log-file'" tty.die(msg) diff --git a/lib/spack/spack/cmd/mirror.py b/lib/spack/spack/cmd/mirror.py index fe9cafd54550f8..0faf3123c7a8e7 100644 --- a/lib/spack/spack/cmd/mirror.py +++ b/lib/spack/spack/cmd/mirror.py @@ -28,7 +28,7 @@ def setup_parser(subparser): - arguments.add_common_arguments(subparser, ["no_checksum", "deprecated"]) + arguments.add_common_arguments(subparser, ["no_checksum"]) sp = subparser.add_subparsers(metavar="SUBCOMMAND", dest="mirror_command") @@ -72,6 +72,7 @@ def setup_parser(subparser): " retrieve all versions of each package", ) arguments.add_common_arguments(create_parser, ["specs"]) + arguments.add_concretizer_args(create_parser) # Destroy destroy_parser = sp.add_parser("destroy", help=mirror_destroy.__doc__) @@ -549,7 +550,4 @@ def mirror(parser, args): if args.no_checksum: spack.config.set("config:checksum", False, scope="command_line") - if args.deprecated: - spack.config.set("config:deprecated", True, scope="command_line") - action[args.mirror_command](args) diff --git a/lib/spack/spack/cmd/patch.py b/lib/spack/spack/cmd/patch.py index e9aac661a2bcb8..b5805afd8058c6 100644 --- a/lib/spack/spack/cmd/patch.py +++ b/lib/spack/spack/cmd/patch.py @@ -19,7 +19,7 @@ def setup_parser(subparser): - arguments.add_common_arguments(subparser, ["no_checksum", "deprecated", "specs"]) + arguments.add_common_arguments(subparser, ["no_checksum", "specs"]) arguments.add_concretizer_args(subparser) @@ -33,9 +33,6 @@ def patch(parser, args): if args.no_checksum: spack.config.set("config:checksum", False, scope="command_line") - if args.deprecated: - spack.config.set("config:deprecated", True, scope="command_line") - specs = spack.cmd.parse_specs(args.specs, concretize=False) for spec in specs: _patch(spack.cmd.matching_spec_from_env(spec).package) diff --git a/lib/spack/spack/cmd/stage.py b/lib/spack/spack/cmd/stage.py index 8e74bcafca5b06..10a94e34102c37 100644 --- a/lib/spack/spack/cmd/stage.py +++ b/lib/spack/spack/cmd/stage.py @@ -22,7 +22,7 @@ def setup_parser(subparser): - arguments.add_common_arguments(subparser, ["no_checksum", "deprecated", "specs"]) + arguments.add_common_arguments(subparser, ["no_checksum", "specs"]) subparser.add_argument( "-p", "--path", dest="path", help="path to stage package, does not add to spack tree" ) @@ -33,9 +33,6 @@ def stage(parser, args): if args.no_checksum: spack.config.set("config:checksum", False, scope="command_line") - if args.deprecated: - spack.config.set("config:deprecated", True, scope="command_line") - if not args.specs: env = ev.active_environment() if not env: diff --git a/share/spack/spack-completion.bash b/share/spack/spack-completion.bash index b268afa76c30a9..bdc2907d42f18d 100755 --- a/share/spack/spack-completion.bash +++ b/share/spack/spack-completion.bash @@ -553,7 +553,7 @@ _spack_bootstrap_mirror() { _spack_build_env() { if $list_options then - SPACK_COMPREPLY="-h --help --clean --dirty -U --fresh --reuse --reuse-deps --dump --pickle" + SPACK_COMPREPLY="-h --help --clean --dirty -U --fresh --reuse --reuse-deps --deprecated --dump --pickle" else _all_packages fi @@ -812,11 +812,11 @@ _spack_compilers() { } _spack_concretize() { - SPACK_COMPREPLY="-h --help -f --force --test -q --quiet -U --fresh --reuse --reuse-deps -j --jobs" + SPACK_COMPREPLY="-h --help -f --force --test -q --quiet -U --fresh --reuse --reuse-deps --deprecated -j --jobs" } _spack_concretise() { - SPACK_COMPREPLY="-h --help -f --force --test -q --quiet -U --fresh --reuse --reuse-deps -j --jobs" + SPACK_COMPREPLY="-h --help -f --force --test -q --quiet -U --fresh --reuse --reuse-deps --deprecated -j --jobs" } _spack_config() { @@ -990,7 +990,7 @@ _spack_deprecate() { _spack_dev_build() { if $list_options then - SPACK_COMPREPLY="-h --help -j --jobs -d --source-path -i --ignore-dependencies -n --no-checksum --deprecated --keep-prefix --skip-patch -q --quiet --drop-in --test -b --before -u --until --clean --dirty -U --fresh --reuse --reuse-deps" + SPACK_COMPREPLY="-h --help -j --jobs -n --no-checksum -d --source-path -i --ignore-dependencies --keep-prefix --skip-patch -q --quiet --drop-in --test -b --before -u --until --clean --dirty -U --fresh --reuse --reuse-deps --deprecated" else _all_packages fi @@ -1170,7 +1170,7 @@ _spack_external_read_cray_manifest() { _spack_fetch() { if $list_options then - SPACK_COMPREPLY="-h --help -n --no-checksum --deprecated -m --missing -D --dependencies" + SPACK_COMPREPLY="-h --help -n --no-checksum -m --missing -D --dependencies -U --fresh --reuse --reuse-deps --deprecated" else _all_packages fi @@ -1299,7 +1299,7 @@ _spack_info() { _spack_install() { if $list_options then - SPACK_COMPREPLY="-h --help --only -u --until -j --jobs --overwrite --fail-fast --keep-prefix --keep-stage --dont-restage --use-cache --no-cache --cache-only --use-buildcache --include-build-deps --no-check-signature --show-log-on-error --source -n --no-checksum --deprecated -v --verbose --fake --only-concrete --add --no-add -f --file --clean --dirty --test --log-format --log-file --help-cdash --cdash-upload-url --cdash-build --cdash-site --cdash-track --cdash-buildstamp -y --yes-to-all -U --fresh --reuse --reuse-deps" + SPACK_COMPREPLY="-h --help --only -u --until -j --jobs --overwrite --fail-fast --keep-prefix --keep-stage --dont-restage --use-cache --no-cache --cache-only --use-buildcache --include-build-deps --no-check-signature --show-log-on-error --source -n --no-checksum -v --verbose --fake --only-concrete --add --no-add -f --file --clean --dirty --test --log-format --log-file --help-cdash --cdash-upload-url --cdash-build --cdash-site --cdash-track --cdash-buildstamp -y --yes-to-all -U --fresh --reuse --reuse-deps --deprecated" else _all_packages fi @@ -1401,7 +1401,7 @@ _spack_mark() { _spack_mirror() { if $list_options then - SPACK_COMPREPLY="-h --help -n --no-checksum --deprecated" + SPACK_COMPREPLY="-h --help -n --no-checksum" else SPACK_COMPREPLY="create destroy add remove rm set-url set list" fi @@ -1410,7 +1410,7 @@ _spack_mirror() { _spack_mirror_create() { if $list_options then - SPACK_COMPREPLY="-h --help -d --directory -a --all -f --file --exclude-file --exclude-specs --skip-unstable-versions -D --dependencies -n --versions-per-spec" + SPACK_COMPREPLY="-h --help -d --directory -a --all -f --file --exclude-file --exclude-specs --skip-unstable-versions -D --dependencies -n --versions-per-spec -U --fresh --reuse --reuse-deps --deprecated" else _all_packages fi @@ -1589,7 +1589,7 @@ _spack_module_tcl_setdefault() { _spack_patch() { if $list_options then - SPACK_COMPREPLY="-h --help -n --no-checksum --deprecated -U --fresh --reuse --reuse-deps" + SPACK_COMPREPLY="-h --help -n --no-checksum -U --fresh --reuse --reuse-deps --deprecated" else _all_packages fi @@ -1817,7 +1817,7 @@ _spack_restage() { _spack_solve() { if $list_options then - SPACK_COMPREPLY="-h --help --show -l --long -L --very-long -N --namespaces -I --install-status --no-install-status -y --yaml -j --json -c --cover -t --types --timers --stats -U --fresh --reuse --reuse-deps" + SPACK_COMPREPLY="-h --help --show -l --long -L --very-long -N --namespaces -I --install-status --no-install-status -y --yaml -j --json -c --cover -t --types --timers --stats -U --fresh --reuse --reuse-deps --deprecated" else _all_packages fi @@ -1826,7 +1826,7 @@ _spack_solve() { _spack_spec() { if $list_options then - SPACK_COMPREPLY="-h --help -l --long -L --very-long -N --namespaces -I --install-status --no-install-status -y --yaml -j --json --format -c --cover -t --types -U --fresh --reuse --reuse-deps" + SPACK_COMPREPLY="-h --help -l --long -L --very-long -N --namespaces -I --install-status --no-install-status -y --yaml -j --json --format -c --cover -t --types -U --fresh --reuse --reuse-deps --deprecated" else _all_packages fi @@ -1835,7 +1835,7 @@ _spack_spec() { _spack_stage() { if $list_options then - SPACK_COMPREPLY="-h --help -n --no-checksum --deprecated -p --path -U --fresh --reuse --reuse-deps" + SPACK_COMPREPLY="-h --help -n --no-checksum -p --path -U --fresh --reuse --reuse-deps --deprecated" else _all_packages fi @@ -1925,7 +1925,7 @@ _spack_test_remove() { _spack_test_env() { if $list_options then - SPACK_COMPREPLY="-h --help --clean --dirty -U --fresh --reuse --reuse-deps --dump --pickle" + SPACK_COMPREPLY="-h --help --clean --dirty -U --fresh --reuse --reuse-deps --deprecated --dump --pickle" else _all_packages fi diff --git a/share/spack/spack-completion.fish b/share/spack/spack-completion.fish index 20f0ec837e491c..600213454b5fb9 100755 --- a/share/spack/spack-completion.fish +++ b/share/spack/spack-completion.fish @@ -660,7 +660,7 @@ complete -c spack -n '__fish_spack_using_command bootstrap mirror' -l dev -f -a complete -c spack -n '__fish_spack_using_command bootstrap mirror' -l dev -d 'download dev dependencies too' # spack build-env -set -g __fish_spack_optspecs_spack_build_env h/help clean dirty U/fresh reuse reuse-deps dump= pickle= +set -g __fish_spack_optspecs_spack_build_env h/help clean dirty U/fresh reuse reuse-deps deprecated dump= pickle= complete -c spack -n '__fish_spack_using_command_pos_remainder 0 build-env' -f -a '(__fish_spack_build_env_spec)' complete -c spack -n '__fish_spack_using_command build-env' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command build-env' -s h -l help -d 'show this help message and exit' @@ -674,6 +674,8 @@ complete -c spack -n '__fish_spack_using_command build-env' -l reuse -f -a concr complete -c spack -n '__fish_spack_using_command build-env' -l reuse -d 'reuse installed packages/buildcaches when possible' complete -c spack -n '__fish_spack_using_command build-env' -l reuse-deps -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command build-env' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command build-env' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command build-env' -l deprecated -d 'allow concretizer to select deprecated versions' complete -c spack -n '__fish_spack_using_command build-env' -l dump -r -f -a dump complete -c spack -n '__fish_spack_using_command build-env' -l dump -r -d 'dump a source-able environment to FILE' complete -c spack -n '__fish_spack_using_command build-env' -l pickle -r -f -a pickle @@ -1122,7 +1124,7 @@ complete -c spack -n '__fish_spack_using_command compilers' -l scope -r -f -a '_ complete -c spack -n '__fish_spack_using_command compilers' -l scope -r -d 'configuration scope to read/modify' # spack concretize -set -g __fish_spack_optspecs_spack_concretize h/help f/force test= q/quiet U/fresh reuse reuse-deps j/jobs= +set -g __fish_spack_optspecs_spack_concretize h/help f/force test= q/quiet U/fresh reuse reuse-deps deprecated j/jobs= complete -c spack -n '__fish_spack_using_command concretize' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command concretize' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command concretize' -s f -l force -f -a force @@ -1137,11 +1139,13 @@ complete -c spack -n '__fish_spack_using_command concretize' -l reuse -f -a conc complete -c spack -n '__fish_spack_using_command concretize' -l reuse -d 'reuse installed packages/buildcaches when possible' complete -c spack -n '__fish_spack_using_command concretize' -l reuse-deps -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command concretize' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command concretize' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command concretize' -l deprecated -d 'allow concretizer to select deprecated versions' complete -c spack -n '__fish_spack_using_command concretize' -s j -l jobs -r -f -a jobs complete -c spack -n '__fish_spack_using_command concretize' -s j -l jobs -r -d 'explicitly set number of parallel jobs' # spack concretise -set -g __fish_spack_optspecs_spack_concretise h/help f/force test= q/quiet U/fresh reuse reuse-deps j/jobs= +set -g __fish_spack_optspecs_spack_concretise h/help f/force test= q/quiet U/fresh reuse reuse-deps deprecated j/jobs= complete -c spack -n '__fish_spack_using_command concretise' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command concretise' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command concretise' -s f -l force -f -a force @@ -1156,6 +1160,8 @@ complete -c spack -n '__fish_spack_using_command concretise' -l reuse -f -a conc complete -c spack -n '__fish_spack_using_command concretise' -l reuse -d 'reuse installed packages/buildcaches when possible' complete -c spack -n '__fish_spack_using_command concretise' -l reuse-deps -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command concretise' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command concretise' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command concretise' -l deprecated -d 'allow concretizer to select deprecated versions' complete -c spack -n '__fish_spack_using_command concretise' -s j -l jobs -r -f -a jobs complete -c spack -n '__fish_spack_using_command concretise' -s j -l jobs -r -d 'explicitly set number of parallel jobs' @@ -1365,20 +1371,18 @@ complete -c spack -n '__fish_spack_using_command deprecate' -s l -l link-type -r complete -c spack -n '__fish_spack_using_command deprecate' -s l -l link-type -r -d 'type of filesystem link to use for deprecation (default soft)' # spack dev-build -set -g __fish_spack_optspecs_spack_dev_build h/help j/jobs= d/source-path= i/ignore-dependencies n/no-checksum deprecated keep-prefix skip-patch q/quiet drop-in= test= b/before= u/until= clean dirty U/fresh reuse reuse-deps +set -g __fish_spack_optspecs_spack_dev_build h/help j/jobs= n/no-checksum d/source-path= i/ignore-dependencies keep-prefix skip-patch q/quiet drop-in= test= b/before= u/until= clean dirty U/fresh reuse reuse-deps deprecated complete -c spack -n '__fish_spack_using_command_pos_remainder 0 dev-build' -f -k -a '(__fish_spack_specs)' complete -c spack -n '__fish_spack_using_command dev-build' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command dev-build' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command dev-build' -s j -l jobs -r -f -a jobs complete -c spack -n '__fish_spack_using_command dev-build' -s j -l jobs -r -d 'explicitly set number of parallel jobs' +complete -c spack -n '__fish_spack_using_command dev-build' -s n -l no-checksum -f -a no_checksum +complete -c spack -n '__fish_spack_using_command dev-build' -s n -l no-checksum -d 'do not use checksums to verify downloaded files (unsafe)' complete -c spack -n '__fish_spack_using_command dev-build' -s d -l source-path -r -f -a source_path complete -c spack -n '__fish_spack_using_command dev-build' -s d -l source-path -r -d 'path to source directory (defaults to the current directory)' complete -c spack -n '__fish_spack_using_command dev-build' -s i -l ignore-dependencies -f -a ignore_deps complete -c spack -n '__fish_spack_using_command dev-build' -s i -l ignore-dependencies -d 'do not try to install dependencies of requested packages' -complete -c spack -n '__fish_spack_using_command dev-build' -s n -l no-checksum -f -a no_checksum -complete -c spack -n '__fish_spack_using_command dev-build' -s n -l no-checksum -d 'do not use checksums to verify downloaded files (unsafe)' -complete -c spack -n '__fish_spack_using_command dev-build' -l deprecated -f -a deprecated -complete -c spack -n '__fish_spack_using_command dev-build' -l deprecated -d 'fetch deprecated versions without warning' complete -c spack -n '__fish_spack_using_command dev-build' -l keep-prefix -f -a keep_prefix complete -c spack -n '__fish_spack_using_command dev-build' -l keep-prefix -d 'do not remove the install prefix if installation fails' complete -c spack -n '__fish_spack_using_command dev-build' -l skip-patch -f -a skip_patch @@ -1403,6 +1407,8 @@ complete -c spack -n '__fish_spack_using_command dev-build' -l reuse -f -a concr complete -c spack -n '__fish_spack_using_command dev-build' -l reuse -d 'reuse installed packages/buildcaches when possible' complete -c spack -n '__fish_spack_using_command dev-build' -l reuse-deps -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command dev-build' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command dev-build' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command dev-build' -l deprecated -d 'allow concretizer to select deprecated versions' # spack develop set -g __fish_spack_optspecs_spack_develop h/help p/path= b/build-directory= no-clone clone f/force= @@ -1695,18 +1701,24 @@ complete -c spack -n '__fish_spack_using_command external read-cray-manifest' -l complete -c spack -n '__fish_spack_using_command external read-cray-manifest' -l fail-on-error -d 'if a manifest file cannot be parsed, fail and report the full stack trace' # spack fetch -set -g __fish_spack_optspecs_spack_fetch h/help n/no-checksum deprecated m/missing D/dependencies +set -g __fish_spack_optspecs_spack_fetch h/help n/no-checksum m/missing D/dependencies U/fresh reuse reuse-deps deprecated complete -c spack -n '__fish_spack_using_command_pos_remainder 0 fetch' -f -k -a '(__fish_spack_specs)' complete -c spack -n '__fish_spack_using_command fetch' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command fetch' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command fetch' -s n -l no-checksum -f -a no_checksum complete -c spack -n '__fish_spack_using_command fetch' -s n -l no-checksum -d 'do not use checksums to verify downloaded files (unsafe)' -complete -c spack -n '__fish_spack_using_command fetch' -l deprecated -f -a deprecated -complete -c spack -n '__fish_spack_using_command fetch' -l deprecated -d 'fetch deprecated versions without warning' complete -c spack -n '__fish_spack_using_command fetch' -s m -l missing -f -a missing complete -c spack -n '__fish_spack_using_command fetch' -s m -l missing -d 'fetch only missing (not yet installed) dependencies' complete -c spack -n '__fish_spack_using_command fetch' -s D -l dependencies -f -a dependencies complete -c spack -n '__fish_spack_using_command fetch' -s D -l dependencies -d 'also fetch all dependencies' +complete -c spack -n '__fish_spack_using_command fetch' -s U -l fresh -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command fetch' -s U -l fresh -d 'do not reuse installed deps; build newest configuration' +complete -c spack -n '__fish_spack_using_command fetch' -l reuse -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command fetch' -l reuse -d 'reuse installed packages/buildcaches when possible' +complete -c spack -n '__fish_spack_using_command fetch' -l reuse-deps -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command fetch' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command fetch' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command fetch' -l deprecated -d 'allow concretizer to select deprecated versions' # spack find set -g __fish_spack_optspecs_spack_find h/help format= H/hashes json d/deps p/paths groups no-groups l/long L/very-long t/tag= N/namespaces c/show-concretized f/show-flags show-full-compiler x/explicit X/implicit u/unknown m/missing v/variants loaded M/only-missing deprecated only-deprecated start-date= end-date= @@ -1931,7 +1943,7 @@ complete -c spack -n '__fish_spack_using_command info' -l variants-by-name -f -a complete -c spack -n '__fish_spack_using_command info' -l variants-by-name -d 'list variants in strict name order; don\'t group by condition' # spack install -set -g __fish_spack_optspecs_spack_install h/help only= u/until= j/jobs= overwrite fail-fast keep-prefix keep-stage dont-restage use-cache no-cache cache-only use-buildcache= include-build-deps no-check-signature show-log-on-error source n/no-checksum deprecated v/verbose fake only-concrete add no-add f/file= clean dirty test= log-format= log-file= help-cdash cdash-upload-url= cdash-build= cdash-site= cdash-track= cdash-buildstamp= y/yes-to-all U/fresh reuse reuse-deps +set -g __fish_spack_optspecs_spack_install h/help only= u/until= j/jobs= overwrite fail-fast keep-prefix keep-stage dont-restage use-cache no-cache cache-only use-buildcache= include-build-deps no-check-signature show-log-on-error source n/no-checksum v/verbose fake only-concrete add no-add f/file= clean dirty test= log-format= log-file= help-cdash cdash-upload-url= cdash-build= cdash-site= cdash-track= cdash-buildstamp= y/yes-to-all U/fresh reuse reuse-deps deprecated complete -c spack -n '__fish_spack_using_command_pos_remainder 0 install' -f -k -a '(__fish_spack_specs)' complete -c spack -n '__fish_spack_using_command install' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command install' -s h -l help -d 'show this help message and exit' @@ -1969,8 +1981,6 @@ complete -c spack -n '__fish_spack_using_command install' -l source -f -a instal complete -c spack -n '__fish_spack_using_command install' -l source -d 'install source files in prefix' complete -c spack -n '__fish_spack_using_command install' -s n -l no-checksum -f -a no_checksum complete -c spack -n '__fish_spack_using_command install' -s n -l no-checksum -d 'do not use checksums to verify downloaded files (unsafe)' -complete -c spack -n '__fish_spack_using_command install' -l deprecated -f -a deprecated -complete -c spack -n '__fish_spack_using_command install' -l deprecated -d 'fetch deprecated versions without warning' complete -c spack -n '__fish_spack_using_command install' -s v -l verbose -f -a install_verbose complete -c spack -n '__fish_spack_using_command install' -s v -l verbose -d 'display verbose build output while installing' complete -c spack -n '__fish_spack_using_command install' -l fake -f -a fake @@ -2008,6 +2018,8 @@ complete -c spack -n '__fish_spack_using_command install' -l reuse -f -a concret complete -c spack -n '__fish_spack_using_command install' -l reuse -d 'reuse installed packages/buildcaches when possible' complete -c spack -n '__fish_spack_using_command install' -l reuse-deps -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command install' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command install' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command install' -l deprecated -d 'allow concretizer to select deprecated versions' # spack license set -g __fish_spack_optspecs_spack_license h/help root= @@ -2165,7 +2177,7 @@ complete -c spack -n '__fish_spack_using_command mark' -s i -l implicit -f -a im complete -c spack -n '__fish_spack_using_command mark' -s i -l implicit -d 'mark packages as implicitly installed' # spack mirror -set -g __fish_spack_optspecs_spack_mirror h/help n/no-checksum deprecated +set -g __fish_spack_optspecs_spack_mirror h/help n/no-checksum complete -c spack -n '__fish_spack_using_command_pos 0 mirror' -f -a create -d 'create a directory to be used as a spack mirror, and fill it with package archives' complete -c spack -n '__fish_spack_using_command_pos 0 mirror' -f -a destroy -d 'given a url, recursively delete everything under it' complete -c spack -n '__fish_spack_using_command_pos 0 mirror' -f -a add -d 'add a mirror to Spack' @@ -2178,11 +2190,9 @@ complete -c spack -n '__fish_spack_using_command mirror' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command mirror' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command mirror' -s n -l no-checksum -f -a no_checksum complete -c spack -n '__fish_spack_using_command mirror' -s n -l no-checksum -d 'do not use checksums to verify downloaded files (unsafe)' -complete -c spack -n '__fish_spack_using_command mirror' -l deprecated -f -a deprecated -complete -c spack -n '__fish_spack_using_command mirror' -l deprecated -d 'fetch deprecated versions without warning' # spack mirror create -set -g __fish_spack_optspecs_spack_mirror_create h/help d/directory= a/all f/file= exclude-file= exclude-specs= skip-unstable-versions D/dependencies n/versions-per-spec= +set -g __fish_spack_optspecs_spack_mirror_create h/help d/directory= a/all f/file= exclude-file= exclude-specs= skip-unstable-versions D/dependencies n/versions-per-spec= U/fresh reuse reuse-deps deprecated complete -c spack -n '__fish_spack_using_command_pos_remainder 0 mirror create' -f -k -a '(__fish_spack_specs)' complete -c spack -n '__fish_spack_using_command mirror create' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command mirror create' -s h -l help -d 'show this help message and exit' @@ -2202,6 +2212,14 @@ complete -c spack -n '__fish_spack_using_command mirror create' -s D -l dependen complete -c spack -n '__fish_spack_using_command mirror create' -s D -l dependencies -d 'also fetch all dependencies' complete -c spack -n '__fish_spack_using_command mirror create' -s n -l versions-per-spec -r -f -a versions_per_spec complete -c spack -n '__fish_spack_using_command mirror create' -s n -l versions-per-spec -r -d 'the number of versions to fetch for each spec, choose \'all\' to retrieve all versions of each package' +complete -c spack -n '__fish_spack_using_command mirror create' -s U -l fresh -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command mirror create' -s U -l fresh -d 'do not reuse installed deps; build newest configuration' +complete -c spack -n '__fish_spack_using_command mirror create' -l reuse -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command mirror create' -l reuse -d 'reuse installed packages/buildcaches when possible' +complete -c spack -n '__fish_spack_using_command mirror create' -l reuse-deps -f -a concretizer_reuse +complete -c spack -n '__fish_spack_using_command mirror create' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command mirror create' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command mirror create' -l deprecated -d 'allow concretizer to select deprecated versions' # spack mirror destroy set -g __fish_spack_optspecs_spack_mirror_destroy h/help m/mirror-name= mirror-url= @@ -2455,20 +2473,20 @@ complete -c spack -n '__fish_spack_using_command module tcl setdefault' -s h -l complete -c spack -n '__fish_spack_using_command module tcl setdefault' -s h -l help -d 'show this help message and exit' # spack patch -set -g __fish_spack_optspecs_spack_patch h/help n/no-checksum deprecated U/fresh reuse reuse-deps +set -g __fish_spack_optspecs_spack_patch h/help n/no-checksum U/fresh reuse reuse-deps deprecated complete -c spack -n '__fish_spack_using_command_pos_remainder 0 patch' -f -k -a '(__fish_spack_specs)' complete -c spack -n '__fish_spack_using_command patch' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command patch' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command patch' -s n -l no-checksum -f -a no_checksum complete -c spack -n '__fish_spack_using_command patch' -s n -l no-checksum -d 'do not use checksums to verify downloaded files (unsafe)' -complete -c spack -n '__fish_spack_using_command patch' -l deprecated -f -a deprecated -complete -c spack -n '__fish_spack_using_command patch' -l deprecated -d 'fetch deprecated versions without warning' complete -c spack -n '__fish_spack_using_command patch' -s U -l fresh -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command patch' -s U -l fresh -d 'do not reuse installed deps; build newest configuration' complete -c spack -n '__fish_spack_using_command patch' -l reuse -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command patch' -l reuse -d 'reuse installed packages/buildcaches when possible' complete -c spack -n '__fish_spack_using_command patch' -l reuse-deps -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command patch' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command patch' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command patch' -l deprecated -d 'allow concretizer to select deprecated versions' # spack pkg set -g __fish_spack_optspecs_spack_pkg h/help @@ -2681,7 +2699,7 @@ complete -c spack -n '__fish_spack_using_command restage' -s h -l help -f -a hel complete -c spack -n '__fish_spack_using_command restage' -s h -l help -d 'show this help message and exit' # spack solve -set -g __fish_spack_optspecs_spack_solve h/help show= l/long L/very-long N/namespaces I/install-status no-install-status y/yaml j/json c/cover= t/types timers stats U/fresh reuse reuse-deps +set -g __fish_spack_optspecs_spack_solve h/help show= l/long L/very-long N/namespaces I/install-status no-install-status y/yaml j/json c/cover= t/types timers stats U/fresh reuse reuse-deps deprecated complete -c spack -n '__fish_spack_using_command_pos_remainder 0 solve' -f -k -a '(__fish_spack_specs_or_id)' complete -c spack -n '__fish_spack_using_command solve' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command solve' -s h -l help -d 'show this help message and exit' @@ -2715,9 +2733,11 @@ complete -c spack -n '__fish_spack_using_command solve' -l reuse -f -a concretiz complete -c spack -n '__fish_spack_using_command solve' -l reuse -d 'reuse installed packages/buildcaches when possible' complete -c spack -n '__fish_spack_using_command solve' -l reuse-deps -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command solve' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command solve' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command solve' -l deprecated -d 'allow concretizer to select deprecated versions' # spack spec -set -g __fish_spack_optspecs_spack_spec h/help l/long L/very-long N/namespaces I/install-status no-install-status y/yaml j/json format= c/cover= t/types U/fresh reuse reuse-deps +set -g __fish_spack_optspecs_spack_spec h/help l/long L/very-long N/namespaces I/install-status no-install-status y/yaml j/json format= c/cover= t/types U/fresh reuse reuse-deps deprecated complete -c spack -n '__fish_spack_using_command_pos_remainder 0 spec' -f -k -a '(__fish_spack_specs_or_id)' complete -c spack -n '__fish_spack_using_command spec' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command spec' -s h -l help -d 'show this help message and exit' @@ -2747,16 +2767,16 @@ complete -c spack -n '__fish_spack_using_command spec' -l reuse -f -a concretize complete -c spack -n '__fish_spack_using_command spec' -l reuse -d 'reuse installed packages/buildcaches when possible' complete -c spack -n '__fish_spack_using_command spec' -l reuse-deps -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command spec' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command spec' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command spec' -l deprecated -d 'allow concretizer to select deprecated versions' # spack stage -set -g __fish_spack_optspecs_spack_stage h/help n/no-checksum deprecated p/path= U/fresh reuse reuse-deps +set -g __fish_spack_optspecs_spack_stage h/help n/no-checksum p/path= U/fresh reuse reuse-deps deprecated complete -c spack -n '__fish_spack_using_command_pos_remainder 0 stage' -f -k -a '(__fish_spack_specs_or_id)' complete -c spack -n '__fish_spack_using_command stage' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command stage' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command stage' -s n -l no-checksum -f -a no_checksum complete -c spack -n '__fish_spack_using_command stage' -s n -l no-checksum -d 'do not use checksums to verify downloaded files (unsafe)' -complete -c spack -n '__fish_spack_using_command stage' -l deprecated -f -a deprecated -complete -c spack -n '__fish_spack_using_command stage' -l deprecated -d 'fetch deprecated versions without warning' complete -c spack -n '__fish_spack_using_command stage' -s p -l path -r -f -a path complete -c spack -n '__fish_spack_using_command stage' -s p -l path -r -d 'path to stage package, does not add to spack tree' complete -c spack -n '__fish_spack_using_command stage' -s U -l fresh -f -a concretizer_reuse @@ -2765,6 +2785,8 @@ complete -c spack -n '__fish_spack_using_command stage' -l reuse -f -a concretiz complete -c spack -n '__fish_spack_using_command stage' -l reuse -d 'reuse installed packages/buildcaches when possible' complete -c spack -n '__fish_spack_using_command stage' -l reuse-deps -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command stage' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command stage' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command stage' -l deprecated -d 'allow concretizer to select deprecated versions' # spack style set -g __fish_spack_optspecs_spack_style h/help b/base= a/all r/root-relative U/no-untracked f/fix root= t/tool= s/skip= @@ -2881,7 +2903,7 @@ complete -c spack -n '__fish_spack_using_command test remove' -s y -l yes-to-all complete -c spack -n '__fish_spack_using_command test remove' -s y -l yes-to-all -d 'assume "yes" is the answer to every confirmation request' # spack test-env -set -g __fish_spack_optspecs_spack_test_env h/help clean dirty U/fresh reuse reuse-deps dump= pickle= +set -g __fish_spack_optspecs_spack_test_env h/help clean dirty U/fresh reuse reuse-deps deprecated dump= pickle= complete -c spack -n '__fish_spack_using_command_pos_remainder 0 test-env' -f -a '(__fish_spack_build_env_spec)' complete -c spack -n '__fish_spack_using_command test-env' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command test-env' -s h -l help -d 'show this help message and exit' @@ -2895,6 +2917,8 @@ complete -c spack -n '__fish_spack_using_command test-env' -l reuse -f -a concre complete -c spack -n '__fish_spack_using_command test-env' -l reuse -d 'reuse installed packages/buildcaches when possible' complete -c spack -n '__fish_spack_using_command test-env' -l reuse-deps -f -a concretizer_reuse complete -c spack -n '__fish_spack_using_command test-env' -l reuse-deps -d 'reuse installed dependencies only' +complete -c spack -n '__fish_spack_using_command test-env' -l deprecated -f -a config_deprecated +complete -c spack -n '__fish_spack_using_command test-env' -l deprecated -d 'allow concretizer to select deprecated versions' complete -c spack -n '__fish_spack_using_command test-env' -l dump -r -f -a dump complete -c spack -n '__fish_spack_using_command test-env' -l dump -r -d 'dump a source-able environment to FILE' complete -c spack -n '__fish_spack_using_command test-env' -l pickle -r -f -a pickle From 22cb3815fe2df7090eb735cc472a7d37c3beb8ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Aum=C3=BCller?= Date: Thu, 14 Mar 2024 18:59:45 +0100 Subject: [PATCH 060/155] ispc: add v1.22.0 & v1.23.0 (#43159) * ispc: add v1.22.0 & v1.23.0 * ispc: fix build on macos apply upstream patch * ispc: demote llvm to just a build dependency still builds fine --- .../repos/builtin/packages/ispc/package.py | 35 ++++++++++++------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/var/spack/repos/builtin/packages/ispc/package.py b/var/spack/repos/builtin/packages/ispc/package.py index bae4d9ceb5e56e..b2a51bed81ab7c 100644 --- a/var/spack/repos/builtin/packages/ispc/package.py +++ b/var/spack/repos/builtin/packages/ispc/package.py @@ -27,6 +27,8 @@ class Ispc(CMakePackage): license("BSD-3-Clause") version("main", branch="main") + version("1.23.0", sha256="e268eabed9a9021b4402725ed1c120b8eca776ee4aaf50ddeb0e4adaadda05f9") + version("1.22.0", sha256="1f115eeed7df5028c19c9b256887949ca88c29c146f641b031d8e080297f5acd") version("1.21.1", sha256="99bbb1d1f15bc4433d6a63b5bb35b321af3e3af753c3b28a61850d1748e8a89f") version("1.21.0", sha256="023782f721bfb5893bac24bc2153a8214c916be82c290bf63a3ec6678949b5ef") version("1.20.0", sha256="8bd30ded7f96859451ead1cecf6f58ac8e937288fe0e5b98c56f6eba4be370b4") @@ -47,19 +49,19 @@ class Ispc(CMakePackage): depends_on("ncurses", type="link") depends_on("zlib-api", type="link") depends_on("tbb", type="link", when="platform=linux @1.20:") - depends_on("llvm+clang") - depends_on("llvm libcxx=none", when="platform=darwin") - depends_on("llvm targets=arm,aarch64", when="target=arm:") - depends_on("llvm targets=arm,aarch64", when="target=aarch64:") - depends_on("llvm@:17", when="@:1.21") - depends_on("llvm@:15", when="@:1.20") - depends_on("llvm@:14", when="@:1.18") - depends_on("llvm@:12", when="@:1.16") - depends_on("llvm@:11", when="@:1.15") - depends_on("llvm@:10", when="@:1.14") - depends_on("llvm@13:", when="@1.19:") - depends_on("llvm@11:", when="@1.16:") - depends_on("llvm@10:", when="@1.13:") + depends_on("llvm+clang", type="build") + depends_on("llvm libcxx=none", when="platform=darwin", type="build") + depends_on("llvm targets=arm,aarch64", when="target=arm:", type="build") + depends_on("llvm targets=arm,aarch64", when="target=aarch64:", type="build") + depends_on("llvm@:17", when="@:1.23", type="build") + depends_on("llvm@:15", when="@:1.20", type="build") + depends_on("llvm@:14", when="@:1.18", type="build") + depends_on("llvm@:12", when="@:1.16", type="build") + depends_on("llvm@:11", when="@:1.15", type="build") + depends_on("llvm@:10", when="@:1.14", type="build") + depends_on("llvm@13:", when="@1.19:", type="build") + depends_on("llvm@11:", when="@1.16:", type="build") + depends_on("llvm@10:", when="@1.13:", type="build") patch( "don-t-assume-that-ncurses-zlib-are-system-libraries.patch", @@ -73,6 +75,13 @@ class Ispc(CMakePackage): sha256="d3ccf547d3ba59779fd375e10417a436318f2200d160febb9f830a26f0daefdc", ) + # Fix build with Apple clang 15 + patch( + "https://github.com/ispc/ispc/pull/2785.patch?full_index=1", + when="@1.22:1.23.0", + sha256="f6a413bf86e49d520d23df7132004d1f09caa512187f369549a4a783859fbc41", + ) + # Fix library lookup for NCurses in CMake patch( "https://patch-diff.githubusercontent.com/raw/ispc/ispc/pull/2638.patch?full_index=1", From ec517b40e98dabb5759553f1d2599e50f245018a Mon Sep 17 00:00:00 2001 From: Peter Scheibel Date: Thu, 14 Mar 2024 13:32:01 -0700 Subject: [PATCH 061/155] `spack develop`: stage build artifacts in same root as non-dev builds (#41373) Currently (outside of this PR) when you `spack develop` a path, this path is treated as the staging directory (this means that for example all build artifacts are placed in the develop path). This PR creates a separate staging directory for all `spack develop`ed builds. It looks like ``` # the stage root /the-stage-root-for-all-spack-builds/ spack-stage- # Spack packages inheriting CMakePackage put their build artifacts here spack-build-/ ``` Unlike non-develop builds, there is no `spack-src` directory, `source_path` is the provided `dev_path`. Instead, separately, in the `dev_path`, we have: ``` /dev/path/for/foo/ build-{arch}- -> /the-stage-root-for-all-spack-builds/spack-stage-/ ``` The main benefit of this is that build artifacts for out-of-source builds that are relative to `Stage.path` are easily identified (and you can delete them with `spack clean`). Other behavior added here: - [x] A symlink is made from the `dev_path` to the stage directory. This symlink name incorporates spec details, so that multiple Spack environments that develop the same path will not conflict with one another - [x] `spack cd` and `spack location` have added a `-c` shorthand for `--source-dir` Spack builds can still change the develop path (in particular to keep track of applied patches), and for in-source builds, this doesn't change much (although logs would not be written into the develop path). Packages inheriting from `CMakePackage` should get this benefit automatically though. --- lib/spack/spack/cmd/location.py | 1 + lib/spack/spack/package_base.py | 67 ++++--- lib/spack/spack/schema/config.py | 1 + lib/spack/spack/stage.py | 248 +++++++++++++++++--------- lib/spack/spack/test/cmd/dev_build.py | 5 + lib/spack/spack/test/cmd/develop.py | 13 +- lib/spack/spack/test/patch.py | 2 +- lib/spack/spack/test/stage.py | 71 +++++++- share/spack/spack-completion.bash | 4 +- share/spack/spack-completion.fish | 12 +- 10 files changed, 297 insertions(+), 127 deletions(-) diff --git a/lib/spack/spack/cmd/location.py b/lib/spack/spack/cmd/location.py index d2bac9b9ba3227..d7747846226672 100644 --- a/lib/spack/spack/cmd/location.py +++ b/lib/spack/spack/cmd/location.py @@ -53,6 +53,7 @@ def setup_parser(subparser): "-S", "--stages", action="store_true", help="top level stage directory" ) directories.add_argument( + "-c", "--source-dir", action="store_true", help="source directory for a spec (requires it to be staged first)", diff --git a/lib/spack/spack/package_base.py b/lib/spack/spack/package_base.py index 9e9f4728e19fe8..2f8e0ae003756e 100644 --- a/lib/spack/spack/package_base.py +++ b/lib/spack/spack/package_base.py @@ -64,7 +64,7 @@ install_test_root, ) from spack.installer import InstallError, PackageInstaller -from spack.stage import DIYStage, ResourceStage, Stage, StageComposite, compute_stage_name +from spack.stage import DevelopStage, ResourceStage, Stage, StageComposite, compute_stage_name from spack.util.executable import ProcessError, which from spack.util.package_hash import package_hash from spack.version import GitVersion, StandardVersion @@ -1075,7 +1075,12 @@ def _make_stage(self): # If it's a dev package (not transitively), use a DIY stage object dev_path_var = self.spec.variants.get("dev_path", None) if dev_path_var: - return DIYStage(dev_path_var.value) + dev_path = dev_path_var.value + link_format = spack.config.get("config:develop_stage_link") + if not link_format: + link_format = "build-{arch}-{hash:7}" + stage_link = self.spec.format_path(link_format) + return DevelopStage(compute_stage_name(self.spec), dev_path, stage_link) # To fetch the current version source_stage = self._make_root_stage(self.fetcher) @@ -1407,7 +1412,7 @@ def do_fetch(self, mirror_only=False): return checksum = spack.config.get("config:checksum") - fetch = self.stage.managed_by_spack + fetch = self.stage.needs_fetching if ( checksum and fetch @@ -1480,9 +1485,6 @@ def do_stage(self, mirror_only=False): if self.has_code: self.do_fetch(mirror_only) self.stage.expand_archive() - - if not os.listdir(self.stage.path): - raise spack.error.FetchError("Archive was empty for %s" % self.name) else: # Support for post-install hooks requires a stage.source_path fsys.mkdirp(self.stage.source_path) @@ -1516,7 +1518,7 @@ def do_patch(self): # If we encounter an archive that failed to patch, restage it # so that we can apply all the patches again. if os.path.isfile(bad_file): - if self.stage.managed_by_spack: + if self.stage.requires_patch_success: tty.debug("Patching failed last time. Restaging.") self.stage.restage() else: @@ -1537,6 +1539,8 @@ def do_patch(self): tty.msg("No patches needed for {0}".format(self.name)) return + errors = [] + # Apply all the patches for specs that match this one patched = False for patch in patches: @@ -1546,12 +1550,16 @@ def do_patch(self): tty.msg("Applied patch {0}".format(patch.path_or_url)) patched = True except spack.error.SpackError as e: - tty.debug(e) - # Touch bad file if anything goes wrong. - tty.msg("Patch %s failed." % patch.path_or_url) fsys.touch(bad_file) - raise + error_msg = f"Patch {patch.path_or_url} failed." + if self.stage.requires_patch_success: + tty.msg(error_msg) + raise + else: + tty.debug(error_msg) + tty.debug(e) + errors.append(e) if has_patch_fun: try: @@ -1569,24 +1577,29 @@ def do_patch(self): # printed a message for each patch. tty.msg("No patches needed for {0}".format(self.name)) except spack.error.SpackError as e: - tty.debug(e) - # Touch bad file if anything goes wrong. - tty.msg("patch() function failed for {0}".format(self.name)) fsys.touch(bad_file) - raise - - # Get rid of any old failed file -- patches have either succeeded - # or are not needed. This is mostly defensive -- it's needed - # if the restage() method doesn't clean *everything* (e.g., for a repo) - if os.path.isfile(bad_file): - os.remove(bad_file) - - # touch good or no patches file so that we skip next time. - if patched: - fsys.touch(good_file) - else: - fsys.touch(no_patches_file) + error_msg = f"patch() function failed for {self.name}" + if self.stage.requires_patch_success: + tty.msg(error_msg) + raise + else: + tty.debug(error_msg) + tty.debug(e) + errors.append(e) + + if not errors: + # Get rid of any old failed file -- patches have either succeeded + # or are not needed. This is mostly defensive -- it's needed + # if we didn't restage + if os.path.isfile(bad_file): + os.remove(bad_file) + + # touch good or no patches file so that we skip next time. + if patched: + fsys.touch(good_file) + else: + fsys.touch(no_patches_file) @classmethod def all_patches(cls): diff --git a/lib/spack/spack/schema/config.py b/lib/spack/spack/schema/config.py index 2a6499058d2849..b7fca099385170 100644 --- a/lib/spack/spack/schema/config.py +++ b/lib/spack/spack/schema/config.py @@ -63,6 +63,7 @@ "oneOf": [{"type": "string"}, {"type": "array", "items": {"type": "string"}}] }, "stage_name": {"type": "string"}, + "develop_stage_link": {"type": "string"}, "test_stage": {"type": "string"}, "extensions": {"type": "array", "items": {"type": "string"}}, "template_dirs": {"type": "array", "items": {"type": "string"}}, diff --git a/lib/spack/spack/stage.py b/lib/spack/spack/stage.py index b756255bd661b6..46848c001661a8 100644 --- a/lib/spack/spack/stage.py +++ b/lib/spack/spack/stage.py @@ -208,7 +208,103 @@ def _mirror_roots(): ] -class Stage: +class LockableStagingDir: + """A directory whose lifetime can be managed with a context + manager (but persists if the user requests it). Instances can have + a specified name and if they do, then for all instances that have + the same name, only one can enter the context manager at a time. + """ + + def __init__(self, name, path, keep, lock): + # TODO: This uses a protected member of tempfile, but seemed the only + # TODO: way to get a temporary name. It won't be the same as the + # TODO: temporary stage area in _stage_root. + self.name = name + if name is None: + self.name = stage_prefix + next(tempfile._get_candidate_names()) + + # Use the provided path or construct an optionally named stage path. + if path is not None: + self.path = path + else: + self.path = os.path.join(get_stage_root(), self.name) + + # Flag to decide whether to delete the stage folder on exit or not + self.keep = keep + + # File lock for the stage directory. We use one file for all + # stage locks. See spack.database.Database.prefix_locker.lock for + # details on this approach. + self._lock = None + self._use_locks = lock + + # When stages are reused, we need to know whether to re-create + # it. This marks whether it has been created/destroyed. + self.created = False + + def _get_lock(self): + if not self._lock: + sha1 = hashlib.sha1(self.name.encode("utf-8")).digest() + lock_id = prefix_bits(sha1, bit_length(sys.maxsize)) + stage_lock_path = os.path.join(get_stage_root(), ".lock") + self._lock = spack.util.lock.Lock( + stage_lock_path, start=lock_id, length=1, desc=self.name + ) + return self._lock + + def __enter__(self): + """ + Entering a stage context will create the stage directory + + Returns: + self + """ + if self._use_locks: + self._get_lock().acquire_write(timeout=60) + self.create() + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + """ + Exiting from a stage context will delete the stage directory unless: + - it was explicitly requested not to do so + - an exception has been raised + + Args: + exc_type: exception type + exc_val: exception value + exc_tb: exception traceback + + Returns: + Boolean + """ + # Delete when there are no exceptions, unless asked to keep. + if exc_type is None and not self.keep: + self.destroy() + + if self._use_locks: + self._get_lock().release_write() + + def create(self): + """ + Ensures the top-level (config:build_stage) directory exists. + """ + # User has full permissions and group has only read permissions + if not os.path.exists(self.path): + mkdirp(self.path, mode=stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP) + elif not os.path.isdir(self.path): + os.remove(self.path) + mkdirp(self.path, mode=stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP) + + # Make sure we can actually do something with the stage we made. + ensure_access(self.path) + self.created = True + + def destroy(self): + raise NotImplementedError(f"{self.__class__.__name__} is abstract") + + +class Stage(LockableStagingDir): """Manages a temporary stage directory for building. A Stage object is a context manager that handles a directory where @@ -251,7 +347,8 @@ class Stage: """ #: Most staging is managed by Spack. DIYStage is one exception. - managed_by_spack = True + needs_fetching = True + requires_patch_success = True def __init__( self, @@ -297,6 +394,8 @@ def __init__( The search function that provides the fetch strategy instance. """ + super().__init__(name, path, keep, lock) + # TODO: fetch/stage coupling needs to be reworked -- the logic # TODO: here is convoluted and not modular enough. if isinstance(url_or_fetch_strategy, str): @@ -314,72 +413,8 @@ def __init__( self.srcdir = None - # TODO: This uses a protected member of tempfile, but seemed the only - # TODO: way to get a temporary name. It won't be the same as the - # TODO: temporary stage area in _stage_root. - self.name = name - if name is None: - self.name = stage_prefix + next(tempfile._get_candidate_names()) self.mirror_paths = mirror_paths - # Use the provided path or construct an optionally named stage path. - if path is not None: - self.path = path - else: - self.path = os.path.join(get_stage_root(), self.name) - - # Flag to decide whether to delete the stage folder on exit or not - self.keep = keep - - # File lock for the stage directory. We use one file for all - # stage locks. See spack.database.Database.prefix_locker.lock for - # details on this approach. - self._lock = None - if lock: - sha1 = hashlib.sha1(self.name.encode("utf-8")).digest() - lock_id = prefix_bits(sha1, bit_length(sys.maxsize)) - stage_lock_path = os.path.join(get_stage_root(), ".lock") - self._lock = spack.util.lock.Lock( - stage_lock_path, start=lock_id, length=1, desc=self.name - ) - - # When stages are reused, we need to know whether to re-create - # it. This marks whether it has been created/destroyed. - self.created = False - - def __enter__(self): - """ - Entering a stage context will create the stage directory - - Returns: - self - """ - if self._lock is not None: - self._lock.acquire_write(timeout=60) - self.create() - return self - - def __exit__(self, exc_type, exc_val, exc_tb): - """ - Exiting from a stage context will delete the stage directory unless: - - it was explicitly requested not to do so - - an exception has been raised - - Args: - exc_type: exception type - exc_val: exception value - exc_tb: exception traceback - - Returns: - Boolean - """ - # Delete when there are no exceptions, unless asked to keep. - if exc_type is None and not self.keep: - self.destroy() - - if self._lock is not None: - self._lock.release_write() - @property def expected_archive_files(self): """Possible archive file paths.""" @@ -631,21 +666,6 @@ def restage(self): """ self.fetcher.reset() - def create(self): - """ - Ensures the top-level (config:build_stage) directory exists. - """ - # User has full permissions and group has only read permissions - if not os.path.exists(self.path): - mkdirp(self.path, mode=stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP) - elif not os.path.isdir(self.path): - os.remove(self.path) - mkdirp(self.path, mode=stat.S_IRWXU | stat.S_IRGRP | stat.S_IXGRP) - - # Make sure we can actually do something with the stage we made. - ensure_access(self.path) - self.created = True - def destroy(self): """Removes this stage directory.""" remove_linked_tree(self.path) @@ -752,7 +772,8 @@ def __init__(self): "cache_mirror", "steal_source", "disable_mirrors", - "managed_by_spack", + "needs_fetching", + "requires_patch_success", ] ) @@ -808,8 +829,8 @@ class DIYStage: directory naming convention. """ - """DIY staging is, by definition, not managed by Spack.""" - managed_by_spack = False + needs_fetching = False + requires_patch_success = False def __init__(self, path): if path is None: @@ -857,6 +878,65 @@ def cache_local(self): tty.debug("Sources for DIY stages are not cached") +class DevelopStage(LockableStagingDir): + needs_fetching = False + requires_patch_success = False + + def __init__(self, name, dev_path, reference_link): + super().__init__(name=name, path=None, keep=False, lock=True) + self.dev_path = dev_path + self.source_path = dev_path + + # The path of a link that will point to this stage + if os.path.isabs(reference_link): + link_path = reference_link + else: + link_path = os.path.join(self.source_path, reference_link) + if not os.path.isdir(os.path.dirname(link_path)): + raise StageError(f"The directory containing {link_path} must exist") + self.reference_link = link_path + + @property + def archive_file(self): + return None + + def fetch(self, *args, **kwargs): + tty.debug("No fetching needed for develop stage.") + + def check(self): + tty.debug("No checksum needed for develop stage.") + + def expand_archive(self): + tty.debug("No expansion needed for develop stage.") + + @property + def expanded(self): + """Returns True since the source_path must exist.""" + return True + + def create(self): + super().create() + try: + llnl.util.symlink.symlink(self.path, self.reference_link) + except (llnl.util.symlink.AlreadyExistsError, FileExistsError): + pass + + def destroy(self): + # Destroy all files, but do not follow symlinks + try: + shutil.rmtree(self.path) + except FileNotFoundError: + pass + self.created = False + + def restage(self): + self.destroy() + self.create() + + def cache_local(self): + tty.debug("Sources for Develop stages are not cached") + + def ensure_access(file): """Ensure we can access a directory and die with an error if we can't.""" if not can_access(file): diff --git a/lib/spack/spack/test/cmd/dev_build.py b/lib/spack/spack/test/cmd/dev_build.py index 0a717fa74705ee..3e6631cf51ee03 100644 --- a/lib/spack/spack/test/cmd/dev_build.py +++ b/lib/spack/spack/test/cmd/dev_build.py @@ -41,6 +41,7 @@ def test_dev_build_basics(tmpdir, install_mockery): assert os.path.exists(str(tmpdir)) +@pytest.mark.disable_clean_stage_check def test_dev_build_before(tmpdir, install_mockery): spec = spack.spec.Spec(f"dev-build-test-install@0.0.0 dev_path={tmpdir}").concretized() @@ -57,6 +58,7 @@ def test_dev_build_before(tmpdir, install_mockery): assert not os.path.exists(spec.prefix) +@pytest.mark.disable_clean_stage_check def test_dev_build_until(tmpdir, install_mockery): spec = spack.spec.Spec(f"dev-build-test-install@0.0.0 dev_path={tmpdir}").concretized() @@ -74,6 +76,7 @@ def test_dev_build_until(tmpdir, install_mockery): assert not spack.store.STORE.db.query(spec, installed=True) +@pytest.mark.disable_clean_stage_check def test_dev_build_until_last_phase(tmpdir, install_mockery): # Test that we ignore the last_phase argument if it is already last spec = spack.spec.Spec(f"dev-build-test-install@0.0.0 dev_path={tmpdir}").concretized() @@ -93,6 +96,7 @@ def test_dev_build_until_last_phase(tmpdir, install_mockery): assert os.path.exists(str(tmpdir)) +@pytest.mark.disable_clean_stage_check def test_dev_build_before_until(tmpdir, install_mockery, capsys): spec = spack.spec.Spec(f"dev-build-test-install@0.0.0 dev_path={tmpdir}").concretized() @@ -130,6 +134,7 @@ def mock_module_noop(*args): pass +@pytest.mark.disable_clean_stage_check def test_dev_build_drop_in(tmpdir, mock_packages, monkeypatch, install_mockery, working_env): monkeypatch.setattr(os, "execvp", print_spack_cc) monkeypatch.setattr(spack.build_environment, "module", mock_module_noop) diff --git a/lib/spack/spack/test/cmd/develop.py b/lib/spack/spack/test/cmd/develop.py index 7d01853fd499ae..b090f0d21b5f21 100644 --- a/lib/spack/spack/test/cmd/develop.py +++ b/lib/spack/spack/test/cmd/develop.py @@ -14,6 +14,7 @@ import spack.spec from spack.main import SpackCommand +add = SpackCommand("add") develop = SpackCommand("develop") env = SpackCommand("env") @@ -192,14 +193,16 @@ def test_develop_full_git_repo( finally: spec.package.do_clean() - # Now use "spack develop": look at the resulting stage directory and make + # Now use "spack develop": look at the resulting dev_path and make # sure the git repo pulled includes the full branch history (or rather, # more than just one commit). env("create", "test") - with ev.read("test"): + with ev.read("test") as e: + add("git-test-commit") develop("git-test-commit@1.2") - location = SpackCommand("location") - develop_stage_dir = location("git-test-commit").strip() - commits = _git_commit_list(develop_stage_dir) + e.concretize() + spec = e.all_specs()[0] + develop_dir = spec.variants["dev_path"].value + commits = _git_commit_list(develop_dir) assert len(commits) > 1 diff --git a/lib/spack/spack/test/patch.py b/lib/spack/spack/test/patch.py index c8e9e8ece1ac6b..3710c58303560a 100644 --- a/lib/spack/spack/test/patch.py +++ b/lib/spack/spack/test/patch.py @@ -268,7 +268,7 @@ def trigger_bad_patch(pkg): def test_patch_failure_develop_spec_exits_gracefully( - mock_packages, config, install_mockery, mock_fetch, tmpdir + mock_packages, config, install_mockery, mock_fetch, tmpdir, mock_stage ): """ ensure that a failing patch does not trigger exceptions diff --git a/lib/spack/spack/test/stage.py b/lib/spack/spack/test/stage.py index 024d195daa3517..37e8fd455929d9 100644 --- a/lib/spack/spack/test/stage.py +++ b/lib/spack/spack/test/stage.py @@ -22,7 +22,7 @@ import spack.util.executable import spack.util.url as url_util from spack.resource import Resource -from spack.stage import DIYStage, ResourceStage, Stage, StageComposite +from spack.stage import DevelopStage, DIYStage, ResourceStage, Stage, StageComposite from spack.util.path import canonicalize_path # The following values are used for common fetch and stage mocking fixtures: @@ -145,7 +145,7 @@ def check_destroy(stage, stage_name): assert not os.path.exists(stage_path) # tmp stage needs to remove tmp dir too. - if not stage.managed_by_spack: + if not isinstance(stage, DIYStage): target = os.path.realpath(stage_path) assert not os.path.exists(target) @@ -857,6 +857,73 @@ def test_diystage_preserve_file(self, tmpdir): _file.read() == _readme_contents +def _create_files_from_tree(base, tree): + for name, content in tree.items(): + sub_base = os.path.join(base, name) + if isinstance(content, dict): + os.mkdir(sub_base) + _create_files_from_tree(sub_base, content) + else: + assert (content is None) or (isinstance(content, str)) + with open(sub_base, "w") as f: + if content: + f.write(content) + + +def _create_tree_from_dir_recursive(path): + if os.path.islink(path): + return os.readlink(path) + elif os.path.isdir(path): + tree = {} + for name in os.listdir(path): + sub_path = os.path.join(path, name) + tree[name] = _create_tree_from_dir_recursive(sub_path) + return tree + else: + with open(path, "r") as f: + content = f.read() or None + return content + + +@pytest.fixture +def develop_path(tmpdir): + dir_structure = {"a1": {"b1": None, "b2": "b1content"}, "a2": None} + srcdir = str(tmpdir.join("test-src")) + os.mkdir(srcdir) + _create_files_from_tree(srcdir, dir_structure) + yield dir_structure, srcdir + + +class TestDevelopStage: + def test_sanity_check_develop_path(self, develop_path): + _, srcdir = develop_path + with open(os.path.join(srcdir, "a1", "b2")) as f: + assert f.read() == "b1content" + + assert os.path.exists(os.path.join(srcdir, "a2")) + + def test_develop_stage(self, develop_path, tmp_build_stage_dir): + """Check that (a) develop stages update the given + `dev_path` with a symlink that points to the stage dir and + (b) that destroying the stage does not destroy `dev_path` + """ + devtree, srcdir = develop_path + stage = DevelopStage("test-stage", srcdir, reference_link="link-to-stage") + stage.create() + srctree1 = _create_tree_from_dir_recursive(stage.source_path) + assert os.path.samefile(srctree1["link-to-stage"], stage.path) + del srctree1["link-to-stage"] + assert srctree1 == devtree + + stage.destroy() + # Make sure destroying the stage doesn't change anything + # about the path + assert not os.path.exists(stage.path) + srctree2 = _create_tree_from_dir_recursive(srcdir) + del srctree2["link-to-stage"] # Note the symlink persists but is broken + assert srctree2 == devtree + + def test_stage_create_replace_path(tmp_build_stage_dir): """Ensure stage creation replaces a non-directory path.""" _, test_stage_path = tmp_build_stage_dir diff --git a/share/spack/spack-completion.bash b/share/spack/spack-completion.bash index bdc2907d42f18d..90d17c5f484717 100755 --- a/share/spack/spack-completion.bash +++ b/share/spack/spack-completion.bash @@ -668,7 +668,7 @@ _spack_buildcache_rebuild_index() { _spack_cd() { if $list_options then - SPACK_COMPREPLY="-h --help -m --module-dir -r --spack-root -i --install-dir -p --package-dir -P --packages -s --stage-dir -S --stages --source-dir -b --build-dir -e --env --first" + SPACK_COMPREPLY="-h --help -m --module-dir -r --spack-root -i --install-dir -p --package-dir -P --packages -s --stage-dir -S --stages -c --source-dir -b --build-dir -e --env --first" else _all_packages fi @@ -1347,7 +1347,7 @@ _spack_load() { _spack_location() { if $list_options then - SPACK_COMPREPLY="-h --help -m --module-dir -r --spack-root -i --install-dir -p --package-dir -P --packages -s --stage-dir -S --stages --source-dir -b --build-dir -e --env --first" + SPACK_COMPREPLY="-h --help -m --module-dir -r --spack-root -i --install-dir -p --package-dir -P --packages -s --stage-dir -S --stages -c --source-dir -b --build-dir -e --env --first" else _all_packages fi diff --git a/share/spack/spack-completion.fish b/share/spack/spack-completion.fish index 600213454b5fb9..84e1a4721e9b2c 100755 --- a/share/spack/spack-completion.fish +++ b/share/spack/spack-completion.fish @@ -880,7 +880,7 @@ complete -c spack -n '__fish_spack_using_command buildcache rebuild-index' -s k complete -c spack -n '__fish_spack_using_command buildcache rebuild-index' -s k -l keys -d 'if provided, key index will be updated as well as package index' # spack cd -set -g __fish_spack_optspecs_spack_cd h/help m/module-dir r/spack-root i/install-dir p/package-dir P/packages s/stage-dir S/stages source-dir b/build-dir e/env= first +set -g __fish_spack_optspecs_spack_cd h/help m/module-dir r/spack-root i/install-dir p/package-dir P/packages s/stage-dir S/stages c/source-dir b/build-dir e/env= first complete -c spack -n '__fish_spack_using_command_pos_remainder 0 cd' -f -k -a '(__fish_spack_specs)' complete -c spack -n '__fish_spack_using_command cd' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command cd' -s h -l help -d 'show this help message and exit' @@ -898,8 +898,8 @@ complete -c spack -n '__fish_spack_using_command cd' -s s -l stage-dir -f -a sta complete -c spack -n '__fish_spack_using_command cd' -s s -l stage-dir -d 'stage directory for a spec' complete -c spack -n '__fish_spack_using_command cd' -s S -l stages -f -a stages complete -c spack -n '__fish_spack_using_command cd' -s S -l stages -d 'top level stage directory' -complete -c spack -n '__fish_spack_using_command cd' -l source-dir -f -a source_dir -complete -c spack -n '__fish_spack_using_command cd' -l source-dir -d 'source directory for a spec (requires it to be staged first)' +complete -c spack -n '__fish_spack_using_command cd' -s c -l source-dir -f -a source_dir +complete -c spack -n '__fish_spack_using_command cd' -s c -l source-dir -d 'source directory for a spec (requires it to be staged first)' complete -c spack -n '__fish_spack_using_command cd' -s b -l build-dir -f -a build_dir complete -c spack -n '__fish_spack_using_command cd' -s b -l build-dir -d 'build directory for a spec (requires it to be staged first)' complete -c spack -n '__fish_spack_using_command cd' -s e -l env -r -f -a location_env @@ -2089,7 +2089,7 @@ complete -c spack -n '__fish_spack_using_command load' -l list -f -a list complete -c spack -n '__fish_spack_using_command load' -l list -d 'show loaded packages: same as `spack find --loaded`' # spack location -set -g __fish_spack_optspecs_spack_location h/help m/module-dir r/spack-root i/install-dir p/package-dir P/packages s/stage-dir S/stages source-dir b/build-dir e/env= first +set -g __fish_spack_optspecs_spack_location h/help m/module-dir r/spack-root i/install-dir p/package-dir P/packages s/stage-dir S/stages c/source-dir b/build-dir e/env= first complete -c spack -n '__fish_spack_using_command_pos_remainder 0 location' -f -k -a '(__fish_spack_specs)' complete -c spack -n '__fish_spack_using_command location' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command location' -s h -l help -d 'show this help message and exit' @@ -2107,8 +2107,8 @@ complete -c spack -n '__fish_spack_using_command location' -s s -l stage-dir -f complete -c spack -n '__fish_spack_using_command location' -s s -l stage-dir -d 'stage directory for a spec' complete -c spack -n '__fish_spack_using_command location' -s S -l stages -f -a stages complete -c spack -n '__fish_spack_using_command location' -s S -l stages -d 'top level stage directory' -complete -c spack -n '__fish_spack_using_command location' -l source-dir -f -a source_dir -complete -c spack -n '__fish_spack_using_command location' -l source-dir -d 'source directory for a spec (requires it to be staged first)' +complete -c spack -n '__fish_spack_using_command location' -s c -l source-dir -f -a source_dir +complete -c spack -n '__fish_spack_using_command location' -s c -l source-dir -d 'source directory for a spec (requires it to be staged first)' complete -c spack -n '__fish_spack_using_command location' -s b -l build-dir -f -a build_dir complete -c spack -n '__fish_spack_using_command location' -s b -l build-dir -d 'build directory for a spec (requires it to be staged first)' complete -c spack -n '__fish_spack_using_command location' -s e -l env -r -f -a location_env From 8f56eb620f0ec6d2dc3d73f442d6eeb7ed986558 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Thu, 14 Mar 2024 21:47:56 +0100 Subject: [PATCH 062/155] Improve error message when an unknown compiler is requested (#43143) Fixes #43141 --- lib/spack/spack/solver/asp.py | 5 +++-- lib/spack/spack/solver/concretize.lp | 10 ++++++---- lib/spack/spack/test/concretize.py | 9 +++++++++ 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/lib/spack/spack/solver/asp.py b/lib/spack/spack/solver/asp.py index 0ae359c00699b6..c2524b1223c992 100644 --- a/lib/spack/spack/solver/asp.py +++ b/lib/spack/spack/solver/asp.py @@ -823,11 +823,12 @@ def on_model(model): print("Statistics:") pprint.pprint(self.control.statistics) - if result.unsolved_specs and setup.concretize_everything: + if result.satisfiable and result.unsolved_specs and setup.concretize_everything: unsolved_str = Result.format_unsolved(result.unsolved_specs) raise InternalConcretizerError( "Internal Spack error: the solver completed but produced specs" - f" that do not satisfy the request.\n\t{unsolved_str}" + " that do not satisfy the request. Please report a bug at " + f"https://github.com/spack/spack/issues\n\t{unsolved_str}" ) return result, timer, self.control.statistics diff --git a/lib/spack/spack/solver/concretize.lp b/lib/spack/spack/solver/concretize.lp index 7f06d6f3a9b741..6736dcaf457442 100644 --- a/lib/spack/spack/solver/concretize.lp +++ b/lib/spack/spack/solver/concretize.lp @@ -1172,11 +1172,13 @@ attr("node_compiler_version_satisfies", PackageNode, Compiler, Constraint) % If the compiler version was set from the command line, % respect it verbatim -:- attr("node_compiler_version_set", PackageNode, Compiler, Version), - not attr("node_compiler_version", PackageNode, Compiler, Version). +error(100, "Cannot set the required compiler: {2}%{0}@{1}", Compiler, Version, Package) + :- attr("node_compiler_version_set", node(X, Package), Compiler, Version), + not attr("node_compiler_version", node(X, Package), Compiler, Version). -:- attr("node_compiler_set", PackageNode, Compiler), - not attr("node_compiler_version", PackageNode, Compiler, _). +error(100, "Cannot set the required compiler: {1}%{0}", Compiler, Package) + :- attr("node_compiler_set", node(X, Package), Compiler), + not attr("node_compiler_version", node(X, Package), Compiler, _). % Cannot select a compiler if it is not supported on the OS % Compilers that are explicitly marked as allowed diff --git a/lib/spack/spack/test/concretize.py b/lib/spack/spack/test/concretize.py index 1c1444423b7f77..b12fbfb9107dbd 100644 --- a/lib/spack/spack/test/concretize.py +++ b/lib/spack/spack/test/concretize.py @@ -2114,6 +2114,15 @@ def test_unsolved_specs_raises_error(self, monkeypatch, mock_packages, config): ): solver.driver.solve(setup, specs, reuse=[]) + @pytest.mark.regression("43141") + @pytest.mark.only_clingo("Use case not supported by the original concretizer") + def test_clear_error_when_unknown_compiler_requested(self, mock_packages, config): + """Tests that the solver can report a case where the compiler cannot be set""" + with pytest.raises( + spack.error.UnsatisfiableSpecError, match="Cannot set the required compiler: a%foo" + ): + Spec("a %foo").concretized() + @pytest.mark.regression("36339") def test_compiler_match_constraints_when_selected(self): """Test that, when multiple compilers with the same name are in the configuration From 102811adb9a024c791e3f7312294b0cfafea2337 Mon Sep 17 00:00:00 2001 From: Adrien Bernede <51493078+adrienbernede@users.noreply.github.com> Date: Thu, 14 Mar 2024 21:49:09 +0100 Subject: [PATCH 063/155] Fix Axom: index out of range when configuring axom~mpi on toss_4 (#43186) --- .../repos/builtin/packages/axom/package.py | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/var/spack/repos/builtin/packages/axom/package.py b/var/spack/repos/builtin/packages/axom/package.py index 1c64ad709328bf..6d1efb4c94240f 100644 --- a/var/spack/repos/builtin/packages/axom/package.py +++ b/var/spack/repos/builtin/packages/axom/package.py @@ -415,21 +415,21 @@ def initconfig_mpi_entries(self): entries.append(cmake_cache_option("ENABLE_MPI", True)) if spec["mpi"].name == "spectrum-mpi": entries.append(cmake_cache_string("BLT_MPI_COMMAND_APPEND", "mpibind")) + + # Replace /usr/bin/srun path with srun flux wrapper path on TOSS 4 + # TODO: Remove this logic by adding `using_flux` case in + # spack/lib/spack/spack/build_systems/cached_cmake.py:196 and remove hard-coded + # path to srun in same file. + if "toss_4" in self._get_sys_type(spec): + srun_wrapper = which_string("srun") + mpi_exec_index = [ + index for index, entry in enumerate(entries) if "MPIEXEC_EXECUTABLE" in entry + ] + del entries[mpi_exec_index[0]] + entries.append(cmake_cache_path("MPIEXEC_EXECUTABLE", srun_wrapper)) else: entries.append(cmake_cache_option("ENABLE_MPI", False)) - # Replace /usr/bin/srun path with srun flux wrapper path on TOSS 4 - # TODO: Remove this logic by adding `using_flux` case in - # spack/lib/spack/spack/build_systems/cached_cmake.py:196 and remove hard-coded - # path to srun in same file. - if "toss_4" in self._get_sys_type(spec): - srun_wrapper = which_string("srun") - mpi_exec_index = [ - index for index, entry in enumerate(entries) if "MPIEXEC_EXECUTABLE" in entry - ] - del entries[mpi_exec_index[0]] - entries.append(cmake_cache_path("MPIEXEC_EXECUTABLE", srun_wrapper)) - return entries def find_path_replacement(self, path1, path2, path_replacements, name, entries): From 751c3fef863e6e2fcfe87f32acc261c6c4b3d9a2 Mon Sep 17 00:00:00 2001 From: Sergey Kosukhin Date: Thu, 14 Mar 2024 22:04:05 +0100 Subject: [PATCH 064/155] nag: add version 7.2.7200 (#43188) --- var/spack/repos/builtin/packages/nag/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/nag/package.py b/var/spack/repos/builtin/packages/nag/package.py index eb437567ef34d5..d00d11ea30737d 100644 --- a/var/spack/repos/builtin/packages/nag/package.py +++ b/var/spack/repos/builtin/packages/nag/package.py @@ -17,6 +17,7 @@ class Nag(Package): homepage = "https://www.nag.com/nagware/np.asp" maintainers("skosukhin") + version("7.2.7200", sha256="3c2179e073d6cf2aadaeaf9a6a5f3b7f1fdcfb85b99c6fb593445b28ddd44880") version("7.1.7125", sha256="738ed9ed943ebeb05d337cfdc603b9c88b8642b3d0cafea8d2872f36201adb37") version( "7.1.7101", From ba3992404656a77414215643bd6631d863329d35 Mon Sep 17 00:00:00 2001 From: eugeneswalker <38933153+eugeneswalker@users.noreply.github.com> Date: Thu, 14 Mar 2024 14:06:36 -0700 Subject: [PATCH 065/155] e4s cray ci: mgard is broken, disable spec (#43194) --- .../gitlab/cloud_pipelines/stacks/e4s-cray-rhel/spack.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-rhel/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-rhel/spack.yaml index 5ab5ba09b5e2ba..491289b3af3a4e 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-rhel/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-rhel/spack.yaml @@ -103,14 +103,13 @@ spack: - lammps - legion - libnrm - - libpressio +bitgrooming +bzip2 ~cuda ~cusz +fpzip +hdf5 +libdistributed - +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf +mgard + #- libpressio +bitgrooming +bzip2 ~cuda ~cusz +fpzip +hdf5 +libdistributed +lua +openmp +python +sz +sz3 +unix +zfp +json +remote +netcdf +mgard # mgard: - libquo - libunwind - mercury - metall - mfem - - mgard +serial +openmp +timing +unstructured ~cuda + # - mgard +serial +openmp +timing +unstructured ~cuda # mgard - mpark-variant - mpifileutils ~xattr - nccmp @@ -118,7 +117,7 @@ spack: - netlib-scalapack - omega-h - openmpi - - openpmd-api + - openpmd-api ^adios2~mgard - papi - papyrus - pdt From 4495e0341d37da0545ff86c58c66219fde00f65d Mon Sep 17 00:00:00 2001 From: "John W. Parent" <45471568+johnwparent@users.noreply.github.com> Date: Thu, 14 Mar 2024 21:08:38 -0400 Subject: [PATCH 066/155] Clingo bootstrapping: Remove msvc constraint (#43199) Patch allowing Clingo to build with VS22 has landed both in Spack and Clingo upstream, update Spack's bootstrap constraints to handle this. Additionally, properly scope the patch application in the clingo package to handle upstream patch. --- lib/spack/spack/bootstrap/_common.py | 3 --- var/spack/repos/builtin/packages/clingo/package.py | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/spack/spack/bootstrap/_common.py b/lib/spack/spack/bootstrap/_common.py index 08bb9377b7c325..2ce53d31652441 100644 --- a/lib/spack/spack/bootstrap/_common.py +++ b/lib/spack/spack/bootstrap/_common.py @@ -213,9 +213,6 @@ def _root_spec(spec_str: str) -> str: platform = str(spack.platforms.host()) if platform == "darwin": spec_str += " %apple-clang" - elif platform == "windows": - # TODO (johnwparent): Remove version constraint when clingo patch is up - spec_str += " %msvc@:19.37" elif platform == "linux": spec_str += " %gcc" elif platform == "freebsd": diff --git a/var/spack/repos/builtin/packages/clingo/package.py b/var/spack/repos/builtin/packages/clingo/package.py index 65fa2c56c859b2..8ef318b81d26f1 100644 --- a/var/spack/repos/builtin/packages/clingo/package.py +++ b/var/spack/repos/builtin/packages/clingo/package.py @@ -75,7 +75,7 @@ class Clingo(CMakePackage): patch("python38.patch", when="@5.3:5.4.0") patch("size-t.patch", when="%msvc") patch("vs2022.patch", when="%msvc@19.30:") - patch("clingo_msc_1938_native_handle.patch", when="%msvc@19.38:") + patch("clingo_msc_1938_native_handle.patch", when="@:5.7.0 %msvc@19.38:") # TODO: Simplify this after Spack 0.21 release. The old concretizer has problems with # py-setuptools ^python@3.6, so we only apply the distutils -> setuptools patch for Python 3.12 From 59c7ff8683ab411fc53d47b10cfe5b5c4a326a67 Mon Sep 17 00:00:00 2001 From: Greg Becker Date: Fri, 15 Mar 2024 03:01:49 -0700 Subject: [PATCH 067/155] Allow compilers to be configured in packages.yaml (#42016) Co-authored-by: becker33 --- lib/spack/docs/getting_started.rst | 49 +++++++- lib/spack/spack/bootstrap/config.py | 2 +- lib/spack/spack/cmd/compiler.py | 2 +- lib/spack/spack/compiler.py | 34 ++++++ lib/spack/spack/compilers/__init__.py | 125 ++++++++++++++++++--- lib/spack/spack/cray_manifest.py | 2 +- lib/spack/spack/environment/environment.py | 2 +- lib/spack/spack/test/cmd/compiler.py | 74 ++++++++++++ 8 files changed, 270 insertions(+), 20 deletions(-) diff --git a/lib/spack/docs/getting_started.rst b/lib/spack/docs/getting_started.rst index d7f913d646fcb8..ab9c274e0148c1 100644 --- a/lib/spack/docs/getting_started.rst +++ b/lib/spack/docs/getting_started.rst @@ -250,9 +250,10 @@ Compiler configuration Spack has the ability to build packages with multiple compilers and compiler versions. Compilers can be made available to Spack by -specifying them manually in ``compilers.yaml``, or automatically by -running ``spack compiler find``, but for convenience Spack will -automatically detect compilers the first time it needs them. +specifying them manually in ``compilers.yaml`` or ``packages.yaml``, +or automatically by running ``spack compiler find``, but for +convenience Spack will automatically detect compilers the first time +it needs them. .. _cmd-spack-compilers: @@ -457,6 +458,48 @@ specification. The operations available to modify the environment are ``set``, ` prepend_path: # Similar for append|remove_path LD_LIBRARY_PATH: /ld/paths/added/by/setvars/sh +.. note:: + + Spack is in the process of moving compilers from a separate + attribute to be handled like all other packages. As part of this + process, the ``compilers.yaml`` section will eventually be replaced + by configuration in the ``packages.yaml`` section. This new + configuration is now available, although it is not yet the default + behavior. + +Compilers can also be configured as external packages in the +``packages.yaml`` config file. Any external package for a compiler +(e.g. ``gcc`` or ``llvm``) will be treated as a configured compiler +assuming the paths to the compiler executables are determinable from +the prefix. + +If the paths to the compiler executable are not determinable from the +prefix, you can add them to the ``extra_attributes`` field. Similarly, +all other fields from the compilers config can be added to the +``extra_attributes`` field for an external representing a compiler. + +.. code-block:: yaml + + packages: + gcc: + external: + - spec: gcc@12.2.0 arch=linux-rhel8-skylake + prefix: /usr + extra_attributes: + environment: + set: + GCC_ROOT: /usr + external: + - spec: llvm+clang@15.0.0 arch=linux-rhel8-skylake + prefix: /usr + extra_attributes: + paths: + cc: /usr/bin/clang-with-suffix + cxx: /usr/bin/clang++-with-extra-info + fc: /usr/bin/gfortran + f77: /usr/bin/gfortran + extra_rpaths: + - /usr/lib/llvm/ ^^^^^^^^^^^^^^^^^^^^^^^ Build Your Own Compiler diff --git a/lib/spack/spack/bootstrap/config.py b/lib/spack/spack/bootstrap/config.py index 10c5a3db4b1cec..8cba750fc59eda 100644 --- a/lib/spack/spack/bootstrap/config.py +++ b/lib/spack/spack/bootstrap/config.py @@ -147,7 +147,7 @@ def _add_compilers_if_missing() -> None: mixed_toolchain=sys.platform == "darwin" ) if new_compilers: - spack.compilers.add_compilers_to_config(new_compilers, init_config=False) + spack.compilers.add_compilers_to_config(new_compilers) @contextlib.contextmanager diff --git a/lib/spack/spack/cmd/compiler.py b/lib/spack/spack/cmd/compiler.py index 006c6a79a75d9c..860f0a9ee0b91c 100644 --- a/lib/spack/spack/cmd/compiler.py +++ b/lib/spack/spack/cmd/compiler.py @@ -89,7 +89,7 @@ def compiler_find(args): paths, scope=None, mixed_toolchain=args.mixed_toolchain ) if new_compilers: - spack.compilers.add_compilers_to_config(new_compilers, scope=args.scope, init_config=False) + spack.compilers.add_compilers_to_config(new_compilers, scope=args.scope) n = len(new_compilers) s = "s" if n > 1 else "" diff --git a/lib/spack/spack/compiler.py b/lib/spack/spack/compiler.py index d735845d86ddaa..15c11995a7ce45 100644 --- a/lib/spack/spack/compiler.py +++ b/lib/spack/spack/compiler.py @@ -334,6 +334,40 @@ def __init__( # used for version checks for API, e.g. C++11 flag self._real_version = None + def __eq__(self, other): + return ( + self.cc == other.cc + and self.cxx == other.cxx + and self.fc == other.fc + and self.f77 == other.f77 + and self.spec == other.spec + and self.operating_system == other.operating_system + and self.target == other.target + and self.flags == other.flags + and self.modules == other.modules + and self.environment == other.environment + and self.extra_rpaths == other.extra_rpaths + and self.enable_implicit_rpaths == other.enable_implicit_rpaths + ) + + def __hash__(self): + return hash( + ( + self.cc, + self.cxx, + self.fc, + self.f77, + self.spec, + self.operating_system, + self.target, + str(self.flags), + str(self.modules), + str(self.environment), + str(self.extra_rpaths), + self.enable_implicit_rpaths, + ) + ) + def verify_executables(self): """Raise an error if any of the compiler executables is not valid. diff --git a/lib/spack/spack/compilers/__init__.py b/lib/spack/spack/compilers/__init__.py index 1aa0b6a74e91d1..9b73028b127838 100644 --- a/lib/spack/spack/compilers/__init__.py +++ b/lib/spack/spack/compilers/__init__.py @@ -109,7 +109,7 @@ def _to_dict(compiler): return {"compiler": d} -def get_compiler_config(scope=None, init_config=True): +def get_compiler_config(scope=None, init_config=False): """Return the compiler configuration for the specified architecture.""" config = spack.config.get("compilers", scope=scope) or [] @@ -118,6 +118,8 @@ def get_compiler_config(scope=None, init_config=True): merged_config = spack.config.get("compilers") if merged_config: + # Config is empty for this scope + # Do not init config because there is a non-empty scope return config _init_compiler_config(scope=scope) @@ -125,6 +127,95 @@ def get_compiler_config(scope=None, init_config=True): return config +def get_compiler_config_from_packages(scope=None): + """Return the compiler configuration from packages.yaml""" + config = spack.config.get("packages", scope=scope) + if not config: + return [] + + packages = [] + compiler_package_names = supported_compilers() + list(package_name_to_compiler_name.keys()) + for name, entry in config.items(): + if name not in compiler_package_names: + continue + externals_config = entry.get("externals", None) + if not externals_config: + continue + packages.extend(_compiler_config_from_package_config(externals_config)) + + return packages + + +def _compiler_config_from_package_config(config): + compilers = [] + for entry in config: + compiler = _compiler_config_from_external(entry) + if compiler: + compilers.append(compiler) + + return compilers + + +def _compiler_config_from_external(config): + spec = spack.spec.parse_with_version_concrete(config["spec"]) + # use str(spec.versions) to allow `@x.y.z` instead of `@=x.y.z` + compiler_spec = spack.spec.CompilerSpec( + package_name_to_compiler_name.get(spec.name, spec.name), spec.version + ) + + extra_attributes = config.get("extra_attributes", {}) + prefix = config.get("prefix", None) + + compiler_class = class_for_compiler_name(compiler_spec.name) + paths = extra_attributes.get("paths", {}) + compiler_langs = ["cc", "cxx", "fc", "f77"] + for lang in compiler_langs: + if paths.setdefault(lang, None): + continue + + if not prefix: + continue + + # Check for files that satisfy the naming scheme for this compiler + bindir = os.path.join(prefix, "bin") + for f, regex in itertools.product(os.listdir(bindir), compiler_class.search_regexps(lang)): + if regex.match(f): + paths[lang] = os.path.join(bindir, f) + + if all(v is None for v in paths.values()): + return None + + if not spec.architecture: + host_platform = spack.platforms.host() + operating_system = host_platform.operating_system("default_os") + target = host_platform.target("default_target").microarchitecture + else: + target = spec.target + if not target: + host_platform = spack.platforms.host() + target = host_platform.target("default_target").microarchitecture + + operating_system = spec.os + if not operating_system: + host_platform = spack.platforms.host() + operating_system = host_platform.operating_system("default_os") + + compiler_entry = { + "compiler": { + "spec": str(compiler_spec), + "paths": paths, + "flags": extra_attributes.get("flags", {}), + "operating_system": str(operating_system), + "target": str(target.family), + "modules": config.get("modules", []), + "environment": extra_attributes.get("environment", {}), + "extra_rpaths": extra_attributes.get("extra_rpaths", []), + "implicit_rpaths": extra_attributes.get("implicit_rpaths", None), + } + } + return compiler_entry + + def _init_compiler_config(*, scope): """Compiler search used when Spack has no compilers.""" compilers = find_compilers() @@ -142,17 +233,20 @@ def compiler_config_files(): compiler_config = config.get("compilers", scope=name) if compiler_config: config_files.append(config.get_config_filename(name, "compilers")) + compiler_config_from_packages = get_compiler_config_from_packages(scope=name) + if compiler_config_from_packages: + config_files.append(config.get_config_filename(name, "packages")) return config_files -def add_compilers_to_config(compilers, scope=None, init_config=True): +def add_compilers_to_config(compilers, scope=None): """Add compilers to the config for the specified architecture. Arguments: compilers: a list of Compiler objects. scope: configuration scope to modify. """ - compiler_config = get_compiler_config(scope, init_config) + compiler_config = get_compiler_config(scope, init_config=False) for compiler in compilers: if not compiler.cc: tty.debug(f"{compiler.spec} does not have a C compiler") @@ -184,6 +278,9 @@ def remove_compiler_from_config(compiler_spec, scope=None): for current_scope in candidate_scopes: removal_happened |= _remove_compiler_from_scope(compiler_spec, scope=current_scope) + msg = "`spack compiler remove` will not remove compilers defined in packages.yaml" + msg += "\nTo remove these compilers, either edit the config or use `spack external remove`" + tty.debug(msg) return removal_happened @@ -198,7 +295,7 @@ def _remove_compiler_from_scope(compiler_spec, scope): True if one or more compiler entries were actually removed, False otherwise """ assert scope is not None, "a specific scope is needed when calling this function" - compiler_config = get_compiler_config(scope) + compiler_config = get_compiler_config(scope, init_config=False) filtered_compiler_config = [ compiler_entry for compiler_entry in compiler_config @@ -221,7 +318,14 @@ def all_compilers_config(scope=None, init_config=True): """Return a set of specs for all the compiler versions currently available to build with. These are instances of CompilerSpec. """ - return get_compiler_config(scope, init_config) + from_packages_yaml = get_compiler_config_from_packages(scope) + if from_packages_yaml: + init_config = False + from_compilers_yaml = get_compiler_config(scope, init_config) + + result = from_compilers_yaml + from_packages_yaml + key = lambda c: _compiler_from_config_entry(c["compiler"]) + return list(llnl.util.lang.dedupe(result, key=key)) def all_compiler_specs(scope=None, init_config=True): @@ -388,7 +492,7 @@ def find_specs_by_arch(compiler_spec, arch_spec, scope=None, init_config=True): def all_compilers(scope=None, init_config=True): - config = get_compiler_config(scope, init_config=init_config) + config = all_compilers_config(scope, init_config=init_config) compilers = list() for items in config: items = items["compiler"] @@ -403,10 +507,7 @@ def compilers_for_spec( """This gets all compilers that satisfy the supplied CompilerSpec. Returns an empty list if none are found. """ - if use_cache: - config = all_compilers_config(scope, init_config) - else: - config = get_compiler_config(scope, init_config) + config = all_compilers_config(scope, init_config) matches = set(find(compiler_spec, scope, init_config)) compilers = [] @@ -583,9 +684,7 @@ def get_compiler_duplicates(compiler_spec, arch_spec): scope_to_compilers = {} for scope in config.scopes: - compilers = compilers_for_spec( - compiler_spec, arch_spec=arch_spec, scope=scope, use_cache=False - ) + compilers = compilers_for_spec(compiler_spec, arch_spec=arch_spec, scope=scope) if compilers: scope_to_compilers[scope] = compilers diff --git a/lib/spack/spack/cray_manifest.py b/lib/spack/spack/cray_manifest.py index eb26b3e6b99ac3..22371f68f27498 100644 --- a/lib/spack/spack/cray_manifest.py +++ b/lib/spack/spack/cray_manifest.py @@ -227,7 +227,7 @@ def read(path, apply_updates): if apply_updates and compilers: for compiler in compilers: try: - spack.compilers.add_compilers_to_config([compiler], init_config=False) + spack.compilers.add_compilers_to_config([compiler]) except Exception: warnings.warn( f"Could not add compiler {str(compiler.spec)}: " diff --git a/lib/spack/spack/environment/environment.py b/lib/spack/spack/environment/environment.py index 727b46d04878ff..ed59b5cdf1340c 100644 --- a/lib/spack/spack/environment/environment.py +++ b/lib/spack/spack/environment/environment.py @@ -1427,7 +1427,7 @@ def _concretize_separately(self, tests=False): # Ensure we have compilers in compilers.yaml to avoid that # processes try to write the config file in parallel - _ = spack.compilers.get_compiler_config() + _ = spack.compilers.get_compiler_config(init_config=True) # Early return if there is nothing to do if len(args) == 0: diff --git a/lib/spack/spack/test/cmd/compiler.py b/lib/spack/spack/test/cmd/compiler.py index 3a8c662a5e8aac..849b9e70184e2a 100644 --- a/lib/spack/spack/test/cmd/compiler.py +++ b/lib/spack/spack/test/cmd/compiler.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) import os import shutil +import sys import pytest @@ -247,3 +248,76 @@ def test_compiler_list_empty(no_compilers_yaml, working_env, compilers_dir): out = compiler("list") assert not out assert compiler.returncode == 0 + + +@pytest.mark.parametrize( + "external,expected", + [ + ( + { + "spec": "gcc@=7.7.7 os=foobar target=x86_64", + "prefix": "/path/to/fake", + "modules": ["gcc/7.7.7", "foobar"], + "extra_attributes": { + "paths": { + "cc": "/path/to/fake/gcc", + "cxx": "/path/to/fake/g++", + "fc": "/path/to/fake/gfortran", + "f77": "/path/to/fake/gfortran", + }, + "flags": {"fflags": "-ffree-form"}, + }, + }, + """gcc@7.7.7: +\tpaths: +\t\tcc = /path/to/fake/gcc +\t\tcxx = /path/to/fake/g++ +\t\tf77 = /path/to/fake/gfortran +\t\tfc = /path/to/fake/gfortran +\tflags: +\t\tfflags = ['-ffree-form'] +\tmodules = ['gcc/7.7.7', 'foobar'] +\toperating system = foobar +""", + ), + ( + { + "spec": "gcc@7.7.7", + "prefix": "{prefix}", + "modules": ["gcc/7.7.7", "foobar"], + "extra_attributes": {"flags": {"fflags": "-ffree-form"}}, + }, + """gcc@7.7.7: +\tpaths: +\t\tcc = {compilers_dir}{sep}gcc-8{suffix} +\t\tcxx = {compilers_dir}{sep}g++-8{suffix} +\t\tf77 = {compilers_dir}{sep}gfortran-8{suffix} +\t\tfc = {compilers_dir}{sep}gfortran-8{suffix} +\tflags: +\t\tfflags = ['-ffree-form'] +\tmodules = ['gcc/7.7.7', 'foobar'] +\toperating system = debian6 +""", + ), + ], +) +def test_compilers_shows_packages_yaml( + external, expected, no_compilers_yaml, working_env, compilers_dir +): + """Spack should see a single compiler defined from packages.yaml""" + external["prefix"] = external["prefix"].format(prefix=os.path.dirname(compilers_dir)) + gcc_entry = {"externals": [external]} + + packages = spack.config.get("packages") + packages["gcc"] = gcc_entry + spack.config.set("packages", packages) + + out = compiler("list") + assert out.count("gcc@7.7.7") == 1 + + out = compiler("info", "gcc@7.7.7") + assert out == expected.format( + compilers_dir=str(compilers_dir), + sep=os.sep, + suffix=".bat" if sys.platform == "win32" else "", + ) From 6f7f9528e50f794713752df889d24ffb632d3183 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Fri, 15 Mar 2024 11:25:56 +0100 Subject: [PATCH 068/155] cray-rhel: add a lower bound to mgard (#43187) --- .../gitlab/cloud_pipelines/stacks/e4s-cray-rhel/spack.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-rhel/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-rhel/spack.yaml index 491289b3af3a4e..c8146cef60fd18 100644 --- a/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-rhel/spack.yaml +++ b/share/spack/gitlab/cloud_pipelines/stacks/e4s-cray-rhel/spack.yaml @@ -41,6 +41,9 @@ spack: variants: fabrics=sockets,tcp,udp,rxm libunwind: variants: +pic +xz + mgard: + require: + - "@2023-01-10:" mpich: variants: ~wrapperrpath ncurses: From f58ebd4fbb1e68ba4a06d37d95b71d7ef41f03c8 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Fri, 15 Mar 2024 08:58:36 -0500 Subject: [PATCH 069/155] pandora{pfa,sdk,monitoring}: new HEP package for particle flow analysis (#37714) * pandorapfa: new package * pandorasdk: new package * [@spackbot] updating style on behalf of wdconinc * pandorasdk: use self.define * pandoramonitoring: new package * pandorasdk: new version 3.4.2 * pandora{pfa,sdk,monitoring}: add maintainer jmcarcell Co-authored-by: Juan Miguel Carceller <22276694+jmcarcell@users.noreply.github.com> * pandora{pfa,sdk,monitoring}: add maintainer jmcarcell Co-authored-by: Juan Miguel Carceller <22276694+jmcarcell@users.noreply.github.com> * pandora{pfa,sdk,monitoring}: add maintainer jmcarcell Co-authored-by: Juan Miguel Carceller <22276694+jmcarcell@users.noreply.github.com> --------- Co-authored-by: wdconinc Co-authored-by: Juan Miguel Carceller <22276694+jmcarcell@users.noreply.github.com> --- .../packages/pandoramonitoring/package.py | 43 +++++++++++++ .../builtin/packages/pandorapfa/package.py | 62 +++++++++++++++++++ .../builtin/packages/pandorasdk/package.py | 46 ++++++++++++++ 3 files changed, 151 insertions(+) create mode 100644 var/spack/repos/builtin/packages/pandoramonitoring/package.py create mode 100644 var/spack/repos/builtin/packages/pandorapfa/package.py create mode 100644 var/spack/repos/builtin/packages/pandorasdk/package.py diff --git a/var/spack/repos/builtin/packages/pandoramonitoring/package.py b/var/spack/repos/builtin/packages/pandoramonitoring/package.py new file mode 100644 index 00000000000000..df7599c0a59c05 --- /dev/null +++ b/var/spack/repos/builtin/packages/pandoramonitoring/package.py @@ -0,0 +1,43 @@ +# 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 Pandoramonitoring(CMakePackage): + """Metadata package to bring together and build multiple Pandora libraries. + NOTE: for proper version control with spack, this should be broken up and + the subpackages installed individually.""" + + url = "https://github.com/PandoraPFA/PandoraMonitoring/archive/v03-04-00.tar.gz" + homepage = "https://github.com/PandoraPFA/PandoraMonitoring" + git = "https://github.com/PandoraPFA/PandoraMonitoring.git" + + tags = ["hep"] + + maintainers("jmcarcell", "wdconinc") + + version("master", branch="master") + version("3.5.0", sha256="274562abb7c797194634d5460a56227444a1de07a240c88ae35ca806abcbaf60") + + depends_on("root@6.18.04: +x +opengl") + depends_on("pandorasdk") + + def cmake_args(self): + args = [ + self.define("CMAKE_MODULE_PATH", self.spec["pandorapfa"].prefix.cmakemodules), + self.define("CMAKE_CXX_FLAGS", "-std=c++17"), + ] + return args + + def url_for_version(self, version): + # contrary to iLCSoft packages, here the patch version is kept when 0 + base_url = self.url[: self.url.rfind("/")] + major = str(version[0]).zfill(2) + minor = str(version[1]).zfill(2) + patch = str(version[2]).zfill(2) + url = base_url + "/v%s-%s-%s.tar.gz" % (major, minor, patch) + return url diff --git a/var/spack/repos/builtin/packages/pandorapfa/package.py b/var/spack/repos/builtin/packages/pandorapfa/package.py new file mode 100644 index 00000000000000..7498e34cd4d55a --- /dev/null +++ b/var/spack/repos/builtin/packages/pandorapfa/package.py @@ -0,0 +1,62 @@ +# 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 Pandorapfa(Package): + """Metadata package to bring together and build multiple Pandora libraries. + NOTE: this recipe is not used to install other pandora packages, for which + separate recipes exist. It only installs the cmakemodules directory.""" + + url = "https://github.com/PandoraPFA/PandoraPFA/archive/v03-14-00.tar.gz" + homepage = "https://github.com/PandoraPFA/PandoraPFA" + git = "https://github.com/PandoraPFA/PandoraPFA.git" + + tags = ["hep"] + + maintainers("jmcarcell", "wdconinc") + + version("master", branch="master") + version("4.3.1", sha256="2f4757a6ed2e10d3effc300b330f67ba13c499dbf21ba720b29b50527332fcdb") + version("4.3.0", sha256="a794022c33b3a5afc1272740ac385e0c4ab96a112733012e7dfcbe80b5a3b445") + version("4.2.1", sha256="1d262417748d18e00466ae3f1714ab0d7452e903bd1430773a72c652cf4666e4") + version("4.2.0", sha256="5c1030db6047b2d6cef6b534a98f5293e0f97f8e35e92f254f2a61b4a20f5cee") + version("4.0.0", sha256="80fdb60ac53ebada9d6ed2c6d0cefe79174586ce82e2e3bee7eefb4dbacbfba3") + version("3.25.3", sha256="b390d85ef8081e3fe090862b084298344fc2a6f3c67e29cb4f2cdced7fa25628") + version("3.25.2", sha256="43eb43fd25bcba95ca391aa349058a3946551771e4373862a7b1a328cbfe3f4d") + version("3.25.1", sha256="dc1b4e910d27bc892be72a66696034bf63f9e5f4aa07d8c1799677b1a8261645") + version("3.24.0", sha256="a5a9d091e032a3bbdb383eb3bc5609fd3e57367907f3d07e3270f21ef6758074") + version("3.21.01", sha256="36dd20235d924b975c167a450943d5f70c9e76d95eea0f55c68b0eead6c99e47") + version("3.21.00", sha256="c36070916691bd4137a6a21aced2efd730cfe31a17819cf94511351b6edfec8d") + version("3.20.05", sha256="dae829821dbc4d662818f5593e9899b482878c993c4fdebcd6e7bfd4b6e0a9fe") + version("3.20.04", sha256="6ccec85d1c89e75a941dafd75fccba7ef205f44a79508d9deeca03337cd084aa") + version("3.20.03", sha256="3a7609f12f6da279e6dbef07986aa7128f4bd9876c80eaa44a1af089694c1f43") + version("3.20.02", sha256="f1afcd204890a0a5c26b192d36428581770d5855ee54db51b69b7a2c5ac0b944") + version("3.20.01", sha256="bd8862de38b972d27a802f1e69fee000fe8dd14e85fa10709ce9f897122ade13") + version("3.20.00", sha256="510998cb984fdbcb38b46711bef475df44dd04c5d72a083c4d28b1d5757e0539") + version("3.19.12", sha256="a908a93fbfada1faea605aad49082d5fd8b4c4d387658975313fb1441a15ae55") + version("3.19.11", sha256="c426324ca0be497619185ee066e62758d071672ce5402350bfe40eff91c9565d") + version("3.19.9", sha256="96e68f455989d523343cdd0513019c9cd9486bcc417962e80b6ffcc7daa3b78d") + version("3.14.0", sha256="1490f2504bdbd2960cba35fc552b762e3842d77ed5227f84ddabfde546fe6810") + + def install(self, a, b): + install_tree("cmakemodules", self.prefix.cmakemodules) + + def url_for_version(self, version): + # contrary to iLCSoft packages, here the patch version is kept when 0 + base_url = self.url[: self.url.rfind("/")] + major = str(version[0]).zfill(2) + minor = str(version[1]).zfill(2) + patch = str(version[2]).zfill(2) + url = base_url + "/v%s-%s-%s.tar.gz" % (major, minor, patch) + return url + + def setup_dependent_build_environment(self, env, dependent_spec): + env.set("PANDORAPFA", self.prefix) + + def setup_run_environment(self, env): + env.set("PANDORAPFA", self.prefix) diff --git a/var/spack/repos/builtin/packages/pandorasdk/package.py b/var/spack/repos/builtin/packages/pandorasdk/package.py new file mode 100644 index 00000000000000..2f4d3be357a5e7 --- /dev/null +++ b/var/spack/repos/builtin/packages/pandorasdk/package.py @@ -0,0 +1,46 @@ +# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + + +from spack.package import * + + +class Pandorasdk(CMakePackage): + """Metadata package to bring together and build multiple Pandora libraries. + NOTE: for proper version control with spack, this should be broken up and + the subpackages installed individually.""" + + url = "https://github.com/PandoraPFA/PandoraSDK/archive/v03-04-00.tar.gz" + homepage = "https://github.com/PandoraPFA/PandoraSDK" + git = "https://github.com/PandoraPFA/PandoraSDK.git" + + tags = ["hep"] + + maintainers("jmcarcell", "wdconinc") + + version("master", branch="master") + version("3.4.2", sha256="e076adb2e3d28d3ac5dcc06bcc6e96815d23ef7782e1a87842b1e3e96e194994") + version("3.4.1", sha256="9607bf52a9d79d88d28c45d4f3336e066338b36ab81b4d2d125226f4ad3a7aaf") + version("3.4.0", sha256="1e30db056d4a43f8659fccdda00270af14593425d933f91e91d5c97f1e124c6b") + + depends_on("pandorapfa") + + def cmake_args(self): + args = [ + self.define("LC_PANDORA_CONTENT", True), + self.define("LAR_PANDORA_CONTENT", True), + self.define("CMAKE_MODULE_PATH", self.spec["pandorapfa"].prefix.cmakemodules), + self.define("CMAKE_CXX_FLAGS", "-std=c++17"), + ] + return args + + def url_for_version(self, version): + # contrary to iLCSoft packages, here the patch version is kept when 0 + base_url = self.url[: self.url.rfind("/")] + major = str(version[0]).zfill(2) + minor = str(version[1]).zfill(2) + patch = str(version[2]).zfill(2) + url = base_url + "/v%s-%s-%s.tar.gz" % (major, minor, patch) + return url From b93882804f537f308930a86e771ca97781b45bfd Mon Sep 17 00:00:00 2001 From: "Jose E. Roman" Date: Fri, 15 Mar 2024 17:51:08 +0100 Subject: [PATCH 070/155] New patch release SLEPc 3.20.2 (#43211) --- var/spack/repos/builtin/packages/py-slepc4py/package.py | 1 + var/spack/repos/builtin/packages/slepc/package.py | 1 + 2 files changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-slepc4py/package.py b/var/spack/repos/builtin/packages/py-slepc4py/package.py index d987cc3d4c9b9b..91763a868876e5 100644 --- a/var/spack/repos/builtin/packages/py-slepc4py/package.py +++ b/var/spack/repos/builtin/packages/py-slepc4py/package.py @@ -18,6 +18,7 @@ class PySlepc4py(PythonPackage): license("BSD-2-Clause") version("main", branch="main") + version("3.20.2", sha256="89ebd1964edd0eb63d4dbfa977d6f35408f4e19a3da290696fd1197901544bd8") version("3.20.1", sha256="7e6d156f7b0891bfa0616b38a502460c62797f16ca146b321e16cce4cf139d07") version("3.20.0", sha256="56cbea1f56746136e5a934bf4a481e566f35e475cb950c0a5bce7d5c3cc7690a") version("3.19.2", sha256="da8b6a7aaaf5e4497b896b2e478c42dd9de4fb31da93eb294181bea3bb60c767") diff --git a/var/spack/repos/builtin/packages/slepc/package.py b/var/spack/repos/builtin/packages/slepc/package.py index 3b88b858e3ebf6..be22b6ce7fa5a4 100644 --- a/var/spack/repos/builtin/packages/slepc/package.py +++ b/var/spack/repos/builtin/packages/slepc/package.py @@ -22,6 +22,7 @@ class Slepc(Package, CudaPackage, ROCmPackage): test_requires_compiler = True version("main", branch="main") + version("3.20.2", sha256="125258c87360e326675238eaeb21ce2fbb3f27f4eeb1c72062043931aea05493") version("3.20.1", sha256="5a36b664895881d3858d0644f56bf7bb922bdab70d732fa11cbf6442fec11806") version("3.20.0", sha256="780c50260a9bc9b72776cb920774800c73832370938f1d48c2ea5c66d31b7380") version("3.19.2", sha256="ca7ed906795971fbe35f08ee251a26b86a4442a18609b878cba00835c9d62034") From 968ad02473b12f6305cc1fe19f2a0d706f171154 Mon Sep 17 00:00:00 2001 From: "Seth R. Johnson" Date: Fri, 15 Mar 2024 14:22:08 -0400 Subject: [PATCH 071/155] geant4: patch old versions to work on new compiler/ubuntu (#43212) * geant4: patch old version for %clang@15 * Backport ascii-V10-07-03 * Apply to all compilers, but only for 10.5-10.6 --- .../builtin/packages/geant4/geant4-10.6.patch | 98 +++++++++++++++++++ .../repos/builtin/packages/geant4/package.py | 3 + 2 files changed, 101 insertions(+) create mode 100644 var/spack/repos/builtin/packages/geant4/geant4-10.6.patch diff --git a/var/spack/repos/builtin/packages/geant4/geant4-10.6.patch b/var/spack/repos/builtin/packages/geant4/geant4-10.6.patch new file mode 100644 index 00000000000000..81e8be34ff98cb --- /dev/null +++ b/var/spack/repos/builtin/packages/geant4/geant4-10.6.patch @@ -0,0 +1,98 @@ +From b19a720a77d6661662f5dd440d9bb7fb6dadd9fb Mon Sep 17 00:00:00 2001 +From: Seth R Johnson +Date: Wed, 13 Mar 2024 14:43:37 -0400 +Subject: [PATCH] Backport ascii-V10-07-03 + +--- + .../persistency/ascii/src/G4tgrEvaluator.cc | 72 +++++++++---------- + 1 file changed, 36 insertions(+), 36 deletions(-) + +diff --git a/source/persistency/ascii/src/G4tgrEvaluator.cc b/source/persistency/ascii/src/G4tgrEvaluator.cc +index 9447ede9910..f20f3ca3404 100644 +--- a/source/persistency/ascii/src/G4tgrEvaluator.cc ++++ b/source/persistency/ascii/src/G4tgrEvaluator.cc +@@ -63,45 +63,45 @@ void G4tgrEvaluator::print_error( G4int estatus ) const + } + } + +-G4double fsin( G4double arg ){ return std::sin(arg); } +-G4double fcos( G4double arg ){ return std::cos(arg); } +-G4double ftan( G4double arg ){ return std::tan(arg); } +-G4double fasin( G4double arg ){ return std::asin(arg); } +-G4double facos( G4double arg ){ return std::acos(arg); } +-G4double fatan( G4double arg ){ return std::atan(arg); } +-G4double fatan2( G4double arg1, G4double arg2 ){ return std::atan2(arg1,arg2); } +-G4double fsinh( G4double arg ){ return std::sinh(arg); } +-G4double fcosh( G4double arg ){ return std::cosh(arg); } +-G4double ftanh( G4double arg ){ return std::tanh(arg); } +-// G4double fasinh( G4double arg ){ return std::asinh(arg); } +-// G4double facosh( G4double arg ){ return std::acosh(arg); } +-// G4double fatanh( G4double arg ){ return std::atanh(arg); } +-G4double fsqrt( G4double arg ){ return std::sqrt(arg); } +-G4double fexp( G4double arg ){ return std::exp(arg); } +-G4double flog( G4double arg ){ return std::log(arg); } +-G4double flog10( G4double arg ){ return std::log10(arg); } +-G4double fpow( G4double arg1, G4double arg2 ){ return std::pow(arg1,arg2); } ++G4double fltsin( G4double arg ){ return std::sin(arg); } ++G4double fltcos( G4double arg ){ return std::cos(arg); } ++G4double flttan( G4double arg ){ return std::tan(arg); } ++G4double fltasin( G4double arg ){ return std::asin(arg); } ++G4double fltacos( G4double arg ){ return std::acos(arg); } ++G4double fltatan( G4double arg ){ return std::atan(arg); } ++G4double fltatan2( G4double arg1, G4double arg2 ){ return std::atan2(arg1,arg2); } ++G4double fltsinh( G4double arg ){ return std::sinh(arg); } ++G4double fltcosh( G4double arg ){ return std::cosh(arg); } ++G4double flttanh( G4double arg ){ return std::tanh(arg); } ++// G4double fltasinh( G4double arg ){ return std::asinh(arg); } ++// G4double fltacosh( G4double arg ){ return std::acosh(arg); } ++// G4double fltatanh( G4double arg ){ return std::atanh(arg); } ++G4double fltsqrt( G4double arg ){ return std::sqrt(arg); } ++G4double fltexp( G4double arg ){ return std::exp(arg); } ++G4double fltlog( G4double arg ){ return std::log(arg); } ++G4double fltlog10( G4double arg ){ return std::log10(arg); } ++G4double fltpow( G4double arg1, G4double arg2 ){ return std::pow(arg1,arg2); } + + + //-------------------------------------------------------------------- + void G4tgrEvaluator::AddCommonFunctions() + { +- setFunction("sin", (*fsin)); +- setFunction("cos", (*fcos)); +- setFunction("tan", (*ftan)); +- setFunction("asin", (*fasin)); +- setFunction("acos", (*facos)); +- setFunction("atan", (*fatan)); +- setFunction("atan2", (*fatan2)); +- setFunction("sinh", (*fsinh)); +- setFunction("cosh", (*fcosh)); +- setFunction("tanh", (*ftanh)); +-// setFunction("asinh", (*fasinh)); +-// setFunction("acosh", (*facosh)); +-// setFunction("atanh", (*fatanh)); +- setFunction("sqrt", (*fsqrt)); +- setFunction("exp", (*fexp)); +- setFunction("log", (*flog)); +- setFunction("log10", (*flog10)); +- setFunction("pow", (*fpow)); ++ setFunction("sin", (*fltsin)); ++ setFunction("cos", (*fltcos)); ++ setFunction("tan", (*flttan)); ++ setFunction("asin", (*fltasin)); ++ setFunction("acos", (*fltacos)); ++ setFunction("atan", (*fltatan)); ++ setFunction("atan2", (*fltatan2)); ++ setFunction("sinh", (*fltsinh)); ++ setFunction("cosh", (*fltcosh)); ++ setFunction("tanh", (*flttanh)); ++// setFunction("asinh", (*fltasinh)); ++// setFunction("acosh", (*fltacosh)); ++// setFunction("atanh", (*fltatanh)); ++ setFunction("sqrt", (*fltsqrt)); ++ setFunction("exp", (*fltexp)); ++ setFunction("log", (*fltlog)); ++ setFunction("log10", (*fltlog10)); ++ setFunction("pow", (*fltpow)); + } +-- +2.43.0 + diff --git a/var/spack/repos/builtin/packages/geant4/package.py b/var/spack/repos/builtin/packages/geant4/package.py index c17322d34ea818..b6d1400422f4e2 100644 --- a/var/spack/repos/builtin/packages/geant4/package.py +++ b/var/spack/repos/builtin/packages/geant4/package.py @@ -160,6 +160,9 @@ def std_when(values): # As released, 10.03.03 has issues with respect to using external # CLHEP. patch("CLHEP-10.03.03.patch", level=1, when="@10.3") + # Build failure on clang 15, ubuntu 22: see Geant4 problem report #2444 + # fixed by ascii-V10-07-03 + patch("geant4-10.6.patch", level=1, when="@10.5:10.6") # These patches can be applied independent of the cxxstd value? patch("cxx17.patch", when="@10.3 cxxstd=17") patch("cxx17_geant4_10_0.patch", level=1, when="@10.4.0 cxxstd=17") From 6d2341c109b6a3879396e81496d02f787df38d68 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Sat, 16 Mar 2024 00:09:17 +0100 Subject: [PATCH 072/155] py-black: add v24.3.0 (#43226) --- var/spack/repos/builtin/packages/py-black/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-black/package.py b/var/spack/repos/builtin/packages/py-black/package.py index 8ef0e5efd363a4..17bae601c39aaa 100644 --- a/var/spack/repos/builtin/packages/py-black/package.py +++ b/var/spack/repos/builtin/packages/py-black/package.py @@ -19,6 +19,7 @@ class PyBlack(PythonPackage): license("MIT", checked_by="tgamblin") + version("24.3.0", sha256="a0c9c4a0771afc6919578cec71ce82a3e31e054904e7197deacbc9382671c41f") version("24.2.0", sha256="bce4f25c27c3435e4dace4815bcb2008b87e167e3bf4ee47ccdc5ce906eb4894") version("24.1.1", sha256="48b5760dcbfe5cf97fd4fba23946681f3a81514c6ab8a45b50da67ac8fbc6c7b") version("24.1.0", sha256="30fbf768cd4f4576598b1db0202413fafea9a227ef808d1a12230c643cefe9fc") From e78d20dc8439ea47f88aaff511df2780608c62c2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 15 Mar 2024 16:09:59 -0700 Subject: [PATCH 073/155] build(deps): bump black in /.github/workflows/style (#43227) Bumps [black](https://github.com/psf/black) from 24.2.0 to 24.3.0. - [Release notes](https://github.com/psf/black/releases) - [Changelog](https://github.com/psf/black/blob/main/CHANGES.md) - [Commits](https://github.com/psf/black/compare/24.2.0...24.3.0) --- updated-dependencies: - dependency-name: black dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/style/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/style/requirements.txt b/.github/workflows/style/requirements.txt index caa2a1d85c4c02..cea6026801243a 100644 --- a/.github/workflows/style/requirements.txt +++ b/.github/workflows/style/requirements.txt @@ -1,4 +1,4 @@ -black==24.2.0 +black==24.3.0 clingo==5.7.1 flake8==7.0.0 isort==5.13.2 From 96061d2c009e4f0479eb58734047f1b631385d6e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 15 Mar 2024 17:24:44 -0600 Subject: [PATCH 074/155] build(deps): bump black from 24.2.0 to 24.3.0 in /lib/spack/docs (#43228) Bumps [black](https://github.com/psf/black) from 24.2.0 to 24.3.0. - [Release notes](https://github.com/psf/black/releases) - [Changelog](https://github.com/psf/black/blob/main/CHANGES.md) - [Commits](https://github.com/psf/black/compare/24.2.0...24.3.0) --- updated-dependencies: - dependency-name: black dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lib/spack/docs/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/spack/docs/requirements.txt b/lib/spack/docs/requirements.txt index 0b3db49707e50d..457fe02f2b5c45 100644 --- a/lib/spack/docs/requirements.txt +++ b/lib/spack/docs/requirements.txt @@ -8,6 +8,6 @@ pygments==2.17.2 urllib3==2.2.1 pytest==8.1.1 isort==5.13.2 -black==24.2.0 +black==24.3.0 flake8==7.0.0 mypy==1.9.0 From 5ab10d57be4c7e970961906dab5b52144c743633 Mon Sep 17 00:00:00 2001 From: "Seth R. Johnson" Date: Sat, 16 Mar 2024 13:29:03 -0400 Subject: [PATCH 075/155] geant4: add matinainer, clean args (#43218) --- var/spack/repos/builtin/packages/geant4/package.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/var/spack/repos/builtin/packages/geant4/package.py b/var/spack/repos/builtin/packages/geant4/package.py index b6d1400422f4e2..2acab80fa21f16 100644 --- a/var/spack/repos/builtin/packages/geant4/package.py +++ b/var/spack/repos/builtin/packages/geant4/package.py @@ -20,7 +20,7 @@ class Geant4(CMakePackage): executables = ["^geant4-config$"] - maintainers("drbenmorgan") + maintainers("drbenmorgan", "sethrj") version("11.2.1", sha256="76c9093b01128ee2b45a6f4020a1bcb64d2a8141386dea4674b5ae28bcd23293") version("11.2.0", sha256="9ff544739b243a24dac8f29a4e7aab4274fc0124fd4e1c4972018213dc6991ee") @@ -265,7 +265,7 @@ def cmake_args(self): if "+threads" in spec: # Locked at global-dynamic to allow use cases that load the # geant4 libs at application runtime - options.append("-DGEANT4_BUILD_TLS_MODEL=global-dynamic") + options.append(self.define("GEANT4_BUILD_TLS_MODEL", "global-dynamic")) # Profiling options.append(self.define_from_variant("GEANT4_USE_TIMEMORY", "timemory")) @@ -283,9 +283,9 @@ def cmake_args(self): # Visualization options if "platform=darwin" not in spec: - if "+x11" in spec and "+opengl" in spec: + if "+x11 +opengl" in spec: options.append(self.define("GEANT4_USE_OPENGL_X11", True)) - if "+motif" in spec and "+opengl" in spec: + if "+motif +opengl" in spec: options.append(self.define("GEANT4_USE_XM", True)) if "+x11" in spec: options.append(self.define("GEANT4_USE_RAYTRACER_X11", True)) From 53be280681767183765a3fa5e69575a1066b6ff1 Mon Sep 17 00:00:00 2001 From: Thomas Padioleau Date: Mon, 18 Mar 2024 05:43:40 +0100 Subject: [PATCH 076/155] Remove bundled fmt (#43210) --- .../repos/builtin/packages/bear/package.py | 2 +- .../repos/builtin/packages/heyoka/package.py | 2 +- .../repos/builtin/packages/spdlog/package.py | 17 ++++++----------- 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/var/spack/repos/builtin/packages/bear/package.py b/var/spack/repos/builtin/packages/bear/package.py index 89e0bbf69b37cd..e7389a4f4cc367 100644 --- a/var/spack/repos/builtin/packages/bear/package.py +++ b/var/spack/repos/builtin/packages/bear/package.py @@ -35,7 +35,7 @@ class Bear(CMakePackage): depends_on("fmt@8", when="@3.0.0:") depends_on("grpc +shared", when="@3.0.0:") depends_on("nlohmann-json", when="@3.0.0:") - depends_on("spdlog +fmt_external", when="@3.0.0:") + depends_on("spdlog", when="@3.0.0:") depends_on("cmake@2.8:", when="@2.0.4:", type="build") depends_on("cmake@3.12:", when="@3.0.0:", type="build") depends_on("python", type="build") diff --git a/var/spack/repos/builtin/packages/heyoka/package.py b/var/spack/repos/builtin/packages/heyoka/package.py index bc325d58169cab..25dd1851faecc2 100644 --- a/var/spack/repos/builtin/packages/heyoka/package.py +++ b/var/spack/repos/builtin/packages/heyoka/package.py @@ -50,7 +50,7 @@ class Heyoka(CMakePackage): depends_on("llvm@13:17") depends_on("boost@1.69: +serialization") depends_on("fmt@9:10") - depends_on("spdlog +fmt_external") + depends_on("spdlog") depends_on("intel-tbb@2021.4.0:") # Optional dependencies diff --git a/var/spack/repos/builtin/packages/spdlog/package.py b/var/spack/repos/builtin/packages/spdlog/package.py index a1281c3ab8726a..26e0c987c35694 100644 --- a/var/spack/repos/builtin/packages/spdlog/package.py +++ b/var/spack/repos/builtin/packages/spdlog/package.py @@ -49,25 +49,20 @@ class Spdlog(CMakePackage): version("0.9.0", sha256="bbbe5a855c8b309621352921d650449eb2f741d35d55ec50fb4d8122ddfb8f01") variant("shared", default=True, description="Build shared libraries (v1.4.0+)") - variant( - "fmt_external", - default=False, - description="Build using external fmt libraries instead of bundled one", - ) depends_on("cmake@3.2:", when="@:1.7.0", type="build") depends_on("cmake@3.10:", when="@1.8.0:", type="build") - depends_on("fmt@5.3:", when="+fmt_external") - depends_on("fmt@7:", when="@1.7: +fmt_external") - depends_on("fmt@8:", when="@1.9: +fmt_external") - depends_on("fmt@9:", when="@1.11: +fmt_external") + depends_on("fmt@5.3:") + depends_on("fmt@7:", when="@1.7:") + depends_on("fmt@8:", when="@1.9:") + depends_on("fmt@9:", when="@1.11:") # spdlog@1.11.0 with fmt@10 https://github.com/gabime/spdlog/pull/2694 patch( "https://github.com/gabime/spdlog/commit/0ca574ae168820da0268b3ec7607ca7b33024d05.patch?full_index=1", sha256="31b22a9bfa6790fdabff186c0a9b0fd588439485f05cbef5e661231d15fec49b", - when="@1.11.0 +fmt_external ^fmt@10:", + when="@1.11.0 ^fmt@10:", ) def cmake_args(self): @@ -77,7 +72,7 @@ def cmake_args(self): args.extend( [ self.define_from_variant("SPDLOG_BUILD_SHARED", "shared"), - self.define_from_variant("SPDLOG_FMT_EXTERNAL", "fmt_external"), + self.define("SPDLOG_FMT_EXTERNAL", True), # tests and examples self.define("SPDLOG_BUILD_TESTS", self.run_tests), self.define("SPDLOG_BUILD_EXAMPLE", self.run_tests), From a7dd756b341f99d0a0fc52a2da1c19cc20f1eecb Mon Sep 17 00:00:00 2001 From: Simon Pintarelli <1237199+simonpintarelli@users.noreply.github.com> Date: Mon, 18 Mar 2024 09:12:49 +0100 Subject: [PATCH 077/155] gcc 12.3 ICE patch for aarch64 (#43093) * gcc12.3 patch for ICE on aarch64 * aarch64 ICE patch for gcc@13.2 --- var/spack/repos/builtin/packages/gcc/package.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/var/spack/repos/builtin/packages/gcc/package.py b/var/spack/repos/builtin/packages/gcc/package.py index b37f10722d77d4..ea11cba15a8e97 100644 --- a/var/spack/repos/builtin/packages/gcc/package.py +++ b/var/spack/repos/builtin/packages/gcc/package.py @@ -487,6 +487,20 @@ class Gcc(AutotoolsPackage, GNUMirrorPackage): when="@9.5.0:10.4.0,11.1.0:11.2.0", ) + # patch ICE on aarch64 in tree-vect-slp, cf: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111478 + # patch taken from releases/gcc-12 branch + patch( + "https://github.com/gcc-mirror/gcc/commit/9d033155254ac6df5f47ab32896dbf336f991589.patch?full_index=1", + sha256="8b76fe575ef095b48ac45e8b56544c331663f840ce4b63abdb61510bf3647597", + when="@12.3.0 target=aarch64:", + ) + # patch taken from releases/gcc-13 branch + patch( + "https://github.com/gcc-mirror/gcc/commit/7c67939ec384425a3d7383dfb4fb39aa7e9ad20a.patch?full_index=1", + sha256="f0826d7a9c9808af40f3434918f24ad942f1c6a6daec73f11cf52c544cf5fc01", + when="@13.2.0 target=aarch64:", + ) + build_directory = "spack-build" @classproperty From 8cd160db858ed50e112ee9cf063507a7854f08dc Mon Sep 17 00:00:00 2001 From: Sergey Kosukhin Date: Mon, 18 Mar 2024 09:42:43 +0100 Subject: [PATCH 078/155] zlib-ng: add variant new_strategies (#43219) --- var/spack/repos/builtin/packages/zlib-ng/package.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/var/spack/repos/builtin/packages/zlib-ng/package.py b/var/spack/repos/builtin/packages/zlib-ng/package.py index dd68c537274e12..26cdcb7c28f35b 100644 --- a/var/spack/repos/builtin/packages/zlib-ng/package.py +++ b/var/spack/repos/builtin/packages/zlib-ng/package.py @@ -36,6 +36,7 @@ class ZlibNg(AutotoolsPackage, CMakePackage): variant("compat", default=True, description="Enable compatibility API") variant("opt", default=True, description="Enable optimizations") + variant("new_strategies", default=True, description="Enable new deflate strategies") provides("zlib-api", when="+compat") @@ -67,6 +68,8 @@ def configure_args(self): args.append("--zlib-compat") if self.spec.satisfies("~opt"): args.append("--without-optimizations") + if self.spec.satisfies("~new_strategies"): + args.append("--without-new-strategies") return args @@ -75,4 +78,5 @@ def cmake_args(self): return [ self.define_from_variant("ZLIB_COMPAT", "compat"), self.define_from_variant("WITH_OPTIM", "opt"), + self.define_from_variant("WITH_NEW_STRATEGIES", "new_strategies"), ] From 3d8136493a62c382bc8269d014a4503d7fe05f4d Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Mon, 18 Mar 2024 02:00:37 -0700 Subject: [PATCH 079/155] performance: avoid `jinja2` import at startup unless needed (#43237) `jinja2` can be a costly import, and right now it happens at startup every time we run Spack. This slows down `spack --print-shell-vars` a bit, which is needed by `setup-env.*sh`. --- lib/spack/spack/detection/test.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/spack/spack/detection/test.py b/lib/spack/spack/detection/test.py index a9a03115201407..657188a38cdb2d 100644 --- a/lib/spack/spack/detection/test.py +++ b/lib/spack/spack/detection/test.py @@ -9,8 +9,6 @@ import tempfile from typing import Any, Deque, Dict, Generator, List, NamedTuple, Tuple -import jinja2 - from llnl.util import filesystem import spack.repo @@ -85,6 +83,8 @@ def _mock_layout(self) -> Generator[List[str], None, None]: self.tmpdir.cleanup() def _create_executable_scripts(self, mock_executables: MockExecutables) -> List[pathlib.Path]: + import jinja2 + relative_paths = mock_executables.executables script = mock_executables.script script_template = jinja2.Template("#!/bin/bash\n{{ script }}\n") From 429c3598af387ec05761834adcd7be97f89fe59c Mon Sep 17 00:00:00 2001 From: Pieter P Date: Mon, 18 Mar 2024 10:02:33 +0100 Subject: [PATCH 080/155] Fix CMake generator documentation (#43232) --- lib/spack/docs/build_systems/cmakepackage.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/spack/docs/build_systems/cmakepackage.rst b/lib/spack/docs/build_systems/cmakepackage.rst index 140fa34e3e34a8..ca8d4589c9afae 100644 --- a/lib/spack/docs/build_systems/cmakepackage.rst +++ b/lib/spack/docs/build_systems/cmakepackage.rst @@ -250,7 +250,7 @@ generator is Ninja. To switch to the Ninja generator, simply add: .. code-block:: python - generator = "Ninja" + generator("ninja") ``CMakePackage`` defaults to "Unix Makefiles". If you switch to the From 3445da807eea2034fd2d59213765a7897c3d5eae Mon Sep 17 00:00:00 2001 From: afzpatel <122491982+afzpatel@users.noreply.github.com> Date: Mon, 18 Mar 2024 05:13:08 -0400 Subject: [PATCH 081/155] rocm-smi-lib: remove standalone test and add build time test (#43129) --- .../builtin/packages/rocm-smi-lib/package.py | 72 ++----------------- 1 file changed, 6 insertions(+), 66 deletions(-) diff --git a/var/spack/repos/builtin/packages/rocm-smi-lib/package.py b/var/spack/repos/builtin/packages/rocm-smi-lib/package.py index 8b11e4c666eae4..7d50af78db0997 100644 --- a/var/spack/repos/builtin/packages/rocm-smi-lib/package.py +++ b/var/spack/repos/builtin/packages/rocm-smi-lib/package.py @@ -7,7 +7,6 @@ import os import re import shutil -import subprocess from spack.package import * @@ -57,6 +56,7 @@ def cmake_args(self): args = [ self.define_from_variant("BUILD_SHARED_LIBS", "shared"), self.define("CMAKE_INSTALL_LIBDIR", "lib"), + self.define("BUILD_TESTS", self.run_tests), ] return args @@ -78,68 +78,8 @@ def post_install(self): os.remove(join_path(self.prefix.bin, "rsmiBindings.py")) symlink("../bindings/rsmiBindings.py", join_path(self.prefix.bin, "rsmiBindings.py")) - test_src_dir = "tests/rocm_smi_test" - - @run_after("install") - def cache_test_sources(self): - """Copy the tests source files after the package is installed to an - install test subdirectory for use during `spack test run`.""" - if self.spec.satisfies("@:5.1.0"): - return - self.cache_extra_test_sources([self.test_src_dir]) - - def test(self): - if self.spec.satisfies("@:5.1.0"): - print("Skipping: stand-alone tests") - return - exclude = "rsmitst.exclude" - TOPOLOGY_SYSFS_DIR = "/sys/devices/virtual/kfd/kfd/topology/nodes" - test_dir = join_path(self.test_suite.current_test_cache_dir, self.test_src_dir) - with working_dir(test_dir, create=True): - cmake_bin = join_path(self.spec["cmake"].prefix.bin, "cmake") - prefixes = ";".join([self.spec["rocm-smi-lib"].prefix]) - cc_options = [ - "-DCMAKE_PREFIX_PATH=" + prefixes, - "-DROCM_DIR=" + self.spec["rocm-smi-lib"].prefix, - ".", - ] - self.run_test(cmake_bin, cc_options) - make() - - # Since rsmitst internally attempts to run for every gpu the exclude test list will - # be the union of all the excludes for all the devices on the system - disabled_tests = "" - if os.path.exists(TOPOLOGY_SYSFS_DIR): - for file in os.listdir(TOPOLOGY_SYSFS_DIR): - name_file = os.path.join(TOPOLOGY_SYSFS_DIR, str(file), "name") - if os.path.exists(name_file): - with open(name_file, "r") as f: - node = f.readline().strip("\n") - if node: - cmd = "source " + exclude + ' && echo "${FILTER[' + node + ']}"' - node_tests = subprocess.check_output( - cmd, shell=True, executable="/bin/bash" - ) - node_tests = node_tests.decode("utf-8").strip("\n") - if node_tests: - disabled_tests = disabled_tests + node_tests + ":" - - # disable tests under virtualization - cmd = "source " + exclude + ' && echo "${FILTER[virtualization]}"' - virtualization_tests = subprocess.check_output(cmd, shell=True, executable="/bin/bash") - virtualization_tests = virtualization_tests.decode("utf-8").strip("\n") - disabled_tests = disabled_tests + virtualization_tests - - # disable test that requires --privileged permissions - privileged_tests = ":".join( - [ - "rsmitstReadWrite.TestPerfLevelReadWrite", - "rsmitstReadWrite.TestFrequenciesReadWrite", - "rsmitstReadWrite.TestPciReadWrite", - "rsmitstReadWrite.TestPerfCntrReadWrite", - ] - ) - disabled_tests = disabled_tests + ":" + privileged_tests - - self.run_test("rsmitst64", "--gtest_filter=-" + disabled_tests) - make("clean") + @run_after("build") + @on_package_attributes(run_tests=True) + def check_build(self): + exe = which(join_path(self.build_directory, "tests", "rocm_smi_test", "rsmitst")) + exe() From fef6aed6271c532f1c562c725cab71572d15fee8 Mon Sep 17 00:00:00 2001 From: Christopher Christofi <77968333+ChristopherChristofi@users.noreply.github.com> Date: Mon, 18 Mar 2024 09:16:58 +0000 Subject: [PATCH 082/155] py-branca: add new package (#43236) --- .../builtin/packages/py-branca/package.py | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-branca/package.py diff --git a/var/spack/repos/builtin/packages/py-branca/package.py b/var/spack/repos/builtin/packages/py-branca/package.py new file mode 100644 index 00000000000000..c4cafd9ee388bc --- /dev/null +++ b/var/spack/repos/builtin/packages/py-branca/package.py @@ -0,0 +1,22 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyBranca(PythonPackage): + """Generate complex HTML+JS pages with Python.""" + + homepage = "https://python-visualization.github.io/branca" + pypi = "branca/branca-0.7.1.tar.gz" + + license("MIT") + + version("0.7.1", sha256="e6b6f37a37bc0abffd960c68c045a7fe025d628eff87fedf6ab6ca814812110c") + + depends_on("python@3.7:", type=("build", "run")) + depends_on("py-setuptools@41.2:", type="build") + depends_on("py-setuptools-scm", type="build") + depends_on("py-jinja2@3:", type=("build", "run")) From 339a63370fe566f9c1a1a4971c9a51b6cabd6181 Mon Sep 17 00:00:00 2001 From: Christopher Christofi <77968333+ChristopherChristofi@users.noreply.github.com> Date: Mon, 18 Mar 2024 09:23:11 +0000 Subject: [PATCH 083/155] py-pyshp: add new version (#43234) --- var/spack/repos/builtin/packages/py-pyshp/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-pyshp/package.py b/var/spack/repos/builtin/packages/py-pyshp/package.py index 02591e12510c79..24fa0e83fadc7e 100644 --- a/var/spack/repos/builtin/packages/py-pyshp/package.py +++ b/var/spack/repos/builtin/packages/py-pyshp/package.py @@ -15,6 +15,7 @@ class PyPyshp(PythonPackage): license("MIT") + version("2.3.1", sha256="4caec82fd8dd096feba8217858068bacb2a3b5950f43c048c6dc32a3489d5af1") version("2.1.0", sha256="e65c7f24d372b97d0920b864bbeb78322bb37b83f2606e2a2212631d5d51e5c0") version("1.2.12", sha256="8dcd65e0aa2aa2951527ddb7339ea6e69023543d8a20a73fc51e2829b9ed6179") From 02d126ce2b5ca4eb4cb9e39e3c29588e6c5991a0 Mon Sep 17 00:00:00 2001 From: Christopher Christofi <77968333+ChristopherChristofi@users.noreply.github.com> Date: Mon, 18 Mar 2024 09:52:19 +0000 Subject: [PATCH 084/155] py-geopandas: add new version 0.14.3 (#43235) * py-geopandas: add new version * add when specification on setuptools requirement --- var/spack/repos/builtin/packages/py-geopandas/package.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-geopandas/package.py b/var/spack/repos/builtin/packages/py-geopandas/package.py index 4b11243b2731f7..be699da3f59700 100644 --- a/var/spack/repos/builtin/packages/py-geopandas/package.py +++ b/var/spack/repos/builtin/packages/py-geopandas/package.py @@ -22,6 +22,7 @@ class PyGeopandas(PythonPackage): license("BSD-3-Clause") version("master", branch="master") + version("0.14.3", sha256="748af035d4a068a4ae00cab384acb61d387685c833b0022e0729aa45216b23ac") version("0.11.1", sha256="f0f0c8d0423d30cf81de2056d853145c4362739350a7f8f2d72cc7409ef1eca1") version("0.11.0", sha256="562fe7dc19a6e0f61532d654c4752f7bf46e0714990c5844fe3de3f9c99cb873") version("0.10.2", sha256="efbf47e70732e25c3727222019c92b39b2e0a66ebe4fe379fbe1aa43a2a871db") @@ -38,18 +39,24 @@ class PyGeopandas(PythonPackage): depends_on("python@3.6:", type=("build", "run"), when="@0.9:") depends_on("python@3.7:", type=("build", "run"), when="@0.10:") depends_on("python@3.8:", type=("build", "run"), when="@0.11:") + depends_on("python@3.9:", type=("build", "run"), when="@0.14:") depends_on("py-setuptools", type="build") + depends_on("py-setuptools@61.0.0:", type="build", when="@0.14:") depends_on("py-pandas", type=("build", "run")) depends_on("py-pandas@0.23.0:", type=("build", "run"), when="@0.6:") depends_on("py-pandas@0.24.0:", type=("build", "run"), when="@0.9:") depends_on("py-pandas@0.25.0:", type=("build", "run"), when="@0.10:") depends_on("py-pandas@1.0.0:", type=("build", "run"), when="@0.11:") + depends_on("py-pandas@1.4.0:", type=("build", "run"), when="@0.14:") depends_on("py-shapely@:1", type=("build", "run")) depends_on("py-shapely@1.6:1", type=("build", "run"), when="@0.9:0.10") depends_on("py-shapely@1.7:1", type=("build", "run"), when="@0.11:") + depends_on("py-shapely@1.8.0:", type=("build", "run"), when="@0.14:") depends_on("py-fiona", type=("build", "run")) depends_on("py-fiona@1.8:", type=("build", "run"), when="@0.9:") + depends_on("py-fiona@1.8.21:", type=("build", "run"), when="@0.14:") depends_on("py-pyproj", type=("build", "run")) depends_on("py-pyproj@2.2.0:", type=("build", "run"), when="@0.7:") depends_on("py-pyproj@2.6.1.post1:", type=("build", "run"), when="@0.11:") + depends_on("py-pyproj@3.3.0:", type=("build", "run"), when="@0.14:") depends_on("py-packaging", type=("build", "run"), when="@0.11:") From a3f39890c2622c26846b2479f2bf49edb662608e Mon Sep 17 00:00:00 2001 From: Matthias Wolf Date: Mon, 18 Mar 2024 10:56:40 +0100 Subject: [PATCH 085/155] py-shacl: new version, update dependencies (#42905) * py-shacl: new version, update dependencies Also updates the dependencies py-prettytable and py-rdflib. * review comments * Update var/spack/repos/builtin/packages/py-pyshacl/package.py Co-authored-by: Adam J. Stewart * py-poetry-core: add required 1.8.1 --------- Co-authored-by: Adam J. Stewart --- .../repos/builtin/packages/py-poetry-core/package.py | 1 + .../repos/builtin/packages/py-prettytable/package.py | 7 +++++-- .../repos/builtin/packages/py-pyshacl/package.py | 11 +++++++++-- var/spack/repos/builtin/packages/py-rdflib/package.py | 2 ++ 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-poetry-core/package.py b/var/spack/repos/builtin/packages/py-poetry-core/package.py index 0362efcbc3de0c..83454d9ee74a0f 100644 --- a/var/spack/repos/builtin/packages/py-poetry-core/package.py +++ b/var/spack/repos/builtin/packages/py-poetry-core/package.py @@ -14,6 +14,7 @@ class PyPoetryCore(PythonPackage): license("MIT") + version("1.8.1", sha256="67a76c671da2a70e55047cddda83566035b701f7e463b32a2abfeac6e2a16376") version("1.7.0", sha256="8f679b83bd9c820082637beca1204124d5d2a786e4818da47ec8acefd0353b74") version("1.6.1", sha256="0f9b0de39665f36d6594657e7d57b6f463cc10f30c28e6d1c3b9ff54c26c9ac3") version("1.2.0", sha256="ceccec95487e46c63a41761fbac5211b809bca22658e25a049f4c7da96269f71") diff --git a/var/spack/repos/builtin/packages/py-prettytable/package.py b/var/spack/repos/builtin/packages/py-prettytable/package.py index d3b7561c49bbbb..65eec287361a55 100644 --- a/var/spack/repos/builtin/packages/py-prettytable/package.py +++ b/var/spack/repos/builtin/packages/py-prettytable/package.py @@ -15,13 +15,16 @@ class PyPrettytable(PythonPackage): homepage = "https://github.com/jazzband/prettytable" pypi = "prettytable/prettytable-0.7.2.tar.gz" + version("3.7.0", sha256="ef8334ee40b7ec721651fc4d37ecc7bb2ef55fde5098d994438f0dfdaa385c0c") version("3.4.1", sha256="7d7dd84d0b206f2daac4471a72f299d6907f34516064feb2838e333a4e2567bd") version("3.2.0", sha256="ae7d96c64100543dc61662b40a28f3b03c0f94a503ed121c6fca2782c5816f81") version("2.4.0", sha256="18e56447f636b447096977d468849c1e2d3cfa0af8e7b5acfcf83a64790c0aca") version("2.2.1", sha256="6d465005573a5c058d4ca343449a5b28c21252b86afcdfa168cdc6a440f0b24c") version("0.7.2", sha256="2d5460dc9db74a32bcc8f9f67de68b2c4f4d2f01fa3bd518764c69156d9cacd9") - depends_on("py-setuptools", type="build") + depends_on("py-setuptools", type="build", when="@:3.4") + depends_on("py-hatchling", type="build", when="@3.7:") + depends_on("py-hatch-vcs", type="build", when="@3.7:") depends_on("py-wcwidth", type=("build", "run"), when="@2.4.0:") depends_on("py-importlib-metadata", type=("build", "run"), when="@2: ^python@:3.7") - depends_on("py-setuptools-scm", type="build", when="@2.4.0:") + depends_on("py-setuptools-scm", type="build", when="@2.4.0:3.4") diff --git a/var/spack/repos/builtin/packages/py-pyshacl/package.py b/var/spack/repos/builtin/packages/py-pyshacl/package.py index e76d43fd3aae2f..10fd8f2cd22488 100644 --- a/var/spack/repos/builtin/packages/py-pyshacl/package.py +++ b/var/spack/repos/builtin/packages/py-pyshacl/package.py @@ -13,18 +13,25 @@ class PyPyshacl(PythonPackage): license("Apache-2.0") + version("0.25.0", sha256="91e87ed04ccb29aa47abfcf8a3e172d35a8831fce23a011cfbf35534ce4c940b") version("0.20.0", sha256="47f014c52cc69167b902c89b3940dd400f7f5d2169a62f97f837f3419b4a737d") version("0.17.2", sha256="46f31c7a7f7298aa5b483d92dbc850ff79a144d26f1f41e83267ed84b4d6ae23") depends_on("py-poetry-core@1.1:1", type="build") + depends_on("py-poetry-core@1.8.1:1", when="@0.25.0:", type="build") depends_on("python@3.7:3", type=("build", "run")) + depends_on("python@3.8.1:3", when="@0.25.0:", type=("build", "run")) depends_on("py-rdflib@6.0.0:6", when="@0.17.2", type=("build", "run")) - depends_on("py-rdflib@6.2.0:6", when="@0.20.0:", type=("build", "run")) + depends_on("py-rdflib@6.2.0:6", when="@0.20.0", type=("build", "run")) + depends_on("py-rdflib@6.3.2:7", when="@0.25.0:", type=("build", "run")) depends_on("py-html5lib@1.1:1", when="@0.20.0:", type=("build", "run")) + depends_on("py-importlib-metadata@7:", when="@0.25.0: ^python@:3.11", type=("build", "run")) depends_on("py-owlrl@5.2.3:6", when="@0.17.2", type=("build", "run")) depends_on("py-owlrl@6.0.2:6", when="@0.20.0:", type=("build", "run")) depends_on("py-packaging@21.3:", when="@0.20.0:", type=("build", "run")) - depends_on("py-prettytable@2.2.1:2", type=("build", "run")) + depends_on("py-prettytable@2.2.1:2", when="@:0.20", type=("build", "run")) + depends_on("py-prettytable@3.5.0:", when="@0.25.0: ^python@:3.11", type=("build", "run")) + depends_on("py-prettytable@3.7.0:", when="@0.25.0: ^python@3.12:", type=("build", "run")) def patch(self): if self.spec.satisfies("@0.17.2"): diff --git a/var/spack/repos/builtin/packages/py-rdflib/package.py b/var/spack/repos/builtin/packages/py-rdflib/package.py index 4d603f27f0a941..62bc7d07db88a0 100644 --- a/var/spack/repos/builtin/packages/py-rdflib/package.py +++ b/var/spack/repos/builtin/packages/py-rdflib/package.py @@ -23,12 +23,14 @@ class PyRdflib(PythonPackage): license("BSD-3-Clause") + version("7.0.0", sha256="9995eb8569428059b8c1affd26b25eac510d64f5043d9ce8c84e0d0036e995ae") version("6.3.2", sha256="72af591ff704f4caacea7ecc0c5a9056b8553e0489dd4f35a9bc52dbd41522e0") version("6.2.0", sha256="62dc3c86d1712db0f55785baf8047f63731fa59b2682be03219cb89262065942") version("6.0.2", sha256="6136ae056001474ee2aff5fc5b956e62a11c3a9c66bb0f3d9c0aaa5fbb56854e") version("5.0.0", sha256="78149dd49d385efec3b3adfbd61c87afaf1281c30d3fcaf1b323b34f603fb155") depends_on("python@3.7:3", when="@6.3:", type=("build", "run")) + depends_on("python@3.8.1:3", when="@7:", type=("build", "run")) depends_on("py-poetry-core@1.4:", when="@6.3:", type="build") depends_on("py-isodate@0.6", when="@6.3:", type=("build", "run")) From 69a052841cb86bdd4d6bf2423cad0ff306cc6df8 Mon Sep 17 00:00:00 2001 From: George Young Date: Mon, 18 Mar 2024 10:08:14 +0000 Subject: [PATCH 086/155] py-cutadapt: updating to @4.7 (#43214) Co-authored-by: LMS Bioinformatics --- .../repos/builtin/packages/py-cutadapt/package.py | 11 +++++++---- var/spack/repos/builtin/packages/py-dnaio/package.py | 11 ++++++----- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-cutadapt/package.py b/var/spack/repos/builtin/packages/py-cutadapt/package.py index a5f20ddf1c684f..2afd46a92f6045 100644 --- a/var/spack/repos/builtin/packages/py-cutadapt/package.py +++ b/var/spack/repos/builtin/packages/py-cutadapt/package.py @@ -17,6 +17,7 @@ class PyCutadapt(PythonPackage): license("MIT") + version("4.7", sha256="8738a35b363eaf615665a4e7d1b4beb385cd93fb7ffdcf82cd4ab6457acc879b") version("4.4", sha256="4554157c673022e1c433fcd6e3b803008fef60c8e71c01215e4aa04b0f09fe83") version("4.3", sha256="319de860f975977e080ea42d9d255322060693ca39b7be51187831311702fe29") version("4.2", sha256="ab0ac450baecc1576cc5ccbc06eab2685be9ee7676763938237d954a644237f1") @@ -27,12 +28,14 @@ class PyCutadapt(PythonPackage): version("1.13", sha256="aa9f2c1f33dc081fe94f42b1250e4382b8fb42cabbf6e70a76ff079f211d5fc0") # version 4 deps - depends_on("py-setuptools@63:", type=("build", "run"), when="@4.2:") - depends_on("py-setuptools@43:", type=("build", "run"), when="@:4.1") + depends_on("python@3.8:", type=("build", "run"), when="@4.7:") + depends_on("python@3.7:", type=("build", "run"), when="@4.1:4.6") + depends_on("py-setuptools@63:", type="build", when="@4.2:") + depends_on("py-setuptools@43:", type="build", when="@:4.1") depends_on("py-setuptools-scm@6.2:+toml", type="build", when="@2.0:") - depends_on("python@3.7:", type=("build", "run"), when="@4.1:") depends_on("py-cython@0.29.20:", type="build") - depends_on("py-dnaio@0.10:", type=("build", "run"), when="@4.3:") + depends_on("py-dnaio@1.2.0:", type=("build", "run"), when="@4.7:") + depends_on("py-dnaio@0.10:", type=("build", "run"), when="@4.3:4.6") depends_on("py-dnaio@0.9.1:", type=("build", "run"), when="@4.2") depends_on("py-dnaio@0.7.1:", type=("build", "run"), when="@4.1") depends_on("py-xopen@1.6:", type=("build", "run"), when="@4.2:") diff --git a/var/spack/repos/builtin/packages/py-dnaio/package.py b/var/spack/repos/builtin/packages/py-dnaio/package.py index f5c9494ab5e3c3..a53a4d311004e9 100644 --- a/var/spack/repos/builtin/packages/py-dnaio/package.py +++ b/var/spack/repos/builtin/packages/py-dnaio/package.py @@ -15,17 +15,18 @@ class PyDnaio(PythonPackage): license("MIT") + version("1.2.0", sha256="d0528c23516fe4e947970bdef33c423f0a30ab3b083bd4f6f049fd66d8cef803") version("0.10.0", sha256="de51a50948f00b864297d74eddb588fbee5ac229855754e77564d18b24619d18") version("0.9.1", sha256="a1a14181995b27197b7e2b8897994a3107c649b9fc2dfe263caff3c455b0d0c4") version("0.4.2", sha256="fa55a45bfd5d9272409b714158fb3a7de5dceac1034a0af84502c7f503ee84f8") version("0.3", sha256="47e4449affad0981978fe986684fc0d9c39736f05a157f6cf80e54dae0a92638") - depends_on("py-setuptools@52:", type=("build", "run")) - depends_on("py-setuptools-scm@6.2:", when="@0.4:", type="build") - # 0.9.1 deps depends_on("python@3.7:", type=("build", "run"), when="@0.9.1:") + # build deps + depends_on("py-setuptools@52:", type="build") + depends_on("py-setuptools-scm@6.2:", type="build", when="@0.4:") depends_on("py-cython@0.29.20:", type="build", when="@0.9.1:") + # run deps depends_on("py-xopen@1.4.0:", type=("build", "run"), when="@0.9.1:") - # older deps + depends_on("py-xopen@0.8.2:", type=("build", "run"), when="@0.4:") depends_on("py-xopen", type=("build", "run")) - depends_on("py-xopen@0.8.2:", when="@0.4:", type=("build", "run")) From 4cd8488139e5fefbd33214892ac87fa97764df58 Mon Sep 17 00:00:00 2001 From: "Wileam Y. Phan" <50928756+wyphan@users.noreply.github.com> Date: Mon, 18 Mar 2024 06:09:29 -0400 Subject: [PATCH 087/155] intel-gtpin: add version 4.0 (#43216) --- var/spack/repos/builtin/packages/intel-gtpin/package.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/var/spack/repos/builtin/packages/intel-gtpin/package.py b/var/spack/repos/builtin/packages/intel-gtpin/package.py index f998254dddae3a..71c22ca4799eb5 100644 --- a/var/spack/repos/builtin/packages/intel-gtpin/package.py +++ b/var/spack/repos/builtin/packages/intel-gtpin/package.py @@ -38,6 +38,12 @@ class IntelGtpin(Package): license("MIT") + version( + "4.0", + sha256="fc12fb3aefdd4ae75b21ef9325e4058439dace52501200900895240c6ef3f0d8", + url="https://downloadmirror.intel.com/816037/external-release-gtpin-4.0-linux.tar.xz", + ) + version( "3.7", sha256="366edb46369a67bdbaea3c11ad5bf9a9ead5a7234efb780a27dffd70d1150c39", From b4c0e6f03b9e55414bbabd331fc9c4b8815f5b0a Mon Sep 17 00:00:00 2001 From: wspear Date: Mon, 18 Mar 2024 03:23:28 -0700 Subject: [PATCH 088/155] scorep: add v8.4 (#43225) --- var/spack/repos/builtin/packages/scorep/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/scorep/package.py b/var/spack/repos/builtin/packages/scorep/package.py index c5a1d2245428cb..59c36791913030 100644 --- a/var/spack/repos/builtin/packages/scorep/package.py +++ b/var/spack/repos/builtin/packages/scorep/package.py @@ -16,6 +16,7 @@ class Scorep(AutotoolsPackage): url = "https://perftools.pages.jsc.fz-juelich.de/cicd/scorep/tags/scorep-7.1/scorep-7.1.tar.gz" maintainers("wrwilliams") + version("8.4", sha256="7bbde9a0721d27cc6205baf13c1626833bcfbabb1f33b325a2d67976290f7f8a") version("8.3", sha256="76c914e6319221c059234597a3bc53da788ed679179ac99c147284dcefb1574a") # version 8.2 was immediately superseded before it hit Spack version("8.1", sha256="3a40b481fce610871ddf6bdfb88a6d06b9e5eb38c6080faac6d5e44990060a37") From 282df7aecca06ad729f1ac34f8e37d30279eae6f Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Mon, 18 Mar 2024 04:53:37 -0700 Subject: [PATCH 089/155] fzf: add v0.48.0 (#43230) --- var/spack/repos/builtin/packages/fzf/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/fzf/package.py b/var/spack/repos/builtin/packages/fzf/package.py index aec27fd5997521..d9a5b6057fd9fd 100644 --- a/var/spack/repos/builtin/packages/fzf/package.py +++ b/var/spack/repos/builtin/packages/fzf/package.py @@ -19,6 +19,7 @@ class Fzf(MakefilePackage): license("MIT") + version("0.48.1", sha256="c8dbb545d651808ef4e1f51edba177fa918ea56ac53376c690dc6f2dd0156a71") version("0.47.0", sha256="bc566cb4630418bc9981898d3350dbfddc114637a896acaa8d818a51945bdf30") version("0.46.1", sha256="b0d640be3ae79980fdf461096f7d9d36d38ec752e25f8c4d2ca3ca6c041c2491") version("0.45.0", sha256="f0dd5548f80fe7f80d9277bb8fe252ac6e42a41e76fc85ce0f3af702cd987600") From 9662d181a01785afecd2725dfe71dde2630b86da Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Mon, 18 Mar 2024 12:53:53 +0100 Subject: [PATCH 090/155] use directives in some packages (#43238) --- lib/spack/spack/directives.py | 6 +++--- var/spack/repos/builtin/packages/arbor/package.py | 2 +- var/spack/repos/builtin/packages/cubelib/package.py | 3 ++- var/spack/repos/builtin/packages/cubew/package.py | 3 ++- var/spack/repos/builtin/packages/dftbplus/package.py | 4 ++-- var/spack/repos/builtin/packages/lfortran/package.py | 2 +- var/spack/repos/builtin/packages/mruby/package.py | 3 +-- var/spack/repos/builtin/packages/nlcglib/package.py | 2 +- var/spack/repos/builtin/packages/rkt-racket-lib/package.py | 2 +- var/spack/repos/builtin/packages/rpp/package.py | 3 ++- var/spack/repos/builtin/packages/t8code/package.py | 2 +- var/spack/repos/builtin/packages/veloc/package.py | 2 +- 12 files changed, 18 insertions(+), 16 deletions(-) diff --git a/lib/spack/spack/directives.py b/lib/spack/spack/directives.py index 207624965d736d..0d4834ed138c7c 100644 --- a/lib/spack/spack/directives.py +++ b/lib/spack/spack/directives.py @@ -921,9 +921,9 @@ def maintainers(*names: str): """ def _execute_maintainer(pkg): - maintainers_from_base = getattr(pkg, "maintainers", []) - # Here it is essential to copy, otherwise we might add to an empty list in the parent - pkg.maintainers = list(sorted(set(maintainers_from_base + list(names)))) + maintainers = set(getattr(pkg, "maintainers", [])) + maintainers.update(names) + pkg.maintainers = sorted(maintainers) return _execute_maintainer diff --git a/var/spack/repos/builtin/packages/arbor/package.py b/var/spack/repos/builtin/packages/arbor/package.py index c212d0247ec61c..ca3651e4b3d833 100644 --- a/var/spack/repos/builtin/packages/arbor/package.py +++ b/var/spack/repos/builtin/packages/arbor/package.py @@ -13,8 +13,8 @@ class Arbor(CMakePackage, CudaPackage): homepage = "https://arbor-sim.org" git = "https://github.com/arbor-sim/arbor.git" url = "https://github.com/arbor-sim/arbor/releases/download/v0.8.1/arbor-v0.8.1-full.tar.gz" - maintainers = ["thorstenhater", "brenthuisman"] + maintainers("thorstenhater", "brenthuisman") license("BSD-3-Clause") version("master", branch="master") diff --git a/var/spack/repos/builtin/packages/cubelib/package.py b/var/spack/repos/builtin/packages/cubelib/package.py index 6c6f4036b3b7ae..c3c4734153fa53 100644 --- a/var/spack/repos/builtin/packages/cubelib/package.py +++ b/var/spack/repos/builtin/packages/cubelib/package.py @@ -11,7 +11,8 @@ class Cubelib(AutotoolsPackage): homepage = "https://www.scalasca.org/software/cube-4.x/download.html" url = "https://apps.fz-juelich.de/scalasca/releases/cube/4.4/dist/cubelib-4.4.tar.gz" - maintainers = ("swat-jsc", "wrwilliams") + + maintainers("swat-jsc", "wrwilliams") version("4.8.2", sha256="d6fdef57b1bc9594f1450ba46cf08f431dd0d4ae595c47e2f3454e17e4ae74f4") version("4.8.1", sha256="e4d974248963edab48c5d0fc5831146d391b0ae4632cccafe840bf5f12cd80a9") diff --git a/var/spack/repos/builtin/packages/cubew/package.py b/var/spack/repos/builtin/packages/cubew/package.py index 34a7fccbefea7e..a358aacd6ffd2b 100644 --- a/var/spack/repos/builtin/packages/cubew/package.py +++ b/var/spack/repos/builtin/packages/cubew/package.py @@ -11,7 +11,8 @@ class Cubew(AutotoolsPackage): homepage = "https://www.scalasca.org/software/cube-4.x/download.html" url = "https://apps.fz-juelich.de/scalasca/releases/cube/4.4/dist/cubew-4.4.tar.gz" - maintainers = ("swat-jsc", "wrwilliams") + + maintainers("swat-jsc", "wrwilliams") version("4.8.2", sha256="4f3bcf0622c2429b8972b5eb3f14d79ec89b8161e3c1cc5862ceda417d7975d2") version("4.8.1", sha256="42cbd743d87c16e805c8e28e79292ab33de259f2cfba46f2682cb35c1bc032d6") diff --git a/var/spack/repos/builtin/packages/dftbplus/package.py b/var/spack/repos/builtin/packages/dftbplus/package.py index 9357aaf4c2d61f..1efaf68aa4ad3f 100644 --- a/var/spack/repos/builtin/packages/dftbplus/package.py +++ b/var/spack/repos/builtin/packages/dftbplus/package.py @@ -15,8 +15,8 @@ class Dftbplus(CMakePackage, MakefilePackage): url = "https://github.com/dftbplus/dftbplus/releases/download/22.1/dftbplus-22.1.tar.xz" git = "https://github.com/dftbplus/dftbplus.git" - maintainers = ["HaoZeke", "aradi", "iamashwin99"] - generator = "Ninja" + maintainers("HaoZeke", "aradi", "iamashwin99") + generator("ninja") build_system( conditional("cmake", when="@20.1:"), diff --git a/var/spack/repos/builtin/packages/lfortran/package.py b/var/spack/repos/builtin/packages/lfortran/package.py index ded409d0677197..50f157e1be8e15 100644 --- a/var/spack/repos/builtin/packages/lfortran/package.py +++ b/var/spack/repos/builtin/packages/lfortran/package.py @@ -12,8 +12,8 @@ class Lfortran(CMakePackage): homepage = "https://lfortran.org" url = "https://lfortran.github.io/tarballs/release/lfortran-0.19.0.tar.gz" git = "https://github.com/lfortran/lfortran.git" - maintainers = ["certik"] + maintainers("certik") license("BSD-3-Clause") # The build process uses 'git describe --tags' to get the package version diff --git a/var/spack/repos/builtin/packages/mruby/package.py b/var/spack/repos/builtin/packages/mruby/package.py index 230a0b82e9228e..05a7f30f34a3fb 100644 --- a/var/spack/repos/builtin/packages/mruby/package.py +++ b/var/spack/repos/builtin/packages/mruby/package.py @@ -14,8 +14,7 @@ class Mruby(Package): url = "https://github.com/mruby/mruby/archive/refs/tags/3.0.0.tar.gz" git = "https://github.com/mruby/mruby.git" - maintainers = ["mdorier"] - + maintainers("mdorier") license("MIT") version("master", branch="master") diff --git a/var/spack/repos/builtin/packages/nlcglib/package.py b/var/spack/repos/builtin/packages/nlcglib/package.py index 33836215182fd2..694fbbfc5c1fed 100644 --- a/var/spack/repos/builtin/packages/nlcglib/package.py +++ b/var/spack/repos/builtin/packages/nlcglib/package.py @@ -13,7 +13,7 @@ class Nlcglib(CMakePackage, CudaPackage, ROCmPackage): git = "https://github.com/simonpintarelli/nlcglib.git" url = "https://github.com/simonpintarelli/nlcglib/archive/v0.9.tar.gz" - maintainers = ["simonpintarelli"] + maintainers("simonpintarelli") license("BSD-3-Clause") diff --git a/var/spack/repos/builtin/packages/rkt-racket-lib/package.py b/var/spack/repos/builtin/packages/rkt-racket-lib/package.py index 1dfed11df269bd..00861c615b7b58 100644 --- a/var/spack/repos/builtin/packages/rkt-racket-lib/package.py +++ b/var/spack/repos/builtin/packages/rkt-racket-lib/package.py @@ -12,7 +12,7 @@ class RktRacketLib(RacketPackage): git = "ssh://git@github.com/racket/racket.git" - maintainers = ["elfprince13"] + maintainers("elfprince13") version("8.3", commit="cab83438422bfea0e4bd74bc3e8305e6517cf25f") # tag="v8.3" depends_on("racket@8.3", type=("build", "run"), when="@8.3") diff --git a/var/spack/repos/builtin/packages/rpp/package.py b/var/spack/repos/builtin/packages/rpp/package.py index d8f7cd059c20c1..f30b4830e31ba5 100644 --- a/var/spack/repos/builtin/packages/rpp/package.py +++ b/var/spack/repos/builtin/packages/rpp/package.py @@ -24,10 +24,11 @@ def url_for_version(self, version): url = "https://github.com/GPUOpen-ProfessionalCompute-Libraries/rpp/archive/{0}.tar.gz" return url.format(version) - maintainers = ["srekolam", "afzpatel"] tags = ["rocm"] + maintainers("srekolam", "afzpatel") license("MIT") + version("6.0.2", sha256="2686eb4099233db4444fcd2f77af9b00d38d829f05de2403bed37b1b28f2653c") version("6.0.0", sha256="3626a648bc773520f5cd5ca15f494de6e74b422baf32491750ce0737c3367f15") version("5.7.1", sha256="36fff5f1c52d969c3e2e0c75b879471f731770f193c9644aa6ab993fb8fa4bbf") diff --git a/var/spack/repos/builtin/packages/t8code/package.py b/var/spack/repos/builtin/packages/t8code/package.py index 9ba18b9993a997..79f3b07930c7d9 100644 --- a/var/spack/repos/builtin/packages/t8code/package.py +++ b/var/spack/repos/builtin/packages/t8code/package.py @@ -16,7 +16,7 @@ class T8code(AutotoolsPackage): homepage = "https://github.com/DLR-AMR/t8code" url = "https://github.com/DLR-AMR/t8code/releases/download/v1.4.1/t8-1.4.1.tar.gz" - maintainers = ["Davknapp", "melven"] + maintainers("Davknapp", "melven") license("GPL-2.0-or-later") diff --git a/var/spack/repos/builtin/packages/veloc/package.py b/var/spack/repos/builtin/packages/veloc/package.py index 2bb6f0840dbb44..079d773d514667 100644 --- a/var/spack/repos/builtin/packages/veloc/package.py +++ b/var/spack/repos/builtin/packages/veloc/package.py @@ -14,9 +14,9 @@ class Veloc(CMakePackage): url = "https://github.com/ECP-VeloC/VELOC/archive/veloc-1.7.tar.gz" git = "https://github.com/ecp-veloc/veloc.git" - maintainers = ["bnicolae"] tags = ["e4s"] + maintainers("bnicolae") license("MIT") version("main", branch="main") From c02f58da8fa09c67316f5dc078c2d1ce901417f5 Mon Sep 17 00:00:00 2001 From: afzpatel <122491982+afzpatel@users.noreply.github.com> Date: Mon, 18 Mar 2024 08:37:27 -0400 Subject: [PATCH 091/155] llvm-amdgpu: add rpath to HIP rt (#42876) --- var/spack/repos/builtin/packages/llvm-amdgpu/package.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py index 731f3d9bef73e9..f475dca99900ea 100644 --- a/var/spack/repos/builtin/packages/llvm-amdgpu/package.py +++ b/var/spack/repos/builtin/packages/llvm-amdgpu/package.py @@ -95,6 +95,13 @@ class LlvmAmdgpu(CMakePackage): patch("001-Add-i1-mul-patterns.patch", when="@5.6") patch("001-Add-i1-mul-patterns-5.7.patch", when="@5.7") + # fixes the libamdhip64.so not found in some ROCm math lib tests + patch( + "https://github.com/ROCm/llvm-project/commit/444d1d12bbc0269fed5451fb1a9110a049679ca5.patch?full_index=1", + sha256="b4774ca19b030890d7b276d12c446400ccf8bc3aa724c7f2e9a73531a7400d69", + when="@6.0", + ) + conflicts("^cmake@3.19.0") root_cmakelists_dir = "llvm" From 12adf66d07161ed45109ccb95381f4217942c1c5 Mon Sep 17 00:00:00 2001 From: George Young Date: Mon, 18 Mar 2024 13:08:32 +0000 Subject: [PATCH 092/155] telocal: add new package (#43241) Co-authored-by: LMS Bioinformatics --- .../repos/builtin/packages/telocal/package.py | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 var/spack/repos/builtin/packages/telocal/package.py diff --git a/var/spack/repos/builtin/packages/telocal/package.py b/var/spack/repos/builtin/packages/telocal/package.py new file mode 100644 index 00000000000000..2b7e9437b4c251 --- /dev/null +++ b/var/spack/repos/builtin/packages/telocal/package.py @@ -0,0 +1,21 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class Telocal(PythonPackage): + """A package for quantifying transposable elements at a locus level for RNAseq datasets""" + + homepage = "https://hammelllab.labsites.cshl.edu/software/#TElocal" + + url = "https://github.com/mhammell-laboratory/TElocal/archive/refs/tags/1.1.2.tar.gz" + + license("GPL-3.0-only", checked_by="A_N_Other") + + version("1.1.2", sha256="d0c7d419d7df06dedbdffbf316fe01fa7324994e0fe1c4ea721835ec9b3e9bb5") + + depends_on("py-setuptools", type="build") + depends_on("py-pysam@0.9:", type=("build", "run")) From cd919d51ea47dc9d94216acb44105aefaca5fb8a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 14:09:29 +0100 Subject: [PATCH 093/155] build(deps): bump docker/build-push-action from 5.2.0 to 5.3.0 (#43205) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5.2.0 to 5.3.0. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/af5a7ed5ba88268d5278f7203fb52cd833f66d6e...2cdde995de11925a030ce8070c3d77a52ffcf1c0) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build-containers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-containers.yml b/.github/workflows/build-containers.yml index 07f01cce7fe085..7da32595200447 100644 --- a/.github/workflows/build-containers.yml +++ b/.github/workflows/build-containers.yml @@ -113,7 +113,7 @@ jobs: password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build & Deploy ${{ matrix.dockerfile[0] }} - uses: docker/build-push-action@af5a7ed5ba88268d5278f7203fb52cd833f66d6e + uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 with: context: dockerfiles/${{ matrix.dockerfile[0] }} platforms: ${{ matrix.dockerfile[1] }} From 9a71733adb865f3f34958582b34aad79f83a347d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 14:10:11 +0100 Subject: [PATCH 094/155] build(deps): bump docker/setup-buildx-action from 3.1.0 to 3.2.0 (#43204) Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.1.0 to 3.2.0. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/0d103c3126aa41d772a8362f6aa67afac040f80c...2b51285047da1547ffb1b2203d8be4c0af6b1f20) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build-containers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-containers.yml b/.github/workflows/build-containers.yml index 7da32595200447..2350f824249958 100644 --- a/.github/workflows/build-containers.yml +++ b/.github/workflows/build-containers.yml @@ -96,7 +96,7 @@ jobs: uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@0d103c3126aa41d772a8362f6aa67afac040f80c + uses: docker/setup-buildx-action@2b51285047da1547ffb1b2203d8be4c0af6b1f20 - name: Log in to GitHub Container Registry uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 From 755131fcdf25814dd29dab970331a20547224231 Mon Sep 17 00:00:00 2001 From: Christopher Christofi <77968333+ChristopherChristofi@users.noreply.github.com> Date: Mon, 18 Mar 2024 13:19:53 +0000 Subject: [PATCH 095/155] py-optax: add new version (#43169) --- var/spack/repos/builtin/packages/py-optax/package.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-optax/package.py b/var/spack/repos/builtin/packages/py-optax/package.py index 683a2d9cce57bf..4306524a7ace73 100644 --- a/var/spack/repos/builtin/packages/py-optax/package.py +++ b/var/spack/repos/builtin/packages/py-optax/package.py @@ -14,12 +14,15 @@ class PyOptax(PythonPackage): license("Apache-2.0") + version("0.2.1", sha256="fc9f430fa057377140d00aa50611dabbd7e8f4999e3c7543f641f9db6997cb1a") version("0.1.7", sha256="6a5a848bc5e55e619b187c749fdddc4a5443ea14be85cc769f995779865c110d") - depends_on("python@3.8:", type=("build", "run")) + depends_on("python@3.9:", when="@0.2.1:", type=("build", "run")) + depends_on("python@3.8:", when="@0.1.7", type=("build", "run")) depends_on("py-flit-core@3.2:3", type="build") depends_on("py-absl-py@0.7.1:", type=("build", "run")) - depends_on("py-chex@0.1.5:", type=("build", "run")) + depends_on("py-chex@0.1.7:", when="@0.2.1:", type=("build", "run")) + depends_on("py-chex@0.1.5:", when="@0.1.7", type=("build", "run")) depends_on("py-jax@0.1.55:", type=("build", "run")) depends_on("py-jaxlib@0.1.37:", type=("build", "run")) depends_on("py-numpy@1.18.0:", type=("build", "run")) From 193386f6ac20c44a41b063aa966e3513bc448463 Mon Sep 17 00:00:00 2001 From: "John W. Parent" <45471568+johnwparent@users.noreply.github.com> Date: Mon, 18 Mar 2024 09:40:32 -0400 Subject: [PATCH 096/155] netcdfc: consider static build in pkgconf filtering (#43084) --- var/spack/repos/builtin/packages/netcdf-c/package.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/netcdf-c/package.py b/var/spack/repos/builtin/packages/netcdf-c/package.py index 82d7d6792c568e..8753edb6e3d7c5 100644 --- a/var/spack/repos/builtin/packages/netcdf-c/package.py +++ b/var/spack/repos/builtin/packages/netcdf-c/package.py @@ -367,9 +367,9 @@ def patch_hdf5_pkgconfigcmake(self): settingsconfig_file = find(self.prefix, "libnetcdf.settings", recursive=True) files = pkgconfig_file + cmakeconfig_file + ncconfig_file + settingsconfig_file - - filter_file("hdf5-shared", "hdf5", *files, ignore_absent=True) - filter_file("hdf5_hl-shared", "hdf5_hl", *files, ignore_absent=True) + config = "shared" if self.spec.satisfies("+shared") else "static" + filter_file(f"hdf5-{config}", "hdf5", *files, ignore_absent=True) + filter_file(f"hdf5_hl-{config}", "hdf5_hl", *files, ignore_absent=True) class AutotoolsBuilder(BaseBuilder, autotools.AutotoolsBuilder): From 6e0bab1706750c845b0a3daddf5f76bde4219371 Mon Sep 17 00:00:00 2001 From: jdomke <28772296+jdomke@users.noreply.github.com> Date: Mon, 18 Mar 2024 23:12:44 +0900 Subject: [PATCH 097/155] fujitsu-mpi: add gcc and clang support (#43053) Co-authored-by: domke <673751-domke@users.noreply.gitlab.com> --- .../builtin/packages/fujitsu-mpi/package.py | 36 ++++++++++++++----- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/var/spack/repos/builtin/packages/fujitsu-mpi/package.py b/var/spack/repos/builtin/packages/fujitsu-mpi/package.py index c3ae7d9456bbc1..91ba765750e7ac 100644 --- a/var/spack/repos/builtin/packages/fujitsu-mpi/package.py +++ b/var/spack/repos/builtin/packages/fujitsu-mpi/package.py @@ -14,7 +14,13 @@ class FujitsuMpi(Package): homepage = "https://www.fujitsu.com/us/" provides("mpi@3.1:") - requires("%fj") + requires( + "%fj@4:", + "%clang@11:", + "%gcc@8:", + policy="one_of", + msg="currently only supports Fujitsu, Clang, or GCC compilers", + ) def install(self, spec, prefix): raise InstallError("Fujitsu MPI is not installable; it is vendor supplied") @@ -36,15 +42,27 @@ def libs(self): return find_libraries(libraries, root=self.prefix, shared=True, recursive=True) def setup_dependent_package(self, module, dependent_spec): - self.spec.mpicc = self.prefix.bin.mpifcc - self.spec.mpicxx = self.prefix.bin.mpiFCC - self.spec.mpif77 = self.prefix.bin.mpifrt - self.spec.mpifc = self.prefix.bin.mpifrt + if self.spec.satisfies("%gcc"): + self.spec.mpicc = self.prefix.bin.mpicc + self.spec.mpicxx = self.prefix.bin.mpicxx + self.spec.mpif77 = self.prefix.bin.mpif77 + self.spec.mpifc = self.prefix.bin.mpifort + else: + self.spec.mpicc = self.prefix.bin.mpifcc + self.spec.mpicxx = self.prefix.bin.mpiFCC + self.spec.mpif77 = self.prefix.bin.mpifrt + self.spec.mpifc = self.prefix.bin.mpifrt def setup_run_environment(self, env): # Because MPI are both compilers and runtimes, we set up the compilers # as part of run environment - env.set("MPICC", self.prefix.bin.mpifcc) - env.set("MPICXX", self.prefix.bin.mpiFCC) - env.set("MPIF77", self.prefix.bin.mpifrt) - env.set("MPIF90", self.prefix.bin.mpifrt) + if self.spec.satisfies("%gcc"): + env.set("MPICC", self.prefix.bin.mpicc) + env.set("MPICXX", self.prefix.bin.mpicxx) + env.set("MPIF77", self.prefix.bin.mpif77) + env.set("MPIF90", self.prefix.bin.mpifort) + else: + env.set("MPICC", self.prefix.bin.mpifcc) + env.set("MPICXX", self.prefix.bin.mpiFCC) + env.set("MPIF77", self.prefix.bin.mpifrt) + env.set("MPIF90", self.prefix.bin.mpifrt) From 56ace9a08717ebb90110a738df21eab5555e262e Mon Sep 17 00:00:00 2001 From: Sinan Date: Mon, 18 Mar 2024 07:13:50 -0700 Subject: [PATCH 098/155] py-wand: add v0.6.13 (#42972) --- var/spack/repos/builtin/packages/py-wand/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-wand/package.py b/var/spack/repos/builtin/packages/py-wand/package.py index f9561813af2bbc..9beb18cce58410 100644 --- a/var/spack/repos/builtin/packages/py-wand/package.py +++ b/var/spack/repos/builtin/packages/py-wand/package.py @@ -14,7 +14,9 @@ class PyWand(PythonPackage): license("MIT") + version("0.6.13", sha256="f5013484eaf7a20eb22d1821aaefe60b50cc329722372b5f8565d46d4aaafcca") version("0.6.11", sha256="b661700da9f8f1e931e52726e4fc643a565b9514f5883d41b773e3c37c9fa995") + version("0.5.9", sha256="6eaca78e53fbe329b163f0f0b28f104de98edbd69a847268cc5d6a6e392b9b28") version("0.5.6", sha256="d06b59f36454024ce952488956319eb542d5dc65f1e1b00fead71df94dbfcf88") version("0.4.2", sha256="a0ded99a9824ddd82617a4b449164e2c5c93853aaff96f9e0bab8b405d62ca7c") From d5c1e16e430db1d919420eaed3e87ba51cd4d0fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gregor=20Dai=C3=9F?= Date: Mon, 18 Mar 2024 09:52:16 -0500 Subject: [PATCH 099/155] sgpp: update dependency versions (#43178) Co-authored-by: Massimiliano Culpo --- .../repos/builtin/packages/sgpp/package.py | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/var/spack/repos/builtin/packages/sgpp/package.py b/var/spack/repos/builtin/packages/sgpp/package.py index 635f047166e423..c7eb4177c0abe9 100644 --- a/var/spack/repos/builtin/packages/sgpp/package.py +++ b/var/spack/repos/builtin/packages/sgpp/package.py @@ -46,11 +46,13 @@ class Sgpp(SConsPackage): # Fixes compilation with AVX512 and datadriven # Fixed in SGpp in PR https://github.com/SGpp/SGpp/pull/229 patch("avx512_datadriven_compilation.patch", when="@:3.3.0+datadriven") - # Continue despite distutils deprecation warning! - # distutils will be removed in future SGpp versions. See - # https://github.com/SGpp/SGpp/issues/263 for associated issue! - # TODO Once distutils is removed from SGpp, limit patch to @:3.4.0 - patch("disable_disutils_deprecation_warning.patch", when="^python@3.10:3.11") + # The distutils deprecation warning in python 3.10/3.11 caused the sgpp build system + # to complain about missing headers (due to a path check not working anymore) + # See issue https://github.com/SGpp/SGpp/issues/263 and https://github.com/SGpp/SGpp/pull/266 + patch("disable_disutils_deprecation_warning.patch", when="@:3.4.0 ^python@3.10:3.11") + # SGpp does not contain aarch64 support as of yet. To make it work still, this patch adds + # simple build system support for it. + patch("for_aarch64.patch", when="target=aarch64:") variant("python", default=True, description="Provide Python bindings for SGpp") variant("optimization", default=True, description="Builds the optimization module of SGpp") @@ -66,30 +68,30 @@ class Sgpp(SConsPackage): variant("mpi", default=False, description="Enables support for MPI-distributed operations") # Mandatory dependencies - depends_on("scons@3:", type=("build")) - depends_on("zlib-api", type=("link")) + depends_on("scons@3:", type="build") + depends_on("zlib-api", type="link") # Python dependencies extends("python", when="+python") depends_on("py-pip", when="+python", type="build") depends_on("py-wheel", when="+python", type="build") - # TODO allow newer versions once distutils is removed from SGpp - depends_on("py-setuptools@:59", type=("build")) - # TODO allow newer versions once distutils is removed from SGpp - depends_on("python@3.7:3.11", type=("build", "run")) - depends_on("swig@3:", when="+python", type=("build")) + depends_on("py-setuptools", type="build") + # Older SGpp releases (:3.4.0) do not support python 3.12 due to them using distutils + depends_on("python@3.7:3.11", type=("build", "run"), when="@:3.4.0") + # SGpp@master works with newer python versions (3.12:) as well + depends_on("python@3.7:", type=("build", "run")) + # Newest swig version 4.1 seems to cause problem -> limit to 3:4.0 for now + depends_on("swig@3:4.0", when="+python", type="build") depends_on("py-numpy@1.17:", when="+python", type=("build", "run")) depends_on("py-scipy@1.3:", when="+python", type=("build", "run")) # OpenCL dependency depends_on("opencl@1.1:", when="+opencl", type=("build", "run")) # MPI dependency depends_on("mpi", when="+mpi", type=("build", "run")) - # Testing requires boost test - depends_on("boost+test", type=("test")) # TODO: replace this with an explicit list of components of Boost, # for instance depends_on('boost +filesystem') # See https://github.com/spack/spack/pull/22303 for reference - depends_on(Boost.with_default_variants, type=("test")) + depends_on(Boost.with_default_variants, type="test") # Compiler with C++11 support is required conflicts("%gcc@:4.8.4", msg="Compiler with c++11 support is required!") @@ -116,8 +118,6 @@ class Sgpp(SConsPackage): conflicts("+combigrid", when="@1.0.0:3.2.0~solver") conflicts("+combigrid", when="@1.0.0:3.2.0~quadrature") - patch("for_aarch64.patch", when="target=aarch64:") - def build_args(self, spec, prefix): # Testing parameters if self.run_tests: @@ -177,6 +177,8 @@ def build_args(self, spec, prefix): else: self.args.append("CXX={0}".format(self.compiler.cxx)) + # Parallel builds do not seem to work without this: + self.args.append("-j{0}".format(make_jobs)) return self.args def install_args(self, spec, prefix): From 3984dd750c5fd0005164d1e04a6bef37706f532e Mon Sep 17 00:00:00 2001 From: Sinan Date: Mon, 18 Mar 2024 11:33:39 -0700 Subject: [PATCH 100/155] package/py-setuptools_add_new_versions (#43180) Co-authored-by: Harmen Stoppels --- .../builtin/packages/py-setuptools/package.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-setuptools/package.py b/var/spack/repos/builtin/packages/py-setuptools/package.py index c5d5f7bfef2b02..f38aca364e1abc 100644 --- a/var/spack/repos/builtin/packages/py-setuptools/package.py +++ b/var/spack/repos/builtin/packages/py-setuptools/package.py @@ -19,6 +19,26 @@ class PySetuptools(Package, PythonExtension): # Requires railroad skip_modules = ["setuptools._vendor", "pkg_resources._vendor"] + version( + "69.2.0", + sha256="c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c", + expand=False, + ) + version( + "69.1.1", + sha256="02fa291a0471b3a18b2b2481ed902af520c69e8ae0919c13da936542754b4c56", + expand=False, + ) + version( + "69.0.3", + sha256="385eb4edd9c9d5c17540511303e39a147ce2fc04bc55289c322b9e5904fe2c05", + expand=False, + ) + version( + "68.2.2", + sha256="b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a", + expand=False, + ) version( "68.0.0", sha256="11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f", From 9756354998c7892d070ac799a99303f1f7dd7028 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Aum=C3=BCller?= Date: Tue, 19 Mar 2024 09:29:44 +0100 Subject: [PATCH 101/155] mgard: don't restrict protobuf version more than necessary (#43172) * mgard: don't restrict protobuf version more than necessary successfully built: mgard@2022-11-18 ^protobuf@3.{4,21,25} mgard@2023-01-10 ^protobuf@3.{4,25} mgard@2023-03-31 ^protobuf@3.{4,25} compile failures: mgard@2022-11-18 ^protobuf@3.3 mgard@2023-01-10 ^protobuf@3.3 mgard@2023-03-31 ^protobuf@3.3 * mgard: add conflicts to address CI errors * mgard: conflict between cuda and abseil@20240116.1 compiling mgard+cuda with gcc@12.3.0 and nvcc from cuda@12.3.0 against protobuf pulling in abseil-cpp@20240116.1 results in the errors reported here: https://github.com/abseil/abseil-cpp/issues/1629 --- var/spack/repos/builtin/packages/mgard/package.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/mgard/package.py b/var/spack/repos/builtin/packages/mgard/package.py index 4ba1810a4b639a..948ccabf0b2d29 100644 --- a/var/spack/repos/builtin/packages/mgard/package.py +++ b/var/spack/repos/builtin/packages/mgard/package.py @@ -49,7 +49,7 @@ class Mgard(CMakePackage, CudaPackage): depends_on("zlib-api") depends_on("pkgconfig", type=("build",), when="@2022-11-18:") depends_on("zstd") - depends_on("protobuf@:3.21.12", when="@2022-11-18:") + depends_on("protobuf@3.4:", when="@2022-11-18:") depends_on("libarchive", when="@2021-11-12:") depends_on("tclap", when="@2021-11-12") depends_on("yaml-cpp", when="@2021-11-12:") @@ -64,6 +64,10 @@ class Mgard(CMakePackage, CudaPackage): "~cuda", when="@2021-11-12", msg="without cuda MGARD@2021-11-12 has undefined symbols" ) conflicts("%gcc@:7", when="@2022-11-18:", msg="requires std::optional and other c++17 things") + conflicts("protobuf@3.22:", when="target=ppc64le", msg="GCC 9.4 segfault in CI") + conflicts("protobuf@3.22:", when="+cuda target=aarch64:", msg="nvcc fails on ARM SIMD headers") + # https://github.com/abseil/abseil-cpp/issues/1629 + conflicts("abseil-cpp@20240116.1", when="+cuda", msg="triggers nvcc parser bug") def flag_handler(self, name, flags): if name == "cxxflags": From 1a007a842b180e3abf4cafa2bf71720d3d3db027 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Tue, 19 Mar 2024 15:41:50 +0100 Subject: [PATCH 102/155] cmake: deprecate old patch releases and add missing gmake dep (#43261) --- .../repos/builtin/packages/cmake/package.py | 434 +++++++++++++----- 1 file changed, 322 insertions(+), 112 deletions(-) diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py index b9460331cc1840..ab2366982d3270 100644 --- a/var/spack/repos/builtin/packages/cmake/package.py +++ b/var/spack/repos/builtin/packages/cmake/package.py @@ -30,146 +30,352 @@ class Cmake(Package): version("master", branch="master") version("3.27.9", sha256="609a9b98572a6a5ea477f912cffb973109ed4d0a6a6b3f9e2353d2cdc048708e") - version("3.27.8", sha256="fece24563f697870fbb982ea8bf17482c9d5f855d8c9bf0b82463d76c9e8d0cc") - version("3.27.7", sha256="08f71a106036bf051f692760ef9558c0577c42ac39e96ba097e7662bd4158d8e") - version("3.27.6", sha256="ef3056df528569e0e8956f6cf38806879347ac6de6a4ff7e4105dc4578732cfb") - version("3.27.4", sha256="0a905ca8635ca81aa152e123bdde7e54cbe764fdd9a70d62af44cad8b92967af") - version("3.27.3", sha256="66afdc0f181461b70b6fedcde9ecc4226c5cd184e7203617c83b7d8e47f49521") - version("3.27.2", sha256="798e50085d423816fe96c9ef8bee5e50002c9eca09fed13e300de8a91d35c211") - version("3.27.1", sha256="b1a6b0135fa11b94476e90f5b32c4c8fad480bf91cf22d0ded98ce22c5132004") - version("3.27.0", sha256="aaeddb6b28b993d0a6e32c88123d728a17561336ab90e0bf45032383564d3cb8") version("3.26.6", sha256="070b9a2422e666d2c1437e2dab239a236e8a63622d0a8d0ffe9e389613d2b76a") - version("3.26.5", sha256="c0970b1e44a7fbca4322997ce05dac521b04748fe424922152faf22d20782bf9") - version("3.26.4", sha256="313b6880c291bd4fe31c0aa51d6e62659282a521e695f30d5cc0d25abbd5c208") - version("3.26.3", sha256="bbd8d39217509d163cb544a40d6428ac666ddc83e22905d3e52c925781f0f659") - version("3.26.2", sha256="d54f25707300064308ef01d4d21b0f98f508f52dda5d527d882b9d88379f89a8") - version("3.26.1", sha256="f29964290ad3ced782a1e58ca9fda394a82406a647e24d6afd4e6c32e42c412f") - version("3.26.0", sha256="4256613188857e95700621f7cdaaeb954f3546a9249e942bc2f9b3c26e381365") version("3.25.3", sha256="cc995701d590ca6debc4245e9989939099ca52827dd46b5d3592f093afe1901c") - version("3.25.2", sha256="c026f22cb931dd532f648f087d587f07a1843c6e66a3dfca4fb0ea21944ed33c") - version("3.25.1", sha256="1c511d09516af493694ed9baf13c55947a36389674d657a2d5e0ccedc6b291d8") - version("3.25.0", sha256="306463f541555da0942e6f5a0736560f70c487178b9d94a5ae7f34d0538cdd48") version("3.24.4", sha256="32c9e499510eff7070d3f0adfbabe0afea2058608c5fa93e231beb49fbfa2296") - version("3.24.3", sha256="b53aa10fa82bff84ccdb59065927b72d3bee49f4d86261249fc0984b3b367291") - version("3.24.2", sha256="0d9020f06f3ddf17fb537dc228e1a56c927ee506b486f55fe2dc19f69bf0c8db") - version("3.24.1", sha256="4931e277a4db1a805f13baa7013a7757a0cbfe5b7932882925c7061d9d1fa82b") - version("3.24.0", sha256="c2b61f7cdecb1576cad25f918a8f42b8685d88a832fd4b62b9e0fa32e915a658") version("3.23.5", sha256="f2944cde7a140b992ba5ccea2009a987a92413762250de22ebbace2319a0f47d") - version("3.23.4", sha256="aa8b6c17a5adf04de06e42c06adc7e25b21e4fe8378f44f703a861e5f6ac59c7") - version("3.23.3", sha256="06fefaf0ad94989724b56f733093c2623f6f84356e5beb955957f9ce3ee28809") - version("3.23.2", sha256="f316b40053466f9a416adf981efda41b160ca859e97f6a484b447ea299ff26aa") - version("3.23.1", sha256="33fd10a8ec687a4d0d5b42473f10459bb92b3ae7def2b745dc10b192760869f3") - version("3.23.0", sha256="5ab0a12f702f44013be7e19534cd9094d65cc9fe7b2cd0f8c9e5318e0fe4ac82") version("3.22.6", sha256="73933163670ea4ea95c231549007b0c7243282293506a2cf4443714826ad5ec3") - version("3.22.5", sha256="d3987c3f7759fa0a401c5fcd5076be44a19613bfaa8baee1b5d1835750dc5375") - version("3.22.4", sha256="5c55d0b0bc4c191549e3502b8f99a4fe892077611df22b4178cc020626e22a47") - version("3.22.3", sha256="9f8469166f94553b6978a16ee29227ec49a2eb5ceb608275dec40d8ae0d1b5a0") - version("3.22.2", sha256="3c1c478b9650b107d452c5bd545c72e2fad4e37c09b89a1984b9a2f46df6aced") - version("3.22.1", sha256="0e998229549d7b3f368703d20e248e7ee1f853910d42704aa87918c213ea82c0") - version("3.22.0", sha256="998c7ba34778d2dfdb3df8a695469e24b11e2bfa21fbe41b361a3f45e1c9345e") version("3.21.7", sha256="3523c4a5afc61ac3d7c92835301cdf092129c9b672a6ee17e68c92e928c1375a") - version("3.21.6", sha256="b7c3ac35ca7ed3cce8c192c9c873e6061aaecc8b2bc564290e629b10bff59f3c") - version("3.21.5", sha256="c73587b5ab827d56c09f0a1e256b12743ff200495e31fc9686f2b9dc8a28897f") - version("3.21.4", sha256="d9570a95c215f4c9886dd0f0564ca4ef8d18c30750f157238ea12669c2985978") - version("3.21.3", sha256="d14d06df4265134ee42c4d50f5a60cb8b471b7b6a47da8e5d914d49dd783794f") - version("3.21.2", sha256="94275e0b61c84bb42710f5320a23c6dcb2c6ee032ae7d2a616f53f68b3d21659") - version("3.21.1", sha256="fac3915171d4dff25913975d712f76e69aef44bf738ba7b976793a458b4cfed4") - version("3.21.0", sha256="4a42d56449a51f4d3809ab4d3b61fd4a96a469e56266e896ce1009b5768bd2ab") version("3.20.6", sha256="a0bd485e1a38dd13c0baec89d5f4adbf61c7fd32fddb38eabc69a75bc0b65d72") - version("3.20.5", sha256="12c8040ef5c6f1bc5b8868cede16bb7926c18980f59779e299ab52cbc6f15bb0") - version("3.20.4", sha256="87a4060298f2c6bb09d479de1400bc78195a5b55a65622a7dceeb3d1090a1b16") - version("3.20.3", sha256="4d008ac3461e271fcfac26a05936f77fc7ab64402156fb371d41284851a651b8") - version("3.20.2", sha256="aecf6ecb975179eb3bb6a4a50cae192d41e92b9372b02300f9e8f1d5f559544e") - version("3.20.1", sha256="3f1808b9b00281df06c91dd7a021d7f52f724101000da7985a401678dfe035b0") - version("3.20.0", sha256="9c06b2ddf7c337e31d8201f6ebcd3bba86a9a033976a9aee207fe0c6971f4755") version("3.19.8", sha256="09b4fa4837aae55c75fb170f6a6e2b44818deba48335d1969deddfbb34e30369") - version("3.19.7", sha256="58a15f0d56a0afccc3cc5371234fce73fcc6c8f9dbd775d898e510b83175588e") - version("3.19.6", sha256="ec87ab67c45f47c4285f204280c5cde48e1c920cfcfed1555b27fb3b1a1d20ba") - version("3.19.5", sha256="c432296eb5dec6d71eae15d140f6297d63df44e9ffe3e453628d1dc8fc4201ce") - version("3.19.4", sha256="7d0232b9f1c57e8de81f38071ef8203e6820fe7eec8ae46a1df125d88dbcc2e1") - version("3.19.3", sha256="3faca7c131494a1e34d66e9f8972ff5369e48d419ea8ceaa3dc15b4c11367732") - version("3.19.2", sha256="e3e0fd3b23b7fb13e1a856581078e0776ffa2df4e9d3164039c36d3315e0c7f0") - version("3.19.1", sha256="1d266ea3a76ef650cdcf16c782a317cb4a7aa461617ee941e389cb48738a3aba") - version("3.19.0", sha256="fdda688155aa7e72b7c63ef6f559fca4b6c07382ea6dca0beb5f45aececaf493") version("3.18.6", sha256="124f571ab70332da97a173cb794dfa09a5b20ccbb80a08e56570a500f47b6600") - version("3.18.5", sha256="080bf24b0f73f4bf3ec368d2be1aa59369b9bb1cd693deeb6f18fe553ca74ab4") - version("3.18.4", sha256="597c61358e6a92ecbfad42a9b5321ddd801fc7e7eca08441307c9138382d4f77") - version("3.18.3", sha256="2c89f4e30af4914fd6fb5d00f863629812ada848eee4e2d29ec7e456d7fa32e5") - version("3.18.2", sha256="5d4e40fc775d3d828c72e5c45906b4d9b59003c9433ff1b36a1cb552bbd51d7e") - version("3.18.1", sha256="c0e3338bd37e67155b9d1e9526fec326b5c541f74857771b7ffed0c46ad62508") - version("3.18.0", sha256="83b4ffcb9482a73961521d2bafe4a16df0168f03f56e6624c419c461e5317e29") version("3.17.5", sha256="8c3083d98fd93c1228d5e4e40dbff2dd88f4f7b73b9fa24a2938627b8bc28f1a") - version("3.17.4", sha256="86985d73d0a63ec99c236aab5287316e252164f33d7c4cb160954a980c71f36f") - version("3.17.3", sha256="0bd60d512275dc9f6ef2a2865426a184642ceb3761794e6b65bff233b91d8c40") - version("3.17.1", sha256="3aa9114485da39cbd9665a0bfe986894a282d5f0882b1dea960a739496620727") - version("3.17.0", sha256="b74c05b55115eacc4fa2b77a814981dbda05cdc95a53e279fe16b7b272f00847") version("3.16.9", sha256="1708361827a5a0de37d55f5c9698004c035abb1de6120a376d5d59a81630191f") - version("3.16.8", sha256="177434021132686cb901fea7db9fa2345efe48d566b998961594d5cc346ac588") - version("3.16.7", sha256="5f49c95a2933b1800f14840f3a389f4cef0b19093985a35053b43f38ec21358f") - version("3.16.6", sha256="6f6ff1a197851b0fa8412ff5de602e6717a4eb9509b2c385b08589c4e7a16b62") - version("3.16.5", sha256="5f760b50b8ecc9c0c37135fae5fbf00a2fef617059aa9d61c1bb91653e5a8bfc") - version("3.16.4", sha256="9bcc8c114d9da603af9512083ed7d4a39911d16105466beba165ba8fe939ac2c") - version("3.16.3", sha256="e54f16df9b53dac30fd626415833a6e75b0e47915393843da1825b096ee60668") - version("3.16.2", sha256="8c09786ec60ca2be354c29829072c38113de9184f29928eb9da8446a5f2ce6a9") - version("3.16.1", sha256="a275b3168fa8626eca4465da7bb159ff07c8c6cb0fb7179be59e12cbdfa725fd") - version("3.16.0", sha256="6da56556c63cab6e9a3e1656e8763ed4a841ac9859fefb63cbe79472e67e8c5f") version("3.15.7", sha256="71999d8a14c9b51708847371250a61533439a7331eb7702ac105cfb3cb1be54b") - version("3.15.6", sha256="3fa17992ac97d3fc856ffba5d3b10578744ea5b4736818f01e6067f0253b2db5") - version("3.15.5", sha256="fbdd7cef15c0ced06bb13024bfda0ecc0dedbcaaaa6b8a5d368c75255243beb4") - version("3.15.4", sha256="8a211589ea21374e49b25fc1fc170e2d5c7462b795f1b29c84dd0e984301ed7a") - version("3.15.3", sha256="13958243a01365b05652fa01b21d40fa834f70a9e30efa69c02604e64f58b8f5") - version("3.15.2", sha256="539088cb29a68e6d6a8fba5c00951e5e5b1a92c68fa38a83e1ed2f355933f768") - version("3.15.1", sha256="18dec548d8f8b04d53c60f9cedcebaa6762f8425339d1e2c889c383d3ccdd7f7") - version("3.15.0", sha256="0678d74a45832cacaea053d85a5685f3ed8352475e6ddf9fcb742ffca00199b5") version("3.14.7", sha256="9221993e0af3e6d10124d840ff24f5b2f3b884416fca04d3312cb0388dec1385") - version("3.14.6", sha256="4e8ea11cabe459308671b476469eace1622e770317a15951d7b55a82ccaaccb9") - version("3.14.5", sha256="505ae49ebe3c63c595fa5f814975d8b72848447ee13b6613b0f8b96ebda18c06") - version("3.14.4", sha256="00b4dc9b0066079d10f16eed32ec592963a44e7967371d2f5077fd1670ff36d9") - version("3.14.3", sha256="215d0b64e81307182b29b63e562edf30b3875b834efdad09b3fcb5a7d2f4b632") - version("3.14.2", sha256="a3cbf562b99270c0ff192f692139e98c605f292bfdbc04d70da0309a5358e71e") - version("3.14.1", sha256="7321be640406338fc12590609c42b0fae7ea12980855c1be363d25dcd76bb25f") - version("3.14.0", sha256="aa76ba67b3c2af1946701f847073f4652af5cbd9f141f221c97af99127e75502") version("3.13.5", sha256="526db6a4b47772d1943b2f86de693e712f9dacf3d7c13b19197c9bef133766a5") - version("3.13.4", sha256="fdd928fee35f472920071d1c7f1a6a2b72c9b25e04f7a37b409349aef3f20e9b") - version("3.13.3", sha256="665f905036b1f731a2a16f83fb298b1fb9d0f98c382625d023097151ad016b25") - version("3.13.2", sha256="c925e7d2c5ba511a69f43543ed7b4182a7d446c274c7480d0e42cd933076ae25") - version("3.13.1", sha256="befe1ce6d672f2881350e94d4e3cc809697dd2c09e5b708b76c1dae74e1b2210") - version("3.13.0", sha256="4058b2f1a53c026564e8936698d56c3b352d90df067b195cb749a97a3d273c90") version("3.12.4", sha256="5255584bfd043eb717562cff8942d472f1c0e4679c4941d84baadaa9b28e3194") - version("3.12.3", sha256="acbf13af31a741794106b76e5d22448b004a66485fc99f6d7df4d22e99da164a") - version("3.12.2", sha256="0f97485799e51a7070cc11494f3e02349b0fc3a24cc12b082e737bf67a0581a4") - version("3.12.1", sha256="c53d5c2ce81d7a957ee83e3e635c8cda5dfe20c9d501a4828ee28e1615e57ab2") - version("3.12.0", sha256="d0781a90f6cdb9049d104ac16a150f9350b693498b9dea8a0331e799db6b9d69") version("3.11.4", sha256="8f864e9f78917de3e1483e256270daabc4a321741592c5b36af028e72bff87f5") - version("3.11.3", sha256="287135b6beb7ffc1ccd02707271080bbf14c21d80c067ae2c0040e5f3508c39a") - version("3.11.2", sha256="5ebc22bbcf2b4c7a20c4190d42c084cf38680a85b1a7980a2f1d5b4a52bf5248") - version("3.11.1", sha256="57bebc6ca4d1d42c6385249d148d9216087e0fda57a47dc5c858790a70217d0c") - version("3.11.0", sha256="c313bee371d4d255be2b4e96fd59b11d58bc550a7c78c021444ae565709a656b") version("3.10.3", sha256="0c3a1dcf0be03e40cf4f341dda79c96ffb6c35ae35f2f911845b72dab3559cf8") - version("3.10.2", sha256="80d0faad4ab56de07aa21a7fc692c88c4ce6156d42b0579c6962004a70a3218b") - version("3.10.1", sha256="7be36ee24b0f5928251b644d29f5ff268330a916944ef4a75e23ba01e7573284") - version("3.10.0", sha256="b3345c17609ea0f039960ef470aa099de9942135990930a57c14575aae884987") version("3.9.6", sha256="7410851a783a41b521214ad987bb534a7e4a65e059651a2514e6ebfc8f46b218") - version("3.9.4", sha256="b5d86f12ae0072db520fdbdad67405f799eb728b610ed66043c20a92b4906ca1") - version("3.9.2", sha256="954a5801a456ee48e76f01107c9a4961677dd0f3e115275bbd18410dc22ba3c1") - version("3.9.0", sha256="167701525183dbb722b9ffe69fb525aa2b81798cf12f5ce1c020c93394dfae0f") version("3.8.2", sha256="da3072794eb4c09f2d782fcee043847b99bb4cf8d4573978d9b2024214d6e92d") - version("3.8.1", sha256="ce5d9161396e06501b00e52933783150a87c33080d4bdcef461b5b7fd24ac228") - version("3.8.0", sha256="cab99162e648257343a20f61bcd0b287f5e88e36fcb2f1d77959da60b7f35969") version("3.7.2", sha256="dc1246c4e6d168ea4d6e042cfba577c1acd65feea27e56f5ff37df920c30cae0") - version("3.7.1", sha256="449a5bce64dbd4d5b9517ebd1a1248ed197add6ad27934478976fd5f1f9330e1") version("3.6.1", sha256="28ee98ec40427d41a45673847db7a905b59ce9243bb866eaf59dce0f58aaef11") - version("3.6.0", sha256="fd05ed40cc40ef9ef99fac7b0ece2e0b871858a82feade48546f5d2940147670") version("3.5.2", sha256="92d8410d3d981bb881dfff2aed466da55a58d34c7390d50449aa59b32bb5e62a") - version("3.5.1", sha256="93d651a754bcf6f0124669646391dd5774c0fc4d407c384e3ae76ef9a60477e8") - version("3.5.0", sha256="92c83ad8a4fd6224cf6319a60b399854f55b38ebe9d297c942408b792b1a9efa") version("3.4.3", sha256="b73f8c1029611df7ed81796bf5ca8ba0ef41c6761132340c73ffe42704f980fa") - version("3.4.0", sha256="a5b82bf6ace6c481cdb911fd5d372a302740cbefd387e05297cb37f7468d1cea") version("3.3.1", sha256="cd65022c6a0707f1c7112f99e9c981677fdd5518f7ddfa0f778d4cee7113e3d6") version("3.1.0", sha256="8bdc3fa3f2da81bc10c772a6b64cc9052acc2901d42e1e1b2588b40df224aad9") version("3.0.2", sha256="6b4ea61eadbbd9bec0ccb383c29d1f4496eacc121ef7acf37c7a24777805693e") version("2.8.10.2", sha256="ce524fb39da06ee6d47534bbcec6e0b50422e18b62abc4781a4ba72ea2910eb1") + with default_args(deprecated=True): + version( + "3.27.8", sha256="fece24563f697870fbb982ea8bf17482c9d5f855d8c9bf0b82463d76c9e8d0cc" + ) + version( + "3.27.7", sha256="08f71a106036bf051f692760ef9558c0577c42ac39e96ba097e7662bd4158d8e" + ) + version( + "3.27.6", sha256="ef3056df528569e0e8956f6cf38806879347ac6de6a4ff7e4105dc4578732cfb" + ) + version( + "3.27.4", sha256="0a905ca8635ca81aa152e123bdde7e54cbe764fdd9a70d62af44cad8b92967af" + ) + version( + "3.27.3", sha256="66afdc0f181461b70b6fedcde9ecc4226c5cd184e7203617c83b7d8e47f49521" + ) + version( + "3.27.2", sha256="798e50085d423816fe96c9ef8bee5e50002c9eca09fed13e300de8a91d35c211" + ) + version( + "3.27.1", sha256="b1a6b0135fa11b94476e90f5b32c4c8fad480bf91cf22d0ded98ce22c5132004" + ) + version( + "3.27.0", sha256="aaeddb6b28b993d0a6e32c88123d728a17561336ab90e0bf45032383564d3cb8" + ) + version( + "3.26.5", sha256="c0970b1e44a7fbca4322997ce05dac521b04748fe424922152faf22d20782bf9" + ) + version( + "3.26.4", sha256="313b6880c291bd4fe31c0aa51d6e62659282a521e695f30d5cc0d25abbd5c208" + ) + version( + "3.26.3", sha256="bbd8d39217509d163cb544a40d6428ac666ddc83e22905d3e52c925781f0f659" + ) + version( + "3.26.2", sha256="d54f25707300064308ef01d4d21b0f98f508f52dda5d527d882b9d88379f89a8" + ) + version( + "3.26.1", sha256="f29964290ad3ced782a1e58ca9fda394a82406a647e24d6afd4e6c32e42c412f" + ) + version( + "3.26.0", sha256="4256613188857e95700621f7cdaaeb954f3546a9249e942bc2f9b3c26e381365" + ) + version( + "3.25.2", sha256="c026f22cb931dd532f648f087d587f07a1843c6e66a3dfca4fb0ea21944ed33c" + ) + version( + "3.25.1", sha256="1c511d09516af493694ed9baf13c55947a36389674d657a2d5e0ccedc6b291d8" + ) + version( + "3.25.0", sha256="306463f541555da0942e6f5a0736560f70c487178b9d94a5ae7f34d0538cdd48" + ) + version( + "3.24.3", sha256="b53aa10fa82bff84ccdb59065927b72d3bee49f4d86261249fc0984b3b367291" + ) + version( + "3.24.2", sha256="0d9020f06f3ddf17fb537dc228e1a56c927ee506b486f55fe2dc19f69bf0c8db" + ) + version( + "3.24.1", sha256="4931e277a4db1a805f13baa7013a7757a0cbfe5b7932882925c7061d9d1fa82b" + ) + version( + "3.24.0", sha256="c2b61f7cdecb1576cad25f918a8f42b8685d88a832fd4b62b9e0fa32e915a658" + ) + version( + "3.23.4", sha256="aa8b6c17a5adf04de06e42c06adc7e25b21e4fe8378f44f703a861e5f6ac59c7" + ) + version( + "3.23.3", sha256="06fefaf0ad94989724b56f733093c2623f6f84356e5beb955957f9ce3ee28809" + ) + version( + "3.23.2", sha256="f316b40053466f9a416adf981efda41b160ca859e97f6a484b447ea299ff26aa" + ) + version( + "3.23.1", sha256="33fd10a8ec687a4d0d5b42473f10459bb92b3ae7def2b745dc10b192760869f3" + ) + version( + "3.23.0", sha256="5ab0a12f702f44013be7e19534cd9094d65cc9fe7b2cd0f8c9e5318e0fe4ac82" + ) + version( + "3.22.5", sha256="d3987c3f7759fa0a401c5fcd5076be44a19613bfaa8baee1b5d1835750dc5375" + ) + version( + "3.22.4", sha256="5c55d0b0bc4c191549e3502b8f99a4fe892077611df22b4178cc020626e22a47" + ) + version( + "3.22.3", sha256="9f8469166f94553b6978a16ee29227ec49a2eb5ceb608275dec40d8ae0d1b5a0" + ) + version( + "3.22.2", sha256="3c1c478b9650b107d452c5bd545c72e2fad4e37c09b89a1984b9a2f46df6aced" + ) + version( + "3.22.1", sha256="0e998229549d7b3f368703d20e248e7ee1f853910d42704aa87918c213ea82c0" + ) + version( + "3.22.0", sha256="998c7ba34778d2dfdb3df8a695469e24b11e2bfa21fbe41b361a3f45e1c9345e" + ) + version( + "3.21.6", sha256="b7c3ac35ca7ed3cce8c192c9c873e6061aaecc8b2bc564290e629b10bff59f3c" + ) + version( + "3.21.5", sha256="c73587b5ab827d56c09f0a1e256b12743ff200495e31fc9686f2b9dc8a28897f" + ) + version( + "3.21.4", sha256="d9570a95c215f4c9886dd0f0564ca4ef8d18c30750f157238ea12669c2985978" + ) + version( + "3.21.3", sha256="d14d06df4265134ee42c4d50f5a60cb8b471b7b6a47da8e5d914d49dd783794f" + ) + version( + "3.21.2", sha256="94275e0b61c84bb42710f5320a23c6dcb2c6ee032ae7d2a616f53f68b3d21659" + ) + version( + "3.21.1", sha256="fac3915171d4dff25913975d712f76e69aef44bf738ba7b976793a458b4cfed4" + ) + version( + "3.21.0", sha256="4a42d56449a51f4d3809ab4d3b61fd4a96a469e56266e896ce1009b5768bd2ab" + ) + version( + "3.20.5", sha256="12c8040ef5c6f1bc5b8868cede16bb7926c18980f59779e299ab52cbc6f15bb0" + ) + version( + "3.20.4", sha256="87a4060298f2c6bb09d479de1400bc78195a5b55a65622a7dceeb3d1090a1b16" + ) + version( + "3.20.3", sha256="4d008ac3461e271fcfac26a05936f77fc7ab64402156fb371d41284851a651b8" + ) + version( + "3.20.2", sha256="aecf6ecb975179eb3bb6a4a50cae192d41e92b9372b02300f9e8f1d5f559544e" + ) + version( + "3.20.1", sha256="3f1808b9b00281df06c91dd7a021d7f52f724101000da7985a401678dfe035b0" + ) + version( + "3.20.0", sha256="9c06b2ddf7c337e31d8201f6ebcd3bba86a9a033976a9aee207fe0c6971f4755" + ) + version( + "3.19.7", sha256="58a15f0d56a0afccc3cc5371234fce73fcc6c8f9dbd775d898e510b83175588e" + ) + version( + "3.19.6", sha256="ec87ab67c45f47c4285f204280c5cde48e1c920cfcfed1555b27fb3b1a1d20ba" + ) + version( + "3.19.5", sha256="c432296eb5dec6d71eae15d140f6297d63df44e9ffe3e453628d1dc8fc4201ce" + ) + version( + "3.19.4", sha256="7d0232b9f1c57e8de81f38071ef8203e6820fe7eec8ae46a1df125d88dbcc2e1" + ) + version( + "3.19.3", sha256="3faca7c131494a1e34d66e9f8972ff5369e48d419ea8ceaa3dc15b4c11367732" + ) + version( + "3.19.2", sha256="e3e0fd3b23b7fb13e1a856581078e0776ffa2df4e9d3164039c36d3315e0c7f0" + ) + version( + "3.19.1", sha256="1d266ea3a76ef650cdcf16c782a317cb4a7aa461617ee941e389cb48738a3aba" + ) + version( + "3.19.0", sha256="fdda688155aa7e72b7c63ef6f559fca4b6c07382ea6dca0beb5f45aececaf493" + ) + version( + "3.18.5", sha256="080bf24b0f73f4bf3ec368d2be1aa59369b9bb1cd693deeb6f18fe553ca74ab4" + ) + version( + "3.18.4", sha256="597c61358e6a92ecbfad42a9b5321ddd801fc7e7eca08441307c9138382d4f77" + ) + version( + "3.18.3", sha256="2c89f4e30af4914fd6fb5d00f863629812ada848eee4e2d29ec7e456d7fa32e5" + ) + version( + "3.18.2", sha256="5d4e40fc775d3d828c72e5c45906b4d9b59003c9433ff1b36a1cb552bbd51d7e" + ) + version( + "3.18.1", sha256="c0e3338bd37e67155b9d1e9526fec326b5c541f74857771b7ffed0c46ad62508" + ) + version( + "3.18.0", sha256="83b4ffcb9482a73961521d2bafe4a16df0168f03f56e6624c419c461e5317e29" + ) + version( + "3.17.4", sha256="86985d73d0a63ec99c236aab5287316e252164f33d7c4cb160954a980c71f36f" + ) + version( + "3.17.3", sha256="0bd60d512275dc9f6ef2a2865426a184642ceb3761794e6b65bff233b91d8c40" + ) + version( + "3.17.1", sha256="3aa9114485da39cbd9665a0bfe986894a282d5f0882b1dea960a739496620727" + ) + version( + "3.17.0", sha256="b74c05b55115eacc4fa2b77a814981dbda05cdc95a53e279fe16b7b272f00847" + ) + version( + "3.16.8", sha256="177434021132686cb901fea7db9fa2345efe48d566b998961594d5cc346ac588" + ) + version( + "3.16.7", sha256="5f49c95a2933b1800f14840f3a389f4cef0b19093985a35053b43f38ec21358f" + ) + version( + "3.16.6", sha256="6f6ff1a197851b0fa8412ff5de602e6717a4eb9509b2c385b08589c4e7a16b62" + ) + version( + "3.16.5", sha256="5f760b50b8ecc9c0c37135fae5fbf00a2fef617059aa9d61c1bb91653e5a8bfc" + ) + version( + "3.16.4", sha256="9bcc8c114d9da603af9512083ed7d4a39911d16105466beba165ba8fe939ac2c" + ) + version( + "3.16.3", sha256="e54f16df9b53dac30fd626415833a6e75b0e47915393843da1825b096ee60668" + ) + version( + "3.16.2", sha256="8c09786ec60ca2be354c29829072c38113de9184f29928eb9da8446a5f2ce6a9" + ) + version( + "3.16.1", sha256="a275b3168fa8626eca4465da7bb159ff07c8c6cb0fb7179be59e12cbdfa725fd" + ) + version( + "3.16.0", sha256="6da56556c63cab6e9a3e1656e8763ed4a841ac9859fefb63cbe79472e67e8c5f" + ) + version( + "3.15.6", sha256="3fa17992ac97d3fc856ffba5d3b10578744ea5b4736818f01e6067f0253b2db5" + ) + version( + "3.15.5", sha256="fbdd7cef15c0ced06bb13024bfda0ecc0dedbcaaaa6b8a5d368c75255243beb4" + ) + version( + "3.15.4", sha256="8a211589ea21374e49b25fc1fc170e2d5c7462b795f1b29c84dd0e984301ed7a" + ) + version( + "3.15.3", sha256="13958243a01365b05652fa01b21d40fa834f70a9e30efa69c02604e64f58b8f5" + ) + version( + "3.15.2", sha256="539088cb29a68e6d6a8fba5c00951e5e5b1a92c68fa38a83e1ed2f355933f768" + ) + version( + "3.15.1", sha256="18dec548d8f8b04d53c60f9cedcebaa6762f8425339d1e2c889c383d3ccdd7f7" + ) + version( + "3.15.0", sha256="0678d74a45832cacaea053d85a5685f3ed8352475e6ddf9fcb742ffca00199b5" + ) + version( + "3.14.6", sha256="4e8ea11cabe459308671b476469eace1622e770317a15951d7b55a82ccaaccb9" + ) + version( + "3.14.5", sha256="505ae49ebe3c63c595fa5f814975d8b72848447ee13b6613b0f8b96ebda18c06" + ) + version( + "3.14.4", sha256="00b4dc9b0066079d10f16eed32ec592963a44e7967371d2f5077fd1670ff36d9" + ) + version( + "3.14.3", sha256="215d0b64e81307182b29b63e562edf30b3875b834efdad09b3fcb5a7d2f4b632" + ) + version( + "3.14.2", sha256="a3cbf562b99270c0ff192f692139e98c605f292bfdbc04d70da0309a5358e71e" + ) + version( + "3.14.1", sha256="7321be640406338fc12590609c42b0fae7ea12980855c1be363d25dcd76bb25f" + ) + version( + "3.14.0", sha256="aa76ba67b3c2af1946701f847073f4652af5cbd9f141f221c97af99127e75502" + ) + version( + "3.13.4", sha256="fdd928fee35f472920071d1c7f1a6a2b72c9b25e04f7a37b409349aef3f20e9b" + ) + version( + "3.13.3", sha256="665f905036b1f731a2a16f83fb298b1fb9d0f98c382625d023097151ad016b25" + ) + version( + "3.13.2", sha256="c925e7d2c5ba511a69f43543ed7b4182a7d446c274c7480d0e42cd933076ae25" + ) + version( + "3.13.1", sha256="befe1ce6d672f2881350e94d4e3cc809697dd2c09e5b708b76c1dae74e1b2210" + ) + version( + "3.13.0", sha256="4058b2f1a53c026564e8936698d56c3b352d90df067b195cb749a97a3d273c90" + ) + version( + "3.12.3", sha256="acbf13af31a741794106b76e5d22448b004a66485fc99f6d7df4d22e99da164a" + ) + version( + "3.12.2", sha256="0f97485799e51a7070cc11494f3e02349b0fc3a24cc12b082e737bf67a0581a4" + ) + version( + "3.12.1", sha256="c53d5c2ce81d7a957ee83e3e635c8cda5dfe20c9d501a4828ee28e1615e57ab2" + ) + version( + "3.12.0", sha256="d0781a90f6cdb9049d104ac16a150f9350b693498b9dea8a0331e799db6b9d69" + ) + version( + "3.11.3", sha256="287135b6beb7ffc1ccd02707271080bbf14c21d80c067ae2c0040e5f3508c39a" + ) + version( + "3.11.2", sha256="5ebc22bbcf2b4c7a20c4190d42c084cf38680a85b1a7980a2f1d5b4a52bf5248" + ) + version( + "3.11.1", sha256="57bebc6ca4d1d42c6385249d148d9216087e0fda57a47dc5c858790a70217d0c" + ) + version( + "3.11.0", sha256="c313bee371d4d255be2b4e96fd59b11d58bc550a7c78c021444ae565709a656b" + ) + version( + "3.10.2", sha256="80d0faad4ab56de07aa21a7fc692c88c4ce6156d42b0579c6962004a70a3218b" + ) + version( + "3.10.1", sha256="7be36ee24b0f5928251b644d29f5ff268330a916944ef4a75e23ba01e7573284" + ) + version( + "3.10.0", sha256="b3345c17609ea0f039960ef470aa099de9942135990930a57c14575aae884987" + ) + version("3.9.4", sha256="b5d86f12ae0072db520fdbdad67405f799eb728b610ed66043c20a92b4906ca1") + version("3.9.2", sha256="954a5801a456ee48e76f01107c9a4961677dd0f3e115275bbd18410dc22ba3c1") + version("3.9.0", sha256="167701525183dbb722b9ffe69fb525aa2b81798cf12f5ce1c020c93394dfae0f") + version("3.8.1", sha256="ce5d9161396e06501b00e52933783150a87c33080d4bdcef461b5b7fd24ac228") + version("3.8.0", sha256="cab99162e648257343a20f61bcd0b287f5e88e36fcb2f1d77959da60b7f35969") + version("3.7.1", sha256="449a5bce64dbd4d5b9517ebd1a1248ed197add6ad27934478976fd5f1f9330e1") + version("3.6.0", sha256="fd05ed40cc40ef9ef99fac7b0ece2e0b871858a82feade48546f5d2940147670") + version("3.5.1", sha256="93d651a754bcf6f0124669646391dd5774c0fc4d407c384e3ae76ef9a60477e8") + version("3.5.0", sha256="92c83ad8a4fd6224cf6319a60b399854f55b38ebe9d297c942408b792b1a9efa") + version("3.4.0", sha256="a5b82bf6ace6c481cdb911fd5d372a302740cbefd387e05297cb37f7468d1cea") + variant( "build_type", default="Release", @@ -194,6 +400,10 @@ class Cmake(Package): ) depends_on("ninja", when="platform=windows") + depends_on("gmake", when="platform=linux") + depends_on("gmake", when="platform=darwin") + depends_on("gmake", when="platform=cray") + depends_on("gmake", when="platform=freebsd") # We default ownlibs to true because it greatly speeds up the CMake # build, and CMake is built frequently. Also, CMake is almost always From ab590cc03a7ab0c9e36d2254648d72e7c633bd00 Mon Sep 17 00:00:00 2001 From: "John W. Parent" <45471568+johnwparent@users.noreply.github.com> Date: Tue, 19 Mar 2024 11:43:29 -0400 Subject: [PATCH 103/155] WGL: Update `libs` for new archspec on Win (#43253) --- var/spack/repos/builtin/packages/wgl/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/wgl/package.py b/var/spack/repos/builtin/packages/wgl/package.py index 17be11243d8899..9a3a0bc7e7d6f4 100644 --- a/var/spack/repos/builtin/packages/wgl/package.py +++ b/var/spack/repos/builtin/packages/wgl/package.py @@ -69,7 +69,7 @@ def determine_version(cls, lib): return ver_str if not ver_str else Version(ver_str.group()) def _spec_arch_to_sdk_arch(self): - spec_arch = str(self.spec.architecture.target).lower() + spec_arch = str(self.spec.architecture.target.microarchitecture.family).lower() _64bit = "64" in spec_arch arm = "arm" in spec_arch if arm: From b659eac453427be807543468889ab289ed3f71ef Mon Sep 17 00:00:00 2001 From: G-Ragghianti <33492707+G-Ragghianti@users.noreply.github.com> Date: Tue, 19 Mar 2024 11:58:34 -0400 Subject: [PATCH 104/155] slate: add v2023.11.05 (#42913) * Updated version of slate * Added rocm version conflict * Added patch to fix openMP problem --- .../repos/builtin/packages/slate/omp.patch | 20 +++++++++++++++++++ .../repos/builtin/packages/slate/package.py | 7 +++++++ 2 files changed, 27 insertions(+) create mode 100644 var/spack/repos/builtin/packages/slate/omp.patch diff --git a/var/spack/repos/builtin/packages/slate/omp.patch b/var/spack/repos/builtin/packages/slate/omp.patch new file mode 100644 index 00000000000000..b4dab603d97bef --- /dev/null +++ b/var/spack/repos/builtin/packages/slate/omp.patch @@ -0,0 +1,20 @@ +diff --git a/src/omptarget/device_util.hh b/src/omptarget/device_util.hh +index e7aa15c3..3968878d 100644 +--- a/src/omptarget/device_util.hh ++++ b/src/omptarget/device_util.hh +@@ -6,6 +6,8 @@ + #ifndef SLATE_OMPTARGET_UTIL_HH + #define SLATE_OMPTARGET_UTIL_HH + ++#ifdef SLATE_HAVE_OMPTARGET ++ + #include + + namespace slate { +@@ -157,4 +159,6 @@ inline double abs_val(std::complex x) + } // namespace device + } // namespace slate + ++#endif // SLATE_HAVE_OMPTARGET ++ + #endif // SLATE_OMPTARGET_UTIL_HH diff --git a/var/spack/repos/builtin/packages/slate/package.py b/var/spack/repos/builtin/packages/slate/package.py index 284a350624226d..de5ec795ebd23c 100644 --- a/var/spack/repos/builtin/packages/slate/package.py +++ b/var/spack/repos/builtin/packages/slate/package.py @@ -26,6 +26,9 @@ class Slate(CMakePackage, CudaPackage, ROCmPackage): license("BSD-3-Clause") version("master", branch="master") + version( + "2023.11.05", sha256="d3d925adec137ef4b7d876b2d7d0f8f2ff9d8485fa4125454a42f5da4ac026f3" + ) version( "2023.08.25", sha256="0894d8669ed88358cc7c4cb7b77d8467336613245a7b843f3504e9224632ce0e" ) @@ -48,6 +51,8 @@ class Slate(CMakePackage, CudaPackage, ROCmPackage): "2020.10.00", sha256="ff58840cdbae2991d100dfbaf3ef2f133fc2f43fc05f207dc5e38a41137882ab" ) + patch("omp.patch", when="@2023.11.05") + variant( "mpi", default=True, description="Build with MPI support (without MPI is experimental)." ) @@ -77,6 +82,7 @@ class Slate(CMakePackage, CudaPackage, ROCmPackage): for val in ROCmPackage.amdgpu_targets: depends_on("blaspp +rocm amdgpu_target=%s" % val, when="amdgpu_target=%s" % val) depends_on("lapackpp +rocm amdgpu_target=%s" % val, when="amdgpu_target=%s" % val) + depends_on("lapackpp@2023.11.05:", when="@2023.11.05:") depends_on("lapackpp@2023.08.25:", when="@2023.08.25:") depends_on("lapackpp@2022.07.00:", when="@2022.07.00:") depends_on("lapackpp@2022.05.00:", when="@2022.05.00:") @@ -101,6 +107,7 @@ class Slate(CMakePackage, CudaPackage, ROCmPackage): conflicts("+rocm", when="+sycl", msg=backend_msg) conflicts("+cuda", when="+sycl", msg=backend_msg) conflicts("+sycl", when="@:2022.07.00", msg="SYCL support requires SLATE version 2023.08.25") + conflicts("^hip@5.6.0:", when="@:2023.08.25", msg="Incompatible version of HIP/ROCm") def cmake_args(self): spec = self.spec From ea9640315707e5662e4f906da0a42deb68c01d32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Lacroix?= Date: Tue, 19 Mar 2024 19:46:02 +0100 Subject: [PATCH 105/155] ffmpeg: Fix patch hash (#43269) --- var/spack/repos/builtin/packages/ffmpeg/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/ffmpeg/package.py b/var/spack/repos/builtin/packages/ffmpeg/package.py index d12c547da6e5fd..ce88037520b07b 100644 --- a/var/spack/repos/builtin/packages/ffmpeg/package.py +++ b/var/spack/repos/builtin/packages/ffmpeg/package.py @@ -125,7 +125,7 @@ class Ffmpeg(AutotoolsPackage): # Patch fixing a build failure with binutils 2.41.0 patch( "https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff_plain/effadce6c756247ea8bae32dc13bb3e6f464f0eb", - sha256="d1ea47c29968507fee772234bc734d29958b62ab92400801ef28559b538a9168", + sha256="f070ac16be68b4d32b1b5b885d146eb36eb508daa928b6f0f78256c3482f9f0e", when="@:6.0", ) From f16e29559ee3095a95b5e64f0d973c2646ad6571 Mon Sep 17 00:00:00 2001 From: Tom Payerle Date: Tue, 19 Mar 2024 15:04:15 -0400 Subject: [PATCH 106/155] n2p2: add --no-print-directory flag to calls to "make" (#43196) This should fix issue #43192 Basically, had issue where a make variable was set to the output of a shell function which included cd commands, and then the value of that variable used as a makefile target. The cd commands in the shell function caused assorted informational messages (e.g. "Entering directory ...") which got included in the return of the shell function, corrupting the value of the variable. The presence of colons in the corrupted value caused make to issue "multiple target" erros. This fix adds --no-print-directory flags to the calls to the make function in the package's build method, which resolves the issue above. It is admittedly a crude fix, and will remove *all* informational messages re directory changes, thereby potentially making it more difficult to diagnose/debug future issues building this package. However, I do not see a way for to turn off these messages in a more surgical manner. --- var/spack/repos/builtin/packages/n2p2/package.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/var/spack/repos/builtin/packages/n2p2/package.py b/var/spack/repos/builtin/packages/n2p2/package.py index 1c30e9841cf66b..2a41a52c20422f 100644 --- a/var/spack/repos/builtin/packages/n2p2/package.py +++ b/var/spack/repos/builtin/packages/n2p2/package.py @@ -71,11 +71,13 @@ def edit(self, spec, prefix): def build(self, spec, prefix): with working_dir("src"): - make() - make("lammps-nnp") - make("pynnp") + # Add --no-print-directory flag to avoid issues when variables set + # to value of shell function with cd cmd used as target (see #43192) + make("--no-print-directory") + make("--no-print-directory", "lammps-nnp") + make("--no-print-directory", "pynnp") if "+doc" in self.spec: - make("doc") + make("--no-print-directory", "doc") def install(self, spec, prefix): install_tree("bin", prefix.bin) From 06392f2c01621ad505499231ef1645e4481f253c Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Tue, 19 Mar 2024 14:23:19 -0700 Subject: [PATCH 107/155] gnutls: add v3.8.3 (#43229) Co-authored-by: Harmen Stoppels --- var/spack/repos/builtin/packages/gnutls/package.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/var/spack/repos/builtin/packages/gnutls/package.py b/var/spack/repos/builtin/packages/gnutls/package.py index c8b0feb408fe6b..562866a2630a1a 100644 --- a/var/spack/repos/builtin/packages/gnutls/package.py +++ b/var/spack/repos/builtin/packages/gnutls/package.py @@ -17,8 +17,11 @@ class Gnutls(AutotoolsPackage): homepage = "https://www.gnutls.org" url = "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-3.5.19.tar.xz" + maintainers("alecbcs") + license("LGPL-2.1-or-later") + version("3.8.3", sha256="f74fc5954b27d4ec6dfbb11dea987888b5b124289a3703afcada0ee520f4173e") version("3.7.8", sha256="c58ad39af0670efe6a8aee5e3a8b2331a1200418b64b7c51977fb396d4617114") version("3.6.15", sha256="0ea8c3283de8d8335d7ae338ef27c53a916f15f382753b174c18b45ffd481558") version("3.6.14", sha256="5630751adec7025b8ef955af4d141d00d252a985769f51b4059e5affa3d39d63") @@ -36,6 +39,10 @@ class Gnutls(AutotoolsPackage): # gnutls+guile is currently broken on MacOS. See Issue #11668 conflicts("+guile", when="platform=darwin") + # -Wimplicit-int is an error in newer clang + conflicts("%clang@16:", when="@:3.7") + conflicts("%apple-clang@15:", when="@:3.7") + # Note that version 3.3.9 of gnutls doesn't support nettle 3.0. depends_on("nettle@3.4.1:", when="@3.6.7.1:") depends_on("guile", when="+guile") From 588a94bc8c3671b561a147f88a39195283258849 Mon Sep 17 00:00:00 2001 From: Mikael Simberg Date: Tue, 19 Mar 2024 23:02:58 +0100 Subject: [PATCH 108/155] apex: add v2.6.5 (#43242) --- var/spack/repos/builtin/packages/apex/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/apex/package.py b/var/spack/repos/builtin/packages/apex/package.py index a2aab6392b3180..6576f5d9a0474b 100644 --- a/var/spack/repos/builtin/packages/apex/package.py +++ b/var/spack/repos/builtin/packages/apex/package.py @@ -18,6 +18,7 @@ class Apex(CMakePackage): version("develop", branch="develop") version("master", branch="master") + version("2.6.5", sha256="2ba29a1198c904ac209fc6bc02962304a1416443b249f34ef96889aff39644ce") version("2.6.4", sha256="281a673f447762a488577beaa60e48d88cb6354f220457cf8f05c1de2e1fce70") version("2.6.3", sha256="7fef12937d3bd1271a01abe44cb931b1d63823fb5c74287a332f3012ed7297d5") version("2.6.2", sha256="0c3ec26631db7925f50cf4e8920a778b57d11913f239a0eb964081f925129725") From dde8fa5561bc9f8b3e7c19311f53e85a42987a5e Mon Sep 17 00:00:00 2001 From: Bill Williams Date: Tue, 19 Mar 2024 23:40:08 +0100 Subject: [PATCH 109/155] scorep: add conflict for ROCm6 (#43240) Co-authored-by: William Williams Co-authored-by: wrwilliams --- var/spack/repos/builtin/packages/scorep/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/scorep/package.py b/var/spack/repos/builtin/packages/scorep/package.py index 59c36791913030..fd0f6f842d1f96 100644 --- a/var/spack/repos/builtin/packages/scorep/package.py +++ b/var/spack/repos/builtin/packages/scorep/package.py @@ -144,6 +144,8 @@ def url_for_version(self, version): # does not work on macOS # https://github.com/spack/spack/issues/1609 conflicts("platform=darwin") + # Score-P first has support for ROCm 6.x as of v8.4 + conflicts("hip@6.0:", when="@1.0:8.3+hip") def find_libpath(self, libname, root): libs = find_libraries(libname, root, shared=True, recursive=True) From 41d20d3731392a577d64567a590d239e509750a1 Mon Sep 17 00:00:00 2001 From: AMD Toolchain Support <73240730+amd-toolchain-support@users.noreply.github.com> Date: Wed, 20 Mar 2024 04:15:09 +0530 Subject: [PATCH 110/155] amdblibm: add support for parallel build (#43258) --- var/spack/repos/builtin/packages/amdlibm/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/amdlibm/package.py b/var/spack/repos/builtin/packages/amdlibm/package.py index 6f47bdc3818e70..e0e0a36aaabb04 100644 --- a/var/spack/repos/builtin/packages/amdlibm/package.py +++ b/var/spack/repos/builtin/packages/amdlibm/package.py @@ -8,6 +8,7 @@ from llnl.util import tty from spack.package import * +from spack.util.cpus import determine_number_of_jobs class Amdlibm(SConsPackage): @@ -65,7 +66,7 @@ class Amdlibm(SConsPackage): def build_args(self, spec, prefix): """Setting build arguments for amdlibm""" - args = ["--prefix={0}".format(prefix)] + args = [f"-j{determine_number_of_jobs(parallel=True)}", f"--prefix={prefix}"] if self.spec.satisfies("@4.1: "): args.append("--aocl_utils_install_path={0}".format(self.spec["aocl-utils"].prefix)) From 33f6f55d6b3a7e73b356c696855582815c7d22c7 Mon Sep 17 00:00:00 2001 From: AMD Toolchain Support <73240730+amd-toolchain-support@users.noreply.github.com> Date: Wed, 20 Mar 2024 04:15:39 +0530 Subject: [PATCH 111/155] aocl-sparse: fix inconsistency in dependency logic (#43259) --- var/spack/repos/builtin/packages/aocl-sparse/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/aocl-sparse/package.py b/var/spack/repos/builtin/packages/aocl-sparse/package.py index 4b0892cc875b89..765bc0e3215d2c 100644 --- a/var/spack/repos/builtin/packages/aocl-sparse/package.py +++ b/var/spack/repos/builtin/packages/aocl-sparse/package.py @@ -108,7 +108,7 @@ def cmake_args(self): if spec.satisfies("@3.0:"): args.append(self.define_from_variant("BUILD_ILP64", "ilp64")) - if self.spec.satisfies("@4.0:"): + if self.spec.satisfies("@4.1:"): args.append(f"-DAOCL_BLIS_LIB={self.spec['amdblis'].libs}") args.append( "-DAOCL_BLIS_INCLUDE_DIR={0}/blis".format(self.spec["amdblis"].prefix.include) From 3addda6c4dee583a648899fc7e8ab323606adf02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Aum=C3=BCller?= Date: Wed, 20 Mar 2024 00:27:42 +0100 Subject: [PATCH 112/155] mgard: disable C++11 warning also for apple-clang@15 (#43170) --- var/spack/repos/builtin/packages/mgard/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/mgard/package.py b/var/spack/repos/builtin/packages/mgard/package.py index 948ccabf0b2d29..c3abc1a5cfd93e 100644 --- a/var/spack/repos/builtin/packages/mgard/package.py +++ b/var/spack/repos/builtin/packages/mgard/package.py @@ -73,6 +73,8 @@ def flag_handler(self, name, flags): if name == "cxxflags": if self.spec.satisfies("@2020-10-01 %oneapi@2023:"): flags.append("-Wno-error=c++11-narrowing") + if self.spec.satisfies("@2020-10-01 %apple-clang@15:"): + flags.append("-Wno-error=c++11-narrowing") return (flags, None, None) def cmake_args(self): From c33af49ed5f5f19ed89e94347423afadab992cb1 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Wed, 20 Mar 2024 01:10:14 +0100 Subject: [PATCH 113/155] py-keras: add v3.1.0 (#43268) --- var/spack/repos/builtin/packages/py-keras/package.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-keras/package.py b/var/spack/repos/builtin/packages/py-keras/package.py index 924dd22a382bc2..bb13e3a3dc9cab 100644 --- a/var/spack/repos/builtin/packages/py-keras/package.py +++ b/var/spack/repos/builtin/packages/py-keras/package.py @@ -19,6 +19,10 @@ class PyKeras(PythonPackage): git = "https://github.com/keras-team/keras.git" pypi = "keras/keras-3.0.0.tar.gz" + maintainers("adamjstewart") + license("Apache-2.0") + + version("3.1.0", sha256="cac46e053f0493da313e7c9b16379a532b1a38f9f19c7a5fe4578759f4c6aa4d") version("3.0.5", sha256="df3d3795e12c3f6035e811c43c13f1eb41e37241796a0fea120ede4ebe1c4496") version("3.0.4", sha256="ff2204792582e3889c51c77722cc6e8258dbb1ece7db192f5a9bcd1887cf3385") version("3.0.3", sha256="1e455a82be63b7fb4f699e26bd1e04b7dbcbf66fa3a799117afca9ab067b5d61") @@ -76,17 +80,19 @@ class PyKeras(PythonPackage): depends_on("py-protobuf", type=("build", "run"), when="@3:") # requirements-tensorflow-cuda.txt - depends_on("py-tensorflow@2.16.1", type=("build", "run"), when="@3.0 backend=tensorflow") + depends_on("py-tensorflow@2.16.1", type=("build", "run"), when="@3.0: backend=tensorflow") # requirements-jax-cuda.txt depends_on("py-jax@0.4.23", type=("build", "run"), when="@3.0.5: backend=jax") depends_on("py-jax", type=("build", "run"), when="@3: backend=jax") # requirements-torch-cuda.txt - depends_on("py-torch@2.1.2", type=("build", "run"), when="@3.0.3: backend=torch") + depends_on("py-torch@2.2.1", type=("build", "run"), when="@3.1.0: backend=torch") + depends_on("py-torch@2.1.2", type=("build", "run"), when="@3.0.3:3.0.5 backend=torch") depends_on("py-torch@2.1.1", type=("build", "run"), when="@3.0.1:3.0.2 backend=torch") depends_on("py-torch@2.1.0", type=("build", "run"), when="@3.0.0 backend=torch") - depends_on("py-torchvision@0.16.2", type=("build", "run"), when="@3.0.3: backend=torch") + depends_on("py-torchvision@0.17.1", type=("build", "run"), when="@3.1.0: backend=torch") + depends_on("py-torchvision@0.16.2", type=("build", "run"), when="@3.0.3:3.0.5 backend=torch") depends_on("py-torchvision@0.16.1", type=("build", "run"), when="@3.0.1:3.0.2 backend=torch") depends_on("py-torchvision@0.16.0", type=("build", "run"), when="@3.0.0 backend=torch") From de5e20fc21fabda9cb0afbd5442bfc9f4056ed02 Mon Sep 17 00:00:00 2001 From: jmlapre <110123055+jmlapre@users.noreply.github.com> Date: Tue, 19 Mar 2024 20:18:24 -0400 Subject: [PATCH 114/155] py-snoop: new package (#42945) --- .../builtin/packages/py-snoop/package.py | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-snoop/package.py diff --git a/var/spack/repos/builtin/packages/py-snoop/package.py b/var/spack/repos/builtin/packages/py-snoop/package.py new file mode 100644 index 00000000000000..54be5c8d1522be --- /dev/null +++ b/var/spack/repos/builtin/packages/py-snoop/package.py @@ -0,0 +1,25 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack.package import * + + +class PySnoop(PythonPackage): + """snoop is a powerful set of Python debugging tools. It's primarily meant + to be a more featureful and refined version of PySnooper. It also includes + its own version of icecream and some other nifty stuff.""" + + pypi = "snoop/snoop-0.4.3.tar.gz" + + license("MIT", checked_by="jmlapre") + + version("0.4.3", sha256="2e0930bb19ff0dbdaa6f5933f88e89ed5984210ea9f9de0e1d8231fa5c1c1f25") + + depends_on("py-setuptools", type="build") + depends_on("py-setuptools-scm+toml", type="build") + depends_on("py-six", type=("build", "run")) + depends_on("py-cheap-repr@0.4.0:", type=("build", "run")) + depends_on("py-executing", type=("build", "run")) + depends_on("py-asttokens", type=("build", "run")) + depends_on("py-pygments", type=("build", "run")) From 4d8381a7758fad50bf71af9b23ddab68d91f2c57 Mon Sep 17 00:00:00 2001 From: Mikael Simberg Date: Wed, 20 Mar 2024 10:18:06 +0100 Subject: [PATCH 115/155] fmt: Add master branch as version (#43239) --- var/spack/repos/builtin/packages/fmt/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/fmt/package.py b/var/spack/repos/builtin/packages/fmt/package.py index 6ee85c35ed23f4..e129d0e84f4473 100644 --- a/var/spack/repos/builtin/packages/fmt/package.py +++ b/var/spack/repos/builtin/packages/fmt/package.py @@ -42,6 +42,7 @@ class Fmt(CMakePackage): version("3.0.2", sha256="51407b62a202b29d1a9c0eb5ecd4095d30031aea65407c42c25cb10cb5c59ad4") version("3.0.1", sha256="4c9af0dc919a8ae7022b44e1a03c435e42d65c866f44667d8d920d342b098550") version("3.0.0", sha256="1b050b66fa31b74f1d75a14f15e99e728ab79572f176a53b2f8ad7c201c30ceb") + version("master", branch="master") variant( "cxxstd", From eb11fa7d184d48c4593d48f76a52d7b26e5ef272 Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Wed, 20 Mar 2024 03:22:58 -0600 Subject: [PATCH 116/155] lua-sol2: merge duplicate sol2 package into it (#43155) --- .../builtin/packages/lua-sol2/package.py | 13 +++++++-- .../repos/builtin/packages/sol2/package.py | 29 ------------------- 2 files changed, 11 insertions(+), 31 deletions(-) delete mode 100644 var/spack/repos/builtin/packages/sol2/package.py diff --git a/var/spack/repos/builtin/packages/lua-sol2/package.py b/var/spack/repos/builtin/packages/lua-sol2/package.py index 50134e380e65fd..6b07a6b3ede2b2 100644 --- a/var/spack/repos/builtin/packages/lua-sol2/package.py +++ b/var/spack/repos/builtin/packages/lua-sol2/package.py @@ -9,11 +9,16 @@ class LuaSol2(CMakePackage): """sol2 is a C++ library binding to Lua.""" - homepage = "https://github.com/ThePhD/sol2" + homepage = "https://sol2.rtfd.io" url = "https://github.com/ThePhD/sol2/archive/refs/tags/v3.2.2.tar.gz" git = "https://github.com/ThePhD/sol2.git" + maintainers("rbberger") + + license("MIT") + version("develop", branch="develop") + version("3.3.0", tag="v3.3.0", commit="eba86625b707e3c8c99bbfc4624e51f42dc9e561") version("3.2.3", sha256="f74158f92996f476786be9c9e83f8275129bb1da2a8d517d050421ac160a4b9e") version("3.2.2", sha256="141790dae0c1821dd2dbac3595433de49ba72545845efc3ec7d88de8b0a3b2da") version("3.2.1", sha256="b10f88dc1246f74a10348faef7d2c06e2784693307df74dcd87c4641cf6a6828") @@ -25,5 +30,9 @@ class LuaSol2(CMakePackage): depends_on("lua", type=("link", "run")) def cmake_args(self): - args = ["-DSOL2_ENABLE_INSTALL=ON"] + args = [ + self.define("SOL2_ENABLE_INSTALL", True), + self.define("SOL2_BUILD_LUA", False), + self.define("SOL2_LUA_VERSION", self.spec["lua"].version), + ] return args diff --git a/var/spack/repos/builtin/packages/sol2/package.py b/var/spack/repos/builtin/packages/sol2/package.py deleted file mode 100644 index 43008694aa5d19..00000000000000 --- a/var/spack/repos/builtin/packages/sol2/package.py +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other -# Spack Project Developers. See the top-level COPYRIGHT file for details. -# -# SPDX-License-Identifier: (Apache-2.0 OR MIT) - -from spack.package import * - - -class Sol2(CMakePackage): - """A fast, simple C++ and Lua Binding""" - - homepage = "https://sol2.rtfd.io" - git = "https://github.com/ThePhD/sol2.git" - - maintainers("rbberger") - - license("MIT") - - version("develop", branch="develop") - version("3.3.0", tag="v3.3.0", commit="eba86625b707e3c8c99bbfc4624e51f42dc9e561") - - depends_on("lua") - - def cmake_args(self): - args = [ - self.define("SOL2_BUILD_LUA", False), - self.define("SOL2_LUA_VERSION", self.spec["lua"].version), - ] - return args From ac8800ffc7e14d72d10bb585e55396410543f61f Mon Sep 17 00:00:00 2001 From: G-Ragghianti <33492707+G-Ragghianti@users.noreply.github.com> Date: Wed, 20 Mar 2024 05:28:21 -0400 Subject: [PATCH 117/155] heffte: Update MKL dependency to intel-oneapi-mkl (#43273) --- var/spack/repos/builtin/packages/heffte/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/heffte/package.py b/var/spack/repos/builtin/packages/heffte/package.py index 1472116be9bf08..d106f92bc937eb 100644 --- a/var/spack/repos/builtin/packages/heffte/package.py +++ b/var/spack/repos/builtin/packages/heffte/package.py @@ -64,7 +64,7 @@ class Heffte(CMakePackage, CudaPackage, ROCmPackage): depends_on("mpi", type=("build", "run")) depends_on("fftw@3.3.8:", when="+fftw", type=("build", "run")) - depends_on("intel-mkl@2018.0.128:", when="+mkl", type=("build", "run")) + depends_on("intel-oneapi-mkl", when="+mkl", type=("build", "run")) depends_on("cuda@8.0:", when="+cuda", type=("build", "run")) depends_on("hip@3.8.0:", when="+rocm", type=("build", "run")) depends_on("rocfft@3.8.0:", when="+rocm", type=("build", "run")) From 7cb0dbf77a155a0a2a30448b28dde1036cf21962 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Wed, 20 Mar 2024 11:57:56 +0100 Subject: [PATCH 118/155] Remove optimization criterion on OS mismatches (#43282) --- lib/spack/spack/solver/concretize.lp | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/lib/spack/spack/solver/concretize.lp b/lib/spack/spack/solver/concretize.lp index 6736dcaf457442..a186290824c869 100644 --- a/lib/spack/spack/solver/concretize.lp +++ b/lib/spack/spack/solver/concretize.lp @@ -1011,16 +1011,6 @@ node_os_weight(PackageNode, Weight) attr("node_os", PackageNode, OS), os(OS, Weight). -% match semantics for OS's -node_os_match(PackageNode, DependencyNode) :- - depends_on(PackageNode, DependencyNode), - attr("node_os", PackageNode, OS), - attr("node_os", DependencyNode, OS). - -node_os_mismatch(PackageNode, DependencyNode) :- - depends_on(PackageNode, DependencyNode), - not node_os_match(PackageNode, DependencyNode). - % every OS is compatible with itself. We can use `os_compatible` to declare os_compatible(OS, OS) :- os(OS). @@ -1509,16 +1499,6 @@ opt_criterion(39, "compiler mismatches that are not from CLI"). build_priority(PackageNode, Priority) }. -% Try to minimize the number of compiler mismatches in the DAG. -opt_criterion(35, "OS mismatches"). -#minimize{ 0@235: #true }. -#minimize{ 0@35: #true }. -#minimize{ - 1@35+Priority,PackageNode,DependencyNode - : node_os_mismatch(PackageNode, DependencyNode), - build_priority(PackageNode, Priority) -}. - opt_criterion(30, "non-preferred OS's"). #minimize{ 0@230: #true }. #minimize{ 0@30: #true }. From 2f0a73f7efe24a7001bf99465e32f1060ab389d5 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 20 Mar 2024 08:03:18 -0600 Subject: [PATCH 119/155] Define variant `typescript` for py-jupyter-server with explicit dependency on `npm` (#43279) * Add variant typescript for py-jupyter-server@:1, which then requires npm/node. Patch the build system for ~typescript so that it doesn't find any npm/node installations and attempts to build the typescript extension even though it shouldn't * Fix formatting in var/spack/repos/builtin/packages/py-jupyter-server/package.py * Constrain typescript variant to py-jupyter-server versions 1.10.2:1 * with when not needed if variant doesn't exist for other versions --- .../packages/py-jupyter-server/no_npm_node.patch | 14 ++++++++++++++ .../builtin/packages/py-jupyter-server/package.py | 6 ++++++ 2 files changed, 20 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-jupyter-server/no_npm_node.patch diff --git a/var/spack/repos/builtin/packages/py-jupyter-server/no_npm_node.patch b/var/spack/repos/builtin/packages/py-jupyter-server/no_npm_node.patch new file mode 100644 index 00000000000000..251acbd44b3921 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-jupyter-server/no_npm_node.patch @@ -0,0 +1,14 @@ +--- a/pyproject.toml 2024-03-19 15:58:20.000000000 -0600 ++++ b/pyproject.toml 2024-03-19 15:59:15.000000000 -0600 +@@ -5,6 +5,11 @@ + [tool.jupyter-packaging.builder] + factory = "jupyter_packaging.npm_builder" + ++# Injected by spack to solve problems with hidden npm/node dependencies ++# https://github.com/spack/spack/issues/41899 ++[tool.jupyter-packaging.build-args] ++npm = "/dev/null" ++ + [tool.check-manifest] + ignore = ["tbump.toml", ".*", "*.yml", "package-lock.json", "bootstrap*", "conftest.py"] + diff --git a/var/spack/repos/builtin/packages/py-jupyter-server/package.py b/var/spack/repos/builtin/packages/py-jupyter-server/package.py index 87afeb95f66095..669ef586d1e291 100644 --- a/var/spack/repos/builtin/packages/py-jupyter-server/package.py +++ b/var/spack/repos/builtin/packages/py-jupyter-server/package.py @@ -28,6 +28,11 @@ class PyJupyterServer(PythonPackage): version("1.9.0", sha256="7d19006380f6217458a9db309b54e3dab87ced6c06329c61823907bef2a6f51b") version("1.6.1", sha256="242ddd0b644f10e030f917019b47c381e0f2d2b950164af45cbd791d572198ac") + variant("typescript", default=False, description="Build the typescript code", when="@1.10.2:1") + + # https://github.com/spack/spack/issues/41899 + patch("no_npm_node.patch", when="@1.10.2:1 ~typescript") + depends_on("python@3.8:", when="@2:", type=("build", "run")) depends_on("py-hatchling@1.11:", when="@2:", type="build") # under [tool.hatch.build.hooks.jupyter-builder] in pyproject.toml @@ -38,6 +43,7 @@ class PyJupyterServer(PythonPackage): depends_on("py-pre-commit", when="@1.16:", type="build") depends_on("py-setuptools", type="build") + depends_on("npm", type="build", when="+typescript") depends_on("py-anyio@3.1.0:", when="@2.2.1:", type=("build", "run")) depends_on("py-anyio@3.1.0:3", when="@:2.2.0", type=("build", "run")) depends_on("py-argon2-cffi", type=("build", "run")) From 7028669d502abbd954b0588e6ffa57a5692c9897 Mon Sep 17 00:00:00 2001 From: Juan Miguel Carceller <22276694+jmcarcell@users.noreply.github.com> Date: Wed, 20 Mar 2024 16:46:09 +0100 Subject: [PATCH 120/155] fastjet: add version 3.4.2 (#43285) * fastjet: add version 3.4.2 * Change the range of the ATLAS patch --------- Co-authored-by: jmcarcell --- var/spack/repos/builtin/packages/fastjet/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/fastjet/package.py b/var/spack/repos/builtin/packages/fastjet/package.py index 82975e7d775220..d39e12cc2504ac 100644 --- a/var/spack/repos/builtin/packages/fastjet/package.py +++ b/var/spack/repos/builtin/packages/fastjet/package.py @@ -25,6 +25,7 @@ class Fastjet(AutotoolsPackage): license("GPL-2.0-only") + version("3.4.2", sha256="b3d33155b55ce43f420cd6d99b525acf7bdc2593a7bb7ea898a9ddb3d8ca38e3") version("3.4.1", sha256="05608c6ff213f06dd9de723813d6b4dccd51e661ac13098f74bfc9eeaf1cb5aa") version("3.4.0", sha256="ee07c8747c8ead86d88de4a9e4e8d1e9e7d7614973f5631ba8297f7a02478b91") version("3.3.4", sha256="432b51401e1335697c9248519ce3737809808fc1f6d1644bfae948716dddfc03") @@ -75,7 +76,7 @@ class Fastjet(AutotoolsPackage): patch( "https://gitlab.cern.ch/sft/lcgcmake/-/raw/23c82f269b8e5df0190e20b7fbe06db16b24d667/externals/patches/fastjet-3.4.1.patch", sha256="1c7eed1d825f2013116778366a2d27b850c46a2848389174f78829fa24cd1c45", - when="@3.4: +atlas", + when="@3.4:3.4.1 +atlas", level=0, ) From ba02c6b70fd9746f4917c058edc0664d347ea83c Mon Sep 17 00:00:00 2001 From: mvlopri <77512923+mvlopri@users.noreply.github.com> Date: Wed, 20 Mar 2024 10:14:24 -0600 Subject: [PATCH 121/155] seacas: update the variants and tpls (#43195) Adds variants to turn off tests Add variants for some missing TPL options Add the variables required to build in ~shared * Add pamgen to Trilinos as a variant to support SEACAS This adds the ability to turn off and on pamgen as needed through the variant interface for the Trilinos package.py. Add changes for seacas package.py to build the appropriate Trilinos variants. Add zlib-api as depends_on instead of zlib directly for SEACAS package.py Co-authored-by: Massimiliano Culpo --- .../repos/builtin/packages/seacas/package.py | 21 +++++++++++++------ .../builtin/packages/trilinos/package.py | 3 ++- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/var/spack/repos/builtin/packages/seacas/package.py b/var/spack/repos/builtin/packages/seacas/package.py index 0163bb4b7a9dff..30aab746a31a8a 100644 --- a/var/spack/repos/builtin/packages/seacas/package.py +++ b/var/spack/repos/builtin/packages/seacas/package.py @@ -135,7 +135,7 @@ class Seacas(CMakePackage): # meaningfully linked against as a shared library variant("shared", default=True, description="Enables the build of shared libraries") variant("mpi", default=True, description="Enables MPI parallelism.") - + variant("tests", default=True, description="Enable the SEACAS tests to build") variant( "thread_safe", default=False, description="Enable thread-safe exodus and IOSS libraries" ) @@ -146,19 +146,24 @@ class Seacas(CMakePackage): variant("faodel", default=False, description="Enable Faodel") variant("matio", default=True, description="Compile with matio (MatLab) support") variant("metis", default=False, description="Compile with METIS and ParMETIS") + variant("pamgen", default=False, description="Compile with pamgen") variant("x11", default=True, description="Compile with X11") - + variant("zlib", default=False, description="Compile with zlib") # ###################### Dependencies ########################## depends_on("cmake@3.22:", when="@2023-10-24:", type="build") depends_on("cmake@3.17:", when="@:2023-05-30", type="build") depends_on("mpi", when="+mpi") - + depends_on("zlib-api", when="+zlib") + depends_on("trilinos~exodus+mpi+pamgen", when="+mpi+pamgen") + depends_on("trilinos~exodus~mpi+pamgen", when="~mpi+pamgen") # Always depends on netcdf-c depends_on("netcdf-c@4.8.0:+mpi+parallel-netcdf", when="+mpi") depends_on("netcdf-c@4.8.0:~mpi", when="~mpi") depends_on("hdf5+hl~mpi", when="~mpi") + depends_on("hdf5+hl+mpi", when="+mpi") - depends_on("fmt@10.1.0", when="@2023-10-24:") + depends_on("fmt@10.2.1:", when="@2024-03-11:") + depends_on("fmt@10.1.0:", when="@2023-10-24:2023-11-27") depends_on("fmt@9.1.0", when="@2022-10-14:2023-05-30") depends_on("fmt@8.1.0:9", when="@2022-03-04:2022-05-16") @@ -215,7 +220,7 @@ def cmake_args(self): options.extend( [ - define(project_name_base + "_ENABLE_TESTS", True), + from_variant(project_name_base + "_ENABLE_TESTS", "tests"), define(project_name_base + "_ENABLE_CXX11", True), define(project_name_base + "_ENABLE_Kokkos", False), define(project_name_base + "_HIDE_DEPRECATED_CODE", False), @@ -233,7 +238,8 @@ def cmake_args(self): define(project_name_base + "_ENABLE_SEACAS", True), ] ) - + if "~shared" in self.spec: + options.append(self.define(f"{project_name_base}_EXTRA_LINK_FLAGS", "z;dl")) options.append(from_variant("TPL_ENABLE_MPI", "mpi")) if "+mpi" in spec and not is_windows: options.extend( @@ -361,6 +367,9 @@ def cmake_args(self): [define("TPL_ENABLE_METIS", False), define("TPL_ENABLE_ParMETIS", False)] ) + options.append(from_variant(f"{project_name_base}_ENABLE_Pamgen", "pamgen")) + options.append(from_variant("TPL_ENABLE_Pamgen", "pamgen")) + options.append(from_variant("TPL_ENABLE_Matio", "matio")) if "+matio" in spec: options.append(define("Matio_ROOT", spec["matio"].prefix)) diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py index ee016318b6072b..c6629d58f998a4 100644 --- a/var/spack/repos/builtin/packages/trilinos/package.py +++ b/var/spack/repos/builtin/packages/trilinos/package.py @@ -137,6 +137,7 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage): variant("minitensor", default=False, description="Compile with MiniTensor") variant("muelu", default=True, description="Compile with Muelu") variant("nox", default=False, description="Compile with NOX") + variant("pamgen", default=False, description="Compile with Pamgen") variant("panzer", default=False, description="Compile with Panzer") variant("piro", default=False, description="Compile with Piro") variant("phalanx", default=False, description="Compile with Phalanx") @@ -673,7 +674,7 @@ def define_enable(suffix, value=None): define_trilinos_enable("ML"), define_trilinos_enable("MueLu"), define_trilinos_enable("NOX"), - define_trilinos_enable("Pamgen", False), + define_trilinos_enable("Pamgen"), define_trilinos_enable("Panzer"), define_trilinos_enable("Pike", False), define_trilinos_enable("Piro"), From 485b6e2170bf4ace96f0cae6635db5aad0468700 Mon Sep 17 00:00:00 2001 From: Robert Cohn Date: Wed, 20 Mar 2024 12:34:03 -0400 Subject: [PATCH 122/155] Update Intel download URLs (#43286) --- .../builtin/packages/intel-daal/package.py | 40 ++-- .../builtin/packages/intel-ipp/package.py | 36 ++-- .../builtin/packages/intel-mkl/package.py | 46 ++--- .../builtin/packages/intel-mpi/package.py | 42 ++--- .../packages/intel-oneapi-advisor/package.py | 12 +- .../packages/intel-oneapi-ccl/package.py | 20 +- .../intel-oneapi-compilers/package.py | 40 ++-- .../packages/intel-oneapi-dal/package.py | 20 +- .../packages/intel-oneapi-dnn/package.py | 20 +- .../packages/intel-oneapi-dpct/package.py | 8 +- .../packages/intel-oneapi-dpl/package.py | 14 +- .../intel-oneapi-inspector/package.py | 14 +- .../packages/intel-oneapi-ipp/package.py | 20 +- .../packages/intel-oneapi-ippcp/package.py | 20 +- .../packages/intel-oneapi-itac/package.py | 8 +- .../packages/intel-oneapi-mkl/package.py | 20 +- .../packages/intel-oneapi-mpi/package.py | 20 +- .../packages/intel-oneapi-tbb/package.py | 20 +- .../packages/intel-oneapi-vpl/package.py | 14 +- .../packages/intel-oneapi-vtune/package.py | 14 +- .../packages/intel-parallel-studio/package.py | 176 +++++++++--------- .../repos/builtin/packages/intel/package.py | 60 +++--- 22 files changed, 342 insertions(+), 342 deletions(-) diff --git a/var/spack/repos/builtin/packages/intel-daal/package.py b/var/spack/repos/builtin/packages/intel-daal/package.py index f992c40cbafcc4..30e8af51413084 100644 --- a/var/spack/repos/builtin/packages/intel-daal/package.py +++ b/var/spack/repos/builtin/packages/intel-daal/package.py @@ -20,121 +20,121 @@ class IntelDaal(IntelPackage): version( "2020.2.254", sha256="08528bc150dad312ff2ae88ce12d6078ed8ba2f378f4bf3daf0fbbb9657dce1e", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16822/l_daal_2020.2.254.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16822/l_daal_2020.2.254.tgz", deprecated=True, ) version( "2020.1.217", sha256="3f84dea0ce1038ac1b9c25b3e2c02e9fac440fa36cc8adfce69edfc06fe0edda", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16536/l_daal_2020.1.217.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16536/l_daal_2020.1.217.tgz", deprecated=True, ) version( "2020.0.166", sha256="695166c9ab32ac5d3006d6d35162db3c98734210507144e315ed7c3b7dbca9c1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16234/l_daal_2020.0.166.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16234/l_daal_2020.0.166.tgz", deprecated=True, ) version( "2019.5.281", sha256="e92aaedbe35c9daf1c9483260cb2363da8a85fa1aa5566eb38cf4b1f410bc368", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15818/l_daal_2019.5.281.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15818/l_daal_2019.5.281.tgz", deprecated=True, ) version( "2019.4.243", sha256="c74486a555ca5636c2ac1b060d5424726c022468f3ee0898bb46e333cda6f7b8", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15552/l_daal_2019.4.243.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15552/l_daal_2019.4.243.tgz", deprecated=True, ) version( "2019.3.199", sha256="1f7d9cdecc1091b03f1ee6303fc7566179d1e3f1813a98ef7a6239f7d456b8ef", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15277/l_daal_2019.3.199.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15277/l_daal_2019.3.199.tgz", deprecated=True, ) version( "2019.2.187", sha256="2982886347e9376e892a5c4e22fa1d4b7b843e1ae988a107dd2d0a639f257765", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15097/l_daal_2019.2.187.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15097/l_daal_2019.2.187.tgz", deprecated=True, ) version( "2019.1.144", sha256="1672afac568c93e185283cf7e044d511381092ebc95d7204c4dccb83cc493197", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14869/l_daal_2019.1.144.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14869/l_daal_2019.1.144.tgz", deprecated=True, ) version( "2019.0.117", sha256="85ac8e983bc9b9cc635e87cb4ec775ffd3695e44275d20fdaf53c19ed280d69f", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13577/l_daal_2019.0.117.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13577/l_daal_2019.0.117.tgz", deprecated=True, ) version( "2018.3.222", sha256="378fec529a36508dd97529037e1164ff98e0e062a9a47ede99ccf9e91493d1e2", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13007/l_daal_2018.3.222.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13007/l_daal_2018.3.222.tgz", deprecated=True, ) version( "2018.2.199", sha256="cee30299b3ffaea515f5a9609f4df0f644579c8a1ba2b61747b390f6caf85b14", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12727/l_daal_2018.2.199.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12727/l_daal_2018.2.199.tgz", deprecated=True, ) version( "2018.1.163", sha256="ac96b5a6c137cda18817d9b3505975863f8f53347225ebb6ccdaaf4bdb8dc349", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12414/l_daal_2018.1.163.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12414/l_daal_2018.1.163.tgz", deprecated=True, ) version( "2018.0.128", sha256="d13a7cd1b6779971f2ba46797447de9409c98a4d2f0eb0dc9622d9d63ac8990f", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12072/l_daal_2018.0.128.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12072/l_daal_2018.0.128.tgz", deprecated=True, ) version( "2017.4.239", sha256="cc4b608f59f3b2fafee16389102a763d27c46f6d136a6cfa89847418a8ea7460", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12148/l_daal_2017.4.239.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12148/l_daal_2017.4.239.tgz", deprecated=True, ) version( "2017.3.196", sha256="cfa863f342dd1c5fe8f1c7b6fd69589140370fc92742a19d82c8594e4e1e46ce", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11546/l_daal_2017.3.196.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11546/l_daal_2017.3.196.tgz", deprecated=True, ) version( "2017.2.174", sha256="5ee838b08d4cda7fc3e006e1deeed41671cbd7cfd11b64ec3b762c94dfc2b660", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11308/l_daal_2017.2.174.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11308/l_daal_2017.2.174.tgz", deprecated=True, ) version( "2017.1.132", sha256="6281105d3947fc2860e67401ea0218198cc4753fd2d4b513528a89143248e4f3", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/10983/l_daal_2017.1.132.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/10983/l_daal_2017.1.132.tgz", deprecated=True, ) version( "2017.0.098", sha256="a7064425653b4f5f0fe51e25358d267d8ae023179eece61e08da891b67d79fe5", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9664/l_daal_2017.0.098.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9664/l_daal_2017.0.098.tgz", deprecated=True, ) version( "2016.3.210", sha256="367eaef21ea0143c11ae3fd56cd2a05315768c059e14caa15894bcf96853687c", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9099/l_daal_2016.3.210.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9099/l_daal_2016.3.210.tgz", deprecated=True, ) version( "2016.2.181", sha256="afdb65768957784d28ac537b4933a86eb4193c68a636157caed17b29ccdbfacb", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8687/l_daal_2016.2.181.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8687/l_daal_2016.2.181.tgz", deprecated=True, ) diff --git a/var/spack/repos/builtin/packages/intel-ipp/package.py b/var/spack/repos/builtin/packages/intel-ipp/package.py index ef7d4ed83df0cf..d06afa06961e70 100644 --- a/var/spack/repos/builtin/packages/intel-ipp/package.py +++ b/var/spack/repos/builtin/packages/intel-ipp/package.py @@ -20,110 +20,110 @@ class IntelIpp(IntelPackage): version( "2020.2.254", sha256="18266ad1eec9b5b17e76da24f1aa9a9147300e5bd345e6bdad58d7187392fa77", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16846/l_ipp_2020.2.254.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16846/l_ipp_2020.2.254.tgz", deprecated=True, ) version( "2020.1.217", sha256="0bf8ac7e635e7e602cf201063a1a7dea3779b093104563fdb15e6b7ecf2f00a7", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16534/l_ipp_2020.1.217.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16534/l_ipp_2020.1.217.tgz", deprecated=True, ) version( "2020.0.166", sha256="6844007892ba524e828f245355cee44e8149f4c233abbbea16f7bb55a7d6ecff", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16233/l_ipp_2020.0.166.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16233/l_ipp_2020.0.166.tgz", deprecated=True, ) version( "2019.5.281", sha256="61d1e1da1a4a50f1cf02a3ed44e87eed05e94d58b64ef1e67a3bdec363bee713", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15817/l_ipp_2019.5.281.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15817/l_ipp_2019.5.281.tgz", deprecated=True, ) version( "2019.4.243", sha256="d4f4232323e66b010d8440c75189aeb6a3249966e05035242b21982238a7a7f2", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15541/l_ipp_2019.4.243.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15541/l_ipp_2019.4.243.tgz", deprecated=True, ) version( "2019.3.199", sha256="02545383206c1ae4dd66bfa6a38e2e14480ba11932eeed632df8ab798aa15ccd", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15276/l_ipp_2019.3.199.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15276/l_ipp_2019.3.199.tgz", deprecated=True, ) version( "2019.2.187", sha256="280e9081278a0db3892fe82474c1201ec780a6f7c8d1f896494867f4b3bd8421", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15096/l_ipp_2019.2.187.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15096/l_ipp_2019.2.187.tgz", deprecated=True, ) version( "2019.1.144", sha256="1eb7cd0fba74615aeafa4e314c645414497eb73f1705200c524fe78f00620db3", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14887/l_ipp_2019.1.144.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14887/l_ipp_2019.1.144.tgz", deprecated=True, ) version( "2019.0.117", sha256="d552ba49fba58f0e94da2048176f21c5dfd490dca7c5ce666dfc2d18db7fd551", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13576/l_ipp_2019.0.117.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13576/l_ipp_2019.0.117.tgz", deprecated=True, ) version( "2018.4.274", sha256="bdc6082c65410c98ccf6daf239e0a6625d15ec5e0ddc1c0563aad42b6ba9063c", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13726/l_ipp_2018.4.274.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13726/l_ipp_2018.4.274.tgz", deprecated=True, ) version( "2018.3.222", sha256="bb783c5e6220e240f19136ae598cd1c1d647496495139ce680de58d3d5496934", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13006/l_ipp_2018.3.222.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13006/l_ipp_2018.3.222.tgz", deprecated=True, ) version( "2018.2.199", sha256="55cb5c910b2c1e2bd798163fb5019b992b1259a0692e328bb9054778cf01562b", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12726/l_ipp_2018.2.199.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12726/l_ipp_2018.2.199.tgz", deprecated=True, ) version( "2018.0.128", sha256="da568ceec1b7acbcc8f666b73d4092788b037b1b03c0436974b82155056ed166", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12071/l_ipp_2018.0.128.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12071/l_ipp_2018.0.128.tgz", deprecated=True, ) version( "2017.3.196", sha256="50d49a1000a88a8a58bd610466e90ae28d07a70993a78cbbf85d44d27c4232b6", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11545/l_ipp_2017.3.196.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11545/l_ipp_2017.3.196.tgz", deprecated=True, ) version( "2017.2.174", sha256="92f866c9dce8503d7e04223ec35f281cfeb0b81cf94208c3becb11aacfda7b99", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11307/l_ipp_2017.2.174.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11307/l_ipp_2017.2.174.tgz", deprecated=True, ) version( "2017.1.132", sha256="2908bdeab3057d4ebcaa0b8ff5b00eb47425d35961a96f14780be68554d95376", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11031/l_ipp_2017.1.132.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11031/l_ipp_2017.1.132.tgz", deprecated=True, ) version( "2017.0.098", sha256="7633d16e2578be64533892336c8a15c905139147b0f74eaf9f281358ad7cdcba", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9663/l_ipp_2017.0.098.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9663/l_ipp_2017.0.098.tgz", deprecated=True, ) # built from parallel_studio_xe_2016.3.067 version( "9.0.3.210", sha256="8ce7bf17f4a0bbf8c441063de26be7f6e0f6179789e23f24eaa8b712632b3cdd", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9067/l_ipp_9.0.3.210.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9067/l_ipp_9.0.3.210.tgz", deprecated=True, ) diff --git a/var/spack/repos/builtin/packages/intel-mkl/package.py b/var/spack/repos/builtin/packages/intel-mkl/package.py index 7653d676f10a00..91bbcd5e763cb5 100644 --- a/var/spack/repos/builtin/packages/intel-mkl/package.py +++ b/var/spack/repos/builtin/packages/intel-mkl/package.py @@ -22,141 +22,141 @@ class IntelMkl(IntelPackage): version( "2020.4.304", sha256="2314d46536974dbd08f2a4e4f9e9a155dc7e79e2798c74e7ddfaad00a5917ea5", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16917/l_mkl_2020.4.304.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16917/l_mkl_2020.4.304.tgz", deprecated=True, ) version( "2020.3.279", sha256="2b8e434ecc9462491130ba25a053927fd1a2eca05e12acb5936b08c486857a04", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16903/l_mkl_2020.3.279.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16903/l_mkl_2020.3.279.tgz", deprecated=True, ) version( "2020.2.254", sha256="ed00a267af362a6c14212bd259ab1673d64337e077263033edeef8ac72c10223", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16849/l_mkl_2020.2.254.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16849/l_mkl_2020.2.254.tgz", deprecated=True, ) version( "2020.1.217", sha256="082a4be30bf4f6998e4d6e3da815a77560a5e66a68e254d161ab96f07086066d", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16533/l_mkl_2020.1.217.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16533/l_mkl_2020.1.217.tgz", deprecated=True, ) version( "2020.0.166", sha256="f6d92deb3ff10b11ba3df26b2c62bb4f0f7ae43e21905a91d553e58f0f5a8ae0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16232/l_mkl_2020.0.166.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16232/l_mkl_2020.0.166.tgz", deprecated=True, ) version( "2019.5.281", sha256="9995ea4469b05360d509c9705e9309dc983c0a10edc2ae3a5384bc837326737e", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15816/l_mkl_2019.5.281.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15816/l_mkl_2019.5.281.tgz", deprecated=True, ) version( "2019.4.243", sha256="fcac7b0369665d93f0c4dd98afe2816aeba5410e2b760655fe55fc477f8f33d0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15540/l_mkl_2019.4.243.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15540/l_mkl_2019.4.243.tgz", deprecated=True, ) version( "2019.3.199", sha256="06de2b54f4812e7c39a118536259c942029fe1d6d8918ad9df558a83c4162b8f", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15275/l_mkl_2019.3.199.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15275/l_mkl_2019.3.199.tgz", deprecated=True, ) version( "2019.2.187", sha256="2bf004e6b5adb4f956993d6c20ea6ce289bb630314dd501db7f2dd5b9978ed1d", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15095/l_mkl_2019.2.187.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15095/l_mkl_2019.2.187.tgz", deprecated=True, ) version( "2019.1.144", sha256="5205a460a9c685f7a442868367389b2d0c25e1455346bc6a37c5b8ff90a20fbb", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14895/l_mkl_2019.1.144.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14895/l_mkl_2019.1.144.tgz", deprecated=True, ) version( "2019.0.117", sha256="4e1fe2c705cfc47050064c0d6c4dee1a8c6740ac1c4f64dde9c7511c4989c7ad", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13575/l_mkl_2019.0.117.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13575/l_mkl_2019.0.117.tgz", deprecated=True, ) version( "2018.4.274", sha256="18eb3cde3e6a61a88f25afff25df762a560013f650aaf363f7d3d516a0d04881", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13725/l_mkl_2018.4.274.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13725/l_mkl_2018.4.274.tgz", deprecated=True, ) version( "2018.3.222", sha256="108d59c0927e58ce8c314db6c2b48ee331c3798f7102725f425d6884eb6ed241", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13005/l_mkl_2018.3.222.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13005/l_mkl_2018.3.222.tgz", deprecated=True, ) version( "2018.2.199", sha256="e28d12173bef9e615b0ded2f95f59a42b3e9ad0afa713a79f8801da2bfb31936", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12725/l_mkl_2018.2.199.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12725/l_mkl_2018.2.199.tgz", deprecated=True, ) version( "2018.1.163", sha256="f6dc263fc6f3c350979740a13de1b1e8745d9ba0d0f067ece503483b9189c2ca", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12414/l_mkl_2018.1.163.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12414/l_mkl_2018.1.163.tgz", deprecated=True, ) version( "2018.0.128", sha256="c368baa40ca88057292512534d7fad59fa24aef06da038ea0248e7cd1e280cec", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12070/l_mkl_2018.0.128.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12070/l_mkl_2018.0.128.tgz", deprecated=True, ) version( "2017.4.239", sha256="dcac591ed1e95bd72357fd778edba215a7eab9c6993236373231cc16c200c92a", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12147/l_mkl_2017.4.239.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12147/l_mkl_2017.4.239.tgz", deprecated=True, ) version( "2017.3.196", sha256="fd7295870fa164d6138c9818304f25f2bb263c814a6c6539c9fe4e104055f1ca", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11544/l_mkl_2017.3.196.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11544/l_mkl_2017.3.196.tgz", deprecated=True, ) version( "2017.2.174", sha256="0b8a3fd6bc254c3c3d9d51acf047468c7f32bf0baff22aa1e064d16d9fea389f", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11306/l_mkl_2017.2.174.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11306/l_mkl_2017.2.174.tgz", deprecated=True, ) version( "2017.1.132", sha256="8c6bbeac99326d59ef3afdc2a95308c317067efdaae50240d2f4a61f37622e69", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11024/l_mkl_2017.1.132.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11024/l_mkl_2017.1.132.tgz", deprecated=True, ) version( "2017.0.098", sha256="f2233e8e011f461d9c15a853edf7ed0ae8849aa665a1ec765c1ff196fd70c4d9", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9662/l_mkl_2017.0.098.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9662/l_mkl_2017.0.098.tgz", deprecated=True, ) # built from parallel_studio_xe_2016.3.x version( "11.3.3.210", sha256="ff858f0951fd698e9fb30147ea25a8a810c57f0126c8457b3b0cdf625ea43372", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9068/l_mkl_11.3.3.210.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9068/l_mkl_11.3.3.210.tgz", deprecated=True, ) # built from parallel_studio_xe_2016.2.062 version( "11.3.2.181", sha256="bac04a07a1fe2ae4996a67d1439ee90c54f31305e8663d1ccfce043bed84fc27", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8711/l_mkl_11.3.2.181.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8711/l_mkl_11.3.2.181.tgz", deprecated=True, ) diff --git a/var/spack/repos/builtin/packages/intel-mpi/package.py b/var/spack/repos/builtin/packages/intel-mpi/package.py index 9ea647c77abad8..aa1ae55752bf87 100644 --- a/var/spack/repos/builtin/packages/intel-mpi/package.py +++ b/var/spack/repos/builtin/packages/intel-mpi/package.py @@ -17,128 +17,128 @@ class IntelMpi(IntelPackage): version( "2019.10.317", sha256="28e1b615e63d2170a99feedc75e3b0c5a7e1a07dcdaf0a4181831b07817a5346", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17534/l_mpi_2019.10.317.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/17534/l_mpi_2019.10.317.tgz", deprecated=True, ) version( "2019.9.304", sha256="618a5dc2de54306645e6428c5eb7d267b54b11b5a83dfbcad7d0f9e0d90bb2e7", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17263/l_mpi_2019.9.304.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/17263/l_mpi_2019.9.304.tgz", deprecated=True, ) version( "2019.8.254", sha256="fa163b4b79bd1b7509980c3e7ad81b354fc281a92f9cf2469bf4d323899567c0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16814/l_mpi_2019.8.254.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16814/l_mpi_2019.8.254.tgz", deprecated=True, ) version( "2019.7.217", sha256="90383b0023f84ac003a55d8bb29dbcf0c639f43a25a2d8d8698a16e770ac9c07", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16546/l_mpi_2019.7.217.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16546/l_mpi_2019.7.217.tgz", deprecated=True, ) version( "2019.6.166", sha256="119be69f1117c93a9e5e9b8b4643918e55d2a55a78ad9567f77d16cdaf18cd6e", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16120/l_mpi_2019.6.166.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16120/l_mpi_2019.6.166.tgz", deprecated=True, ) version( "2019.5.281", sha256="9c59da051f1325b221e5bc4d8b689152e85d019f143069fa39e17989306811f4", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15838/l_mpi_2019.5.281.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15838/l_mpi_2019.5.281.tgz", deprecated=True, ) version( "2019.4.243", sha256="233a8660b92ecffd89fedd09f408da6ee140f97338c293146c9c080a154c5fcd", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15553/l_mpi_2019.4.243.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15553/l_mpi_2019.4.243.tgz", deprecated=True, ) version( "2019.3.199", sha256="5304346c863f64de797250eeb14f51c5cfc8212ff20813b124f20e7666286990", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15260/l_mpi_2019.3.199.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15260/l_mpi_2019.3.199.tgz", deprecated=True, ) version( "2019.2.187", sha256="6a3305933b5ef9e3f7de969e394c91620f3fa4bb815a4f439577739d04778b20", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15040/l_mpi_2019.2.187.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15040/l_mpi_2019.2.187.tgz", deprecated=True, ) version( "2019.1.144", sha256="dac86a5db6b86503313742b17535856a432955604f7103cb4549a9bfc256c3cd", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14879/l_mpi_2019.1.144.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14879/l_mpi_2019.1.144.tgz", deprecated=True, ) version( "2019.0.117", sha256="dfb403f49c1af61b337aa952b71289c7548c3a79c32c57865eab0ea0f0e1bc08", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13584/l_mpi_2019.0.117.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13584/l_mpi_2019.0.117.tgz", deprecated=True, ) version( "2018.4.274", sha256="a1114b3eb4149c2f108964b83cad02150d619e50032059d119ac4ffc9d5dd8e0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13741/l_mpi_2018.4.274.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13741/l_mpi_2018.4.274.tgz", deprecated=True, ) version( "2018.3.222", sha256="5021d14b344fc794e89f146e4d53d70184d7048610895d7a6a1e8ac0cf258999", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13112/l_mpi_2018.3.222.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13112/l_mpi_2018.3.222.tgz", deprecated=True, ) version( "2018.2.199", sha256="0927f1bff90d10974433ba2892e3fd38e6fee5232ab056a9f9decf565e814460", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12748/l_mpi_2018.2.199.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12748/l_mpi_2018.2.199.tgz", deprecated=True, ) version( "2018.1.163", sha256="130b11571c3f71af00a722fa8641db5a1552ac343d770a8304216d8f5d00e75c", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12414/l_mpi_2018.1.163.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12414/l_mpi_2018.1.163.tgz", deprecated=True, ) version( "2018.0.128", sha256="debaf2cf80df06db9633dfab6aa82213b84a665a55ee2b0178403906b5090209", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12120/l_mpi_2018.0.128.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12120/l_mpi_2018.0.128.tgz", deprecated=True, ) version( "2017.4.239", sha256="5a1048d284dce8bc75b45789471c83c94b3c59f8f159cab43d783fc44302510b", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12209/l_mpi_2017.4.239.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12209/l_mpi_2017.4.239.tgz", deprecated=True, ) version( "2017.3.196", sha256="dad9efbc5bbd3fd27cce7e1e2507ad77f342d5ecc929747ae141c890e7fb87f0", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11595/l_mpi_2017.3.196.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11595/l_mpi_2017.3.196.tgz", deprecated=True, ) version( "2017.2.174", sha256="106a4b362c13ddc6978715e50f5f81c58c1a4c70cd2d20a99e94947b7e733b88", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11334/l_mpi_2017.2.174.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11334/l_mpi_2017.2.174.tgz", deprecated=True, ) version( "2017.1.132", sha256="8d30a63674fe05f17b0a908a9f7d54403018bfed2de03c208380b171ab99be82", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11014/l_mpi_2017.1.132.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11014/l_mpi_2017.1.132.tgz", deprecated=True, ) # built from parallel_studio_xe_2016.3.068 version( "5.1.3.223", sha256="544f4173b09609beba711fa3ba35567397ff3b8390e4f870a3307f819117dd9b", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9278/l_mpi_p_5.1.3.223.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9278/l_mpi_p_5.1.3.223.tgz", deprecated=True, ) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-advisor/package.py b/var/spack/repos/builtin/packages/intel-oneapi-advisor/package.py index 6b1c114cac76fc..cff72a86873169 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-advisor/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-advisor/package.py @@ -50,37 +50,37 @@ class IntelOneapiAdvisor(IntelOneApiLibraryPackageWithSdk): ) version( "2023.0.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19094/l_oneapi_advisor_p_2023.0.0.25338_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19094/l_oneapi_advisor_p_2023.0.0.25338_offline.sh", sha256="5d8ef163f70ee3dc42b13642f321d974f49915d55914ba1ca9177ed29b100b9d", expand=False, ) version( "2022.3.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18985/l_oneapi_advisor_p_2022.3.1.15323_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18985/l_oneapi_advisor_p_2022.3.1.15323_offline.sh", sha256="f05b58c2f13972b3ac979e4796bcc12a234b1e077400b5d00fc5df46cd228899", expand=False, ) version( "2022.3.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18872/l_oneapi_advisor_p_2022.3.0.8704_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18872/l_oneapi_advisor_p_2022.3.0.8704_offline.sh", sha256="ae1e542e6030b04f70f3b9831b5e92def97ce4692c974da44e7e9d802f25dfa7", expand=False, ) version( "2022.1.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18730/l_oneapi_advisor_p_2022.1.0.171_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18730/l_oneapi_advisor_p_2022.1.0.171_offline.sh", sha256="b627dbfefa779b44e7ab40dfa37614e56caa6e245feaed402d51826e6a7cb73b", expand=False, ) version( "2022.0.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18369/l_oneapi_advisor_p_2022.0.0.92_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18369/l_oneapi_advisor_p_2022.0.0.92_offline.sh", sha256="f1c4317c2222c56fb2e292513f7eec7ec27eb1049d3600cb975bc08ed1477993", expand=False, ) version( "2021.4.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18220/l_oneapi_advisor_p_2021.4.0.389_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18220/l_oneapi_advisor_p_2021.4.0.389_offline.sh", sha256="dd948f7312629d9975e12a57664f736b8e011de948771b4c05ad444438532be8", expand=False, ) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-ccl/package.py b/var/spack/repos/builtin/packages/intel-oneapi-ccl/package.py index a8f9aac4f6ba17..c31d9b38872993 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-ccl/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-ccl/package.py @@ -59,61 +59,61 @@ class IntelOneapiCcl(IntelOneApiLibraryPackage): ) version( "2021.8.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19135/l_oneapi_ccl_p_2021.8.0.25371_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19135/l_oneapi_ccl_p_2021.8.0.25371_offline.sh", sha256="c660405fcc29bddd5bf9371b8e586c597664fb1ae59eb17cb02685cc662db82c", expand=False, ) version( "2021.7.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19029/l_oneapi_ccl_p_2021.7.1.16948_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19029/l_oneapi_ccl_p_2021.7.1.16948_offline.sh", sha256="daab05a0779db343b600253df8fea93ab0ed20bd630d89883dd651b6b540b1b2", expand=False, ) version( "2021.7.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18891/l_oneapi_ccl_p_2021.7.0.8733_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18891/l_oneapi_ccl_p_2021.7.0.8733_offline.sh", sha256="a0e64db03868081fe075afce8abf4cb94236effc6c52e5049118cfb2ef81a6c7", expand=False, ) version( "2021.6.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18697/l_oneapi_ccl_p_2021.6.0.568.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18697/l_oneapi_ccl_p_2021.6.0.568.sh", sha256="e3c50c9cbeb350e8f28488b2e8fee54156116548db8010bb2c2443048715d3ea", expand=False, ) version( "2021.5.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18472/l_oneapi_ccl_p_2021.5.1.494_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18472/l_oneapi_ccl_p_2021.5.1.494_offline.sh", sha256="237f45d3c43447460e36eb7d68ae3bf611aa282015e57c7fe06c2004d368a68e", expand=False, ) version( "2021.5.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18371/l_oneapi_ccl_p_2021.5.0.478_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18371/l_oneapi_ccl_p_2021.5.0.478_offline.sh", sha256="47584ad0269fd13bcfbc2cd0bb029bdcc02b723070abcb3d5e57f9586f4e74f8", expand=False, ) version( "2021.4.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18188/l_oneapi_ccl_p_2021.4.0.433_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18188/l_oneapi_ccl_p_2021.4.0.433_offline.sh", sha256="004031629d97ef99267d8ea962b666dc4be1560d7d32bd510f97bc81d9251ef6", expand=False, ) version( "2021.3.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17920/l_oneapi_ccl_p_2021.3.0.343_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17920/l_oneapi_ccl_p_2021.3.0.343_offline.sh", sha256="0bb63e2077215cc161973b2e5029919c55e84aea7620ee9a848f6c2cc1245e3f", expand=False, ) version( "2021.2.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17731/l_oneapi_ccl_p_2021.2.0.269_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17731/l_oneapi_ccl_p_2021.2.0.269_offline.sh", sha256="18b7875030243295b75471e235e91e5f7b4fc15caf18c07d941a6d47fba378d7", expand=False, ) version( "2021.1.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17391/l_oneapi_ccl_p_2021.1.1.54_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17391/l_oneapi_ccl_p_2021.1.1.54_offline.sh", sha256="de732df57a03763a286106c8b885fd60e83d17906936a8897a384b874e773f49", expand=False, ) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py b/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py index 1a2721892c59b4..44a52b8d28ecf1 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py @@ -100,110 +100,110 @@ { "version": "2023.0.0", "cpp": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/19123/l_dpcpp-cpp-compiler_p_2023.0.0.25393_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19123/l_dpcpp-cpp-compiler_p_2023.0.0.25393_offline.sh", "sha256": "473eb019282c2735d65c6058f6890e60b79a5698ae18d2c1e4489fed8dd18a02", }, "ftn": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/19105/l_fortran-compiler_p_2023.0.0.25394_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19105/l_fortran-compiler_p_2023.0.0.25394_offline.sh", "sha256": "fd7525bf90646c8e43721e138f29c9c6f99e96dfe5648c13633f30ec64ac8b1b", }, }, { "version": "2022.2.1", "cpp": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/19049/l_dpcpp-cpp-compiler_p_2022.2.1.16991_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19049/l_dpcpp-cpp-compiler_p_2022.2.1.16991_offline.sh", "sha256": "3f0f02f9812a0cdf01922d2df9348910c6a4cb4f9dfe50fc7477a59bbb1f7173", }, "ftn": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/18998/l_fortran-compiler_p_2022.2.1.16992_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18998/l_fortran-compiler_p_2022.2.1.16992_offline.sh", "sha256": "64f1d1efbcdc3ac2182bec18313ca23f800d94f69758db83a1394490d9d4b042", }, }, { "version": "2022.2.0", "cpp": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/18849/l_dpcpp-cpp-compiler_p_2022.2.0.8772_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18849/l_dpcpp-cpp-compiler_p_2022.2.0.8772_offline.sh", "sha256": "8ca97f7ea8abf7876df6e10ce2789ea8cbc310c100ad7bf0b5ffccc4f3c7f2c9", }, "ftn": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/18909/l_fortran-compiler_p_2022.2.0.8773_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18909/l_fortran-compiler_p_2022.2.0.8773_offline.sh", "sha256": "4054e4bf5146d55638d21612396a19ea623d22cbb8ac63c0a7150773541e0311", }, }, { "version": "2022.1.0", "cpp": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/18717/l_dpcpp-cpp-compiler_p_2022.1.0.137_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18717/l_dpcpp-cpp-compiler_p_2022.1.0.137_offline.sh", "sha256": "1027819581ba820470f351abfc2b2658ff2684ed8da9ed0e722a45774a2541d6", }, "ftn": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/18703/l_fortran-compiler_p_2022.1.0.134_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18703/l_fortran-compiler_p_2022.1.0.134_offline.sh", "sha256": "583082abe54a657eb933ea4ba3e988eef892985316be13f3e23e18a3c9515020", }, }, { "version": "2022.0.2", "cpp": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/18478/l_dpcpp-cpp-compiler_p_2022.0.2.84_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18478/l_dpcpp-cpp-compiler_p_2022.0.2.84_offline.sh", "sha256": "ade5bbd203e7226ca096d7bf758dce07857252ec54e83908cac3849e6897b8f3", }, "ftn": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/18481/l_fortran-compiler_p_2022.0.2.83_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18481/l_fortran-compiler_p_2022.0.2.83_offline.sh", "sha256": "78532b4118fc3d7afd44e679fc8e7aed1e84efec0d892908d9368e0c7c6b190c", }, }, { "version": "2022.0.1", "cpp": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/18435/l_dpcpp-cpp-compiler_p_2022.0.1.71_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18435/l_dpcpp-cpp-compiler_p_2022.0.1.71_offline.sh", "sha256": "c7cddc64c3040eece2dcaf48926ba197bb27e5a46588b1d7b3beddcdc379926a", }, "ftn": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/18436/l_fortran-compiler_p_2022.0.1.70_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18436/l_fortran-compiler_p_2022.0.1.70_offline.sh", "sha256": "2cb28a04f93554bfeffd6cad8bd0e7082735f33d73430655dea86df8933f50d1", }, }, { "version": "2021.4.0", "cpp": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/18209/l_dpcpp-cpp-compiler_p_2021.4.0.3201_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18209/l_dpcpp-cpp-compiler_p_2021.4.0.3201_offline.sh", "sha256": "9206bff1c2fdeb1ca0d5f79def90dcf3e6c7d5711b9b5adecd96a2ba06503828", }, "ftn": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/18210/l_fortran-compiler_p_2021.4.0.3224_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18210/l_fortran-compiler_p_2021.4.0.3224_offline.sh", "sha256": "de2fcf40e296c2e882e1ddf2c45bb8d25aecfbeff2f75fcd7494068d621eb7e0", }, }, { "version": "2021.3.0", "cpp": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/17928/l_dpcpp-cpp-compiler_p_2021.3.0.3168_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17928/l_dpcpp-cpp-compiler_p_2021.3.0.3168_offline.sh", "sha256": "f848d81b7cabc76c2841c9757abb2290921efd7b82491d830605f5785600e7a1", }, "ftn": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/17959/l_fortran-compiler_p_2021.3.0.3168_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17959/l_fortran-compiler_p_2021.3.0.3168_offline.sh", "sha256": "c4553f7e707be8e8e196f625e4e7fbc8eff5474f64ab85fc7146b5ed53ebc87c", }, }, { "version": "2021.2.0", "cpp": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/17749/l_dpcpp-cpp-compiler_p_2021.2.0.118_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17749/l_dpcpp-cpp-compiler_p_2021.2.0.118_offline.sh", "sha256": "5d01cbff1a574c3775510cd97ffddd27fdf56d06a6b0c89a826fb23da4336d59", }, "ftn": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/17756/l_fortran-compiler_p_2021.2.0.136_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17756/l_fortran-compiler_p_2021.2.0.136_offline.sh", "sha256": "a62e04a80f6d2f05e67cd5acb03fa58857ee22c6bd581ec0651c0ccd5bdec5a1", }, }, { "version": "2021.1.2", "cpp": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/17513/l_dpcpp-cpp-compiler_p_2021.1.2.63_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17513/l_dpcpp-cpp-compiler_p_2021.1.2.63_offline.sh", "sha256": "68d6cb638091990e578e358131c859f3bbbbfbf975c581fd0b4b4d36476d6f0a", }, "ftn": { - "url": "https://registrationcenter-download.intel.com/akdlm/irc_nas/17508/l_fortran-compiler_p_2021.1.2.62_offline.sh", + "url": "https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17508/l_fortran-compiler_p_2021.1.2.62_offline.sh", "sha256": "29345145268d08a59fa7eb6e58c7522768466dd98f6d9754540d1a0803596829", }, }, diff --git a/var/spack/repos/builtin/packages/intel-oneapi-dal/package.py b/var/spack/repos/builtin/packages/intel-oneapi-dal/package.py index 025a81814f6efc..d90db4ea6496cf 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-dal/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-dal/package.py @@ -46,61 +46,61 @@ class IntelOneapiDal(IntelOneApiLibraryPackage): ) version( "2023.0.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19122/l_daal_oneapi_p_2023.0.0.25395_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19122/l_daal_oneapi_p_2023.0.0.25395_offline.sh", sha256="83d0ca7501c882bf7e1f250e7310dafa6b6fd404858298ce9cde7546654d43bc", expand=False, ) version( "2021.7.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19032/l_daal_oneapi_p_2021.7.1.16996_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19032/l_daal_oneapi_p_2021.7.1.16996_offline.sh", sha256="2328927480b0ba5d380028f981717b63ee323f8a1616a491a160a0a0b239e285", expand=False, ) version( "2021.7.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18895/l_daal_oneapi_p_2021.7.0.8746_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18895/l_daal_oneapi_p_2021.7.0.8746_offline.sh", sha256="c18e68df120c2b1db17877cfcbb1b5c93a47b2f4756a3444c663d0f03be4eee3", expand=False, ) version( "2021.6.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18698/l_daal_oneapi_p_2021.6.0.915_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18698/l_daal_oneapi_p_2021.6.0.915_offline.sh", sha256="bc9a430f372a5f9603c19ec25207c83ffd9d59fe517599c734d465e32afc9790", expand=False, ) version( "2021.5.3", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18480/l_daal_oneapi_p_2021.5.3.832_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18480/l_daal_oneapi_p_2021.5.3.832_offline.sh", sha256="6d3503cf7be2908bbb7bd18e67b8f2e96ad9aec53d4813c9be620adaa2db390f", expand=False, ) version( "2021.5.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18432/l_daal_oneapi_p_2021.5.1.803_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18432/l_daal_oneapi_p_2021.5.1.803_offline.sh", sha256="bba7bee3caef14fbb54ad40615222e5da429496455edf7375f11fd84a72c87ba", expand=False, ) version( "2021.4.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18218/l_daal_oneapi_p_2021.4.0.729_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18218/l_daal_oneapi_p_2021.4.0.729_offline.sh", sha256="61da9d2a40c75edadff65d052fd84ef3db1da5d94f86ad3956979e6988549dda", expand=False, ) version( "2021.3.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17905/l_daal_oneapi_p_2021.3.0.557_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17905/l_daal_oneapi_p_2021.3.0.557_offline.sh", sha256="4c2e77a3a2fa5f8a09b7d68760dfca6c07f3949010836cd6da34075463467995", expand=False, ) version( "2021.2.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17747/l_daal_oneapi_p_2021.2.0.358_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17747/l_daal_oneapi_p_2021.2.0.358_offline.sh", sha256="cbf4e64dbd21c10179f2d1d7e8b8b0f12eeffe6921602df33276cd0ebd1f8e34", expand=False, ) version( "2021.1.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17443/l_daal_oneapi_p_2021.1.1.79_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17443/l_daal_oneapi_p_2021.1.1.79_offline.sh", sha256="6e0e24bba462e80f0fba5a46e95cf0cca6cf17948a7753f8e396ddedd637544e", expand=False, ) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-dnn/package.py b/var/spack/repos/builtin/packages/intel-oneapi-dnn/package.py index 80da187cd2cd1c..37066aac2b026d 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-dnn/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-dnn/package.py @@ -46,61 +46,61 @@ class IntelOneapiDnn(IntelOneApiLibraryPackage): ) version( "2023.0.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19137/l_onednn_p_2023.0.0.25399_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19137/l_onednn_p_2023.0.0.25399_offline.sh", sha256="f974901132bf55ba11ce782747ba9443f38d67827bce3994775eeb86ed018869", expand=False, ) version( "2022.2.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19035/l_onednn_p_2022.2.1.16994_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19035/l_onednn_p_2022.2.1.16994_offline.sh", sha256="2102964a36a5b58b529385706e6829456ee5225111c33dfce6326fff5175aace", expand=False, ) version( "2022.2.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18933/l_onednn_p_2022.2.0.8750_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18933/l_onednn_p_2022.2.0.8750_offline.sh", sha256="920833cd1f05f2fdafb942c96946c3925eb734d4458d52f22f2cc755133cb9e0", expand=False, ) version( "2022.1.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18725/l_onednn_p_2022.1.0.132_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18725/l_onednn_p_2022.1.0.132_offline.sh", sha256="0b9a7efe8dd0f0b5132b353a8ee99226f75bae4bab188a453817263a0684cc93", expand=False, ) version( "2022.0.2", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18476/l_onednn_p_2022.0.2.43_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18476/l_onednn_p_2022.0.2.43_offline.sh", sha256="a2a953542b4f632b51a2527d84bd76c3140a41c8085420da4237e2877c27c280", expand=False, ) version( "2022.0.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18441/l_onednn_p_2022.0.1.26_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18441/l_onednn_p_2022.0.1.26_offline.sh", sha256="8339806300d83d2629952e6e2f2758b52f517c072a20b7b7fc5642cf1e2a5410", expand=False, ) version( "2021.4.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18221/l_onednn_p_2021.4.0.467_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18221/l_onednn_p_2021.4.0.467_offline.sh", sha256="30cc601467f6a94b3d7e14f4639faf0b12fdf6d98df148b07acdb4dfdfb971db", expand=False, ) version( "2021.3.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17923/l_onednn_p_2021.3.0.344_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17923/l_onednn_p_2021.3.0.344_offline.sh", sha256="1521f6cbffcf9ce0c7b5dfcf1a2546a4a0c8d8abc99f3011709039aaa9e0859a", expand=False, ) version( "2021.2.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17751/l_onednn_p_2021.2.0.228_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17751/l_onednn_p_2021.2.0.228_offline.sh", sha256="62121a3355298211a124ff4e71c42fc172bf1061019be6c6120830a1a502aa88", expand=False, ) version( "2021.1.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17385/l_onednn_p_2021.1.1.55_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17385/l_onednn_p_2021.1.1.55_offline.sh", sha256="24002c57bb8931a74057a471a5859d275516c331fd8420bee4cae90989e77dc3", expand=False, ) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-dpct/package.py b/var/spack/repos/builtin/packages/intel-oneapi-dpct/package.py index ac1dee0736c743..283076bd71c882 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-dpct/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-dpct/package.py @@ -39,25 +39,25 @@ class IntelOneapiDpct(IntelOneApiPackage): ) version( "2023.0.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19100/l_dpcpp-ct_p_2023.0.0.25483_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19100/l_dpcpp-ct_p_2023.0.0.25483_offline.sh", sha256="81f392d16a10cbdb8e9d053f18566304a78e1be624280ad43ddbc0dfd767fc7f", expand=False, ) version( "2022.2.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18991/l_dpcpp-ct_p_2022.2.1.14994_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18991/l_dpcpp-ct_p_2022.2.1.14994_offline.sh", sha256="ea2fbe36de70eb3c78c97133f81e0b2a2fbcfc9525e77125a183d7af446ef3e6", expand=False, ) version( "2022.2.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18908/l_dpcpp-ct_p_2022.2.0.8701_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18908/l_dpcpp-ct_p_2022.2.0.8701_offline.sh", sha256="ca79b89ba4b97accb868578a1b7ba0e38dc5e4457d45c6c2552ba33d71b52128", expand=False, ) version( "2022.1.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18746/l_dpcpp-ct_p_2022.1.0.172_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18746/l_dpcpp-ct_p_2022.1.0.172_offline.sh", sha256="ec42f4df3f9daf1af587b14b8b6644c773a0b270e03dd22ac9e2f49131e3e40c", expand=False, ) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-dpl/package.py b/var/spack/repos/builtin/packages/intel-oneapi-dpl/package.py index 83a6252caf0fa5..f89e33b7207eae 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-dpl/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-dpl/package.py @@ -42,43 +42,43 @@ class IntelOneapiDpl(IntelOneApiLibraryPackage): ) version( "2022.0.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19133/l_oneDPL_p_2022.0.0.25335_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19133/l_oneDPL_p_2022.0.0.25335_offline.sh", sha256="61fcdfe854393f90c43c01bff81bf917c1784bc1c128afdb0c8be2795455d3d2", expand=False, ) version( "2021.7.2", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19046/l_oneDPL_p_2021.7.2.15007_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19046/l_oneDPL_p_2021.7.2.15007_offline.sh", sha256="84d60a6b1978ff45d2c416f18ca7df542eaa8c0b18dc3abf4bb0824a91b4fc44", expand=False, ) version( "2021.7.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18846/l_oneDPL_p_2021.7.1.8713_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18846/l_oneDPL_p_2021.7.1.8713_offline.sh", sha256="275c935427e3ad0eb995034b05ff2ffd13c55ee58069c3702aa383f68a1e5485", expand=False, ) version( "2021.7.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18752/l_oneDPL_p_2021.7.0.631_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18752/l_oneDPL_p_2021.7.0.631_offline.sh", sha256="1e2d735d5eccfe8058e18f96d733eda8de5b7a07d613447b7d483fd3f9cec600", expand=False, ) version( "2021.6.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18372/l_oneDPL_p_2021.6.0.501_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18372/l_oneDPL_p_2021.6.0.501_offline.sh", sha256="0225f133a6c38b36d08635986870284a958e5286c55ca4b56a4058bd736f8f4f", expand=False, ) version( "2021.5.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18189/l_oneDPL_p_2021.5.0.445_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18189/l_oneDPL_p_2021.5.0.445_offline.sh", sha256="7d4adf300a18f779c3ab517070c61dba10e3952287d5aef37c38f739e9041a68", expand=False, ) version( "2021.4.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17889/l_oneDPL_p_2021.4.0.337_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17889/l_oneDPL_p_2021.4.0.337_offline.sh", sha256="540ef0d308c4b0f13ea10168a90edd42a56dc0883024f6f1a678b94c10b5c170", expand=False, ) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-inspector/package.py b/var/spack/repos/builtin/packages/intel-oneapi-inspector/package.py index 457afb84302384..da5eb9fb77926c 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-inspector/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-inspector/package.py @@ -44,43 +44,43 @@ class IntelOneapiInspector(IntelOneApiLibraryPackageWithSdk): ) version( "2023.0.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19125/l_inspector_oneapi_p_2023.0.0.25340_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19125/l_inspector_oneapi_p_2023.0.0.25340_offline.sh", sha256="adae2f06443c62a1a7be6aff2ad9c78672ec70f67b83dd660e68faafd7911dd4", expand=False, ) version( "2022.3.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19005/l_inspector_oneapi_p_2022.3.1.15318_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19005/l_inspector_oneapi_p_2022.3.1.15318_offline.sh", sha256="62aa2abf6928c0f4fc60ccfb69375297f823c183aea2519d7344e09c9734c1f8", expand=False, ) version( "2022.3.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18924/l_inspector_oneapi_p_2022.3.0.8706_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18924/l_inspector_oneapi_p_2022.3.0.8706_offline.sh", sha256="c239b93769afae0ef5f7d3b8584d739bf4a839051bd428f1e6be3e8ca5d4aefa", expand=False, ) version( "2022.1.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18712/l_inspector_oneapi_p_2022.1.0.123_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18712/l_inspector_oneapi_p_2022.1.0.123_offline.sh", sha256="8551180aa30be3abea11308fb11ea9a296f0e056ab07d9254585448a0b23333e", expand=False, ) version( "2022.0.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18363/l_inspector_oneapi_p_2022.0.0.56_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18363/l_inspector_oneapi_p_2022.0.0.56_offline.sh", sha256="79a0eb2ae3f1de1e3456076685680c468702922469c3fda3e074718fb0bea741", expand=False, ) version( "2021.4.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18239/l_inspector_oneapi_p_2021.4.0.266_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18239/l_inspector_oneapi_p_2021.4.0.266_offline.sh", sha256="c8210cbcd0e07cc75e773249a5e4a02cf34894ec80a213939f3a20e6c5705274", expand=False, ) version( "2021.3.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17946/l_inspector_oneapi_p_2021.3.0.217_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17946/l_inspector_oneapi_p_2021.3.0.217_offline.sh", sha256="1371ca74be2a6d4b069cdb3f8f2d6109abbc3261a81f437f0fe5412a7b659b43", expand=False, ) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-ipp/package.py b/var/spack/repos/builtin/packages/intel-oneapi-ipp/package.py index 923e19301fce78..f6968277f5e580 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-ipp/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-ipp/package.py @@ -47,61 +47,61 @@ class IntelOneapiIpp(IntelOneApiLibraryPackage): ) version( "2021.7.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19126/l_ipp_oneapi_p_2021.7.0.25396_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19126/l_ipp_oneapi_p_2021.7.0.25396_offline.sh", sha256="98b40cb6cea2198480400579330a5de85fd58d441b323246dfd2b960990fec26", expand=False, ) version( "2021.6.2", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19007/l_ipp_oneapi_p_2021.6.2.16995_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19007/l_ipp_oneapi_p_2021.6.2.16995_offline.sh", sha256="23ae49afa9f13c2bed0c8a32e447e1c6b3528685cebdd32e4aa2a9736827cc4e", expand=False, ) version( "2021.6.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18925/l_ipp_oneapi_p_2021.6.1.8749_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18925/l_ipp_oneapi_p_2021.6.1.8749_offline.sh", sha256="3f8705bf57c07b71d822295bfad49b531a38b6c3a4ca1119e4c52236cb664f57", expand=False, ) version( "2021.6.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18748/l_ipp_oneapi_p_2021.6.0.626_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18748/l_ipp_oneapi_p_2021.6.0.626_offline.sh", sha256="cf09b5229dd38d75671fa1ab1af47e4d5f9f16dc7c9c22a4313a221a184774aa", expand=False, ) version( "2021.5.2", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18474/l_ipp_oneapi_p_2021.5.2.544_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18474/l_ipp_oneapi_p_2021.5.2.544_offline.sh", sha256="ba48d91ab1447d0ae3d3a5448e3f08e460393258b60630c743be88281e51608e", expand=False, ) version( "2021.5.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18440/l_ipp_oneapi_p_2021.5.1.522_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18440/l_ipp_oneapi_p_2021.5.1.522_offline.sh", sha256="be99f9b0b2cc815e017188681ab997f3ace94e3010738fa6f702f2416dac0de4", expand=False, ) version( "2021.4.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18219/l_ipp_oneapi_p_2021.4.0.459_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18219/l_ipp_oneapi_p_2021.4.0.459_offline.sh", sha256="1a7a8fe5502ae61c10f5c432b7662c6fa542e5832a40494eb1c3a2d8e27c9f3e", expand=False, ) version( "2021.3.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17958/l_ipp_oneapi_p_2021.3.0.333_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17958/l_ipp_oneapi_p_2021.3.0.333_offline.sh", sha256="67e75c80813ec9a30d5fda5860f76122ae66fa2128a48c8461f5e6b100b38bbb", expand=False, ) version( "2021.2.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17758/l_ipp_oneapi_p_2021.2.0.233_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17758/l_ipp_oneapi_p_2021.2.0.233_offline.sh", sha256="ccdfc81f77203822d80151b40ce9e8fd82bb2de85a9b132ceed12d24d3f3ff52", expand=False, ) version( "2021.1.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17436/l_ipp_oneapi_p_2021.1.1.47_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17436/l_ipp_oneapi_p_2021.1.1.47_offline.sh", sha256="2656a3a7f1f9f1438cbdf98fd472a213c452754ef9476dd65190a7d46618ba86", expand=False, ) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-ippcp/package.py b/var/spack/repos/builtin/packages/intel-oneapi-ippcp/package.py index 6e8bb450784991..0772b7d087bab6 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-ippcp/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-ippcp/package.py @@ -48,61 +48,61 @@ class IntelOneapiIppcp(IntelOneApiLibraryPackage): ) version( "2021.6.3", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19108/l_ippcp_oneapi_p_2021.6.3.25343_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19108/l_ippcp_oneapi_p_2021.6.3.25343_offline.sh", sha256="82e7f577a73af8c168a28029019f85136617ac762438e77d21647a70dec74baf", expand=False, ) version( "2021.6.2", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18999/l_ippcp_oneapi_p_2021.6.2.15006_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18999/l_ippcp_oneapi_p_2021.6.2.15006_offline.sh", sha256="3c285c12da98a4d16e9a5ba237c8c51780475af54b1d1162185480ac891f16ee", expand=False, ) version( "2021.6.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18923/l_ippcp_oneapi_p_2021.6.1.8714_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18923/l_ippcp_oneapi_p_2021.6.1.8714_offline.sh", sha256="a83c2e74f78ea00aae877259df38baab31e78bc04c0a387a1de36fff712eb225", expand=False, ) version( "2021.6.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18709/l_ippcp_oneapi_p_2021.6.0.536_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18709/l_ippcp_oneapi_p_2021.6.0.536_offline.sh", sha256="dac90862b408a6418f3782a5c4bf940939b1307ff4841ecfc6a29322976a2d43", expand=False, ) version( "2021.5.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18470/l_ippcp_oneapi_p_2021.5.1.462_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18470/l_ippcp_oneapi_p_2021.5.1.462_offline.sh", sha256="7ec058abbc1cdfd240320228d6426c65e5a855fd3a27e11fbd1ad2523f64812a", expand=False, ) version( "2021.5.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18364/l_ippcp_oneapi_p_2021.5.0.445_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18364/l_ippcp_oneapi_p_2021.5.0.445_offline.sh", sha256="e71aee288cc970b9c9fe21f7d5c300dbc2a4ea0687c7028f200d6b87e6c895a1", expand=False, ) version( "2021.4.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18187/l_ippcp_oneapi_p_2021.4.0.401_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18187/l_ippcp_oneapi_p_2021.4.0.401_offline.sh", sha256="2ca2320f733ee75b4a27865185a1b0730879fe2c47596e570b1bd50d0b8ac608", expand=False, ) version( "2021.3.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17886/l_ippcp_oneapi_p_2021.3.0.315_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17886/l_ippcp_oneapi_p_2021.3.0.315_offline.sh", sha256="0214d132d8e64b02e9cc63182e2099fb9caebf8c240fb1629ae898c2e1f72fb9", expand=False, ) version( "2021.2.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17684/l_ippcp_oneapi_p_2021.2.0.231_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17684/l_ippcp_oneapi_p_2021.2.0.231_offline.sh", sha256="64cd5924b42f924b6a8128a8bf8e686f5dc52b98f586ffac6c2e2f1585e3aba9", expand=False, ) version( "2021.1.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17415/l_ippcp_oneapi_p_2021.1.1.54_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17415/l_ippcp_oneapi_p_2021.1.1.54_offline.sh", sha256="c0967afae22c7a223ec42542bcc702121064cd3d8f680eff36169c94f964a936", expand=False, ) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-itac/package.py b/var/spack/repos/builtin/packages/intel-oneapi-itac/package.py index c24c6029818a62..525a8fc0480f0c 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-itac/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-itac/package.py @@ -41,25 +41,25 @@ class IntelOneapiItac(IntelOneApiPackage): ) version( "2021.8.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19129/l_itac_oneapi_p_2021.8.0.25341_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19129/l_itac_oneapi_p_2021.8.0.25341_offline.sh", sha256="9e943e07cbe7bcb2c6ec181cea5a2fd2241555bed695050f5069467fe7140c37", expand=False, ) version( "2021.7.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19024/l_itac_oneapi_p_2021.7.1.15324_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19024/l_itac_oneapi_p_2021.7.1.15324_offline.sh", sha256="fb26689efdb7369e211b5cf05f3e30d491a2787f24fef174b23241b997cc442f", expand=False, ) version( "2021.7.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18886/l_itac_oneapi_p_2021.7.0.8707_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18886/l_itac_oneapi_p_2021.7.0.8707_offline.sh", sha256="719faeccfb1478f28110b72b1558187590a6f44cce067158f407ab335a7395bd", expand=False, ) version( "2021.6.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18694/l_itac_oneapi_p_2021.6.0.434_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18694/l_itac_oneapi_p_2021.6.0.434_offline.sh", sha256="1ecc2735da960041b051e377cadb9f6ab2f44e8aa44d0f642529a56a3cbba436", expand=False, ) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py b/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py index e2169868c6e516..48839e727dfbf9 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-mkl/package.py @@ -45,61 +45,61 @@ class IntelOneapiMkl(IntelOneApiLibraryPackage): ) version( "2023.0.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19138/l_onemkl_p_2023.0.0.25398_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19138/l_onemkl_p_2023.0.0.25398_offline.sh", sha256="0d61188e91a57bdb575782eb47a05ae99ea8eebefee6b2dfe20c6708e16e9927", expand=False, ) version( "2022.2.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19038/l_onemkl_p_2022.2.1.16993_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19038/l_onemkl_p_2022.2.1.16993_offline.sh", sha256="eedd4b795720de776b1fc5f542ae0fac37ec235cdb567f7c2ee3182e73e3e59d", expand=False, ) version( "2022.2.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18898/l_onemkl_p_2022.2.0.8748_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18898/l_onemkl_p_2022.2.0.8748_offline.sh", sha256="07d7caedd4b9f025c6fd439a0d2c2f279b18ecbbb63cadb864f6c63c1ed942db", expand=False, ) version( "2022.1.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18721/l_onemkl_p_2022.1.0.223_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18721/l_onemkl_p_2022.1.0.223_offline.sh", sha256="4b325a3c4c56e52f4ce6c8fbb55d7684adc16425000afc860464c0f29ea4563e", expand=False, ) version( "2022.0.2", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18483/l_onemkl_p_2022.0.2.136_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18483/l_onemkl_p_2022.0.2.136_offline.sh", sha256="134b748825a474acc862bb4a7fada99741a15b7627cfaa6ba0fb05ec0b902b5e", expand=False, ) version( "2022.0.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18444/l_onemkl_p_2022.0.1.117_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18444/l_onemkl_p_2022.0.1.117_offline.sh", sha256="22afafbe2f3762eca052ac21ec40b845ff2f3646077295c88c2f37f80a0cc160", expand=False, ) version( "2021.4.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18222/l_onemkl_p_2021.4.0.640_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18222/l_onemkl_p_2021.4.0.640_offline.sh", sha256="9ad546f05a421b4f439e8557fd0f2d83d5e299b0d9bd84bdd86be6feba0c3915", expand=False, ) version( "2021.3.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17901/l_onemkl_p_2021.3.0.520_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17901/l_onemkl_p_2021.3.0.520_offline.sh", sha256="a06e1cdbfd8becc63440b473b153659885f25a6e3c4dcb2907ad9cd0c3ad59ce", expand=False, ) version( "2021.2.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17757/l_onemkl_p_2021.2.0.296_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17757/l_onemkl_p_2021.2.0.296_offline.sh", sha256="816e9df26ff331d6c0751b86ed5f7d243f9f172e76f14e83b32bf4d1d619dbae", expand=False, ) version( "2021.1.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17402/l_onemkl_p_2021.1.1.52_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17402/l_onemkl_p_2021.1.1.52_offline.sh", sha256="818b6bd9a6c116f4578cda3151da0612ec9c3ce8b2c8a64730d625ce5b13cc0c", expand=False, ) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py b/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py index e41d6dd21c3bd7..c60250f0cce3c9 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-mpi/package.py @@ -41,61 +41,61 @@ class IntelOneapiMpi(IntelOneApiLibraryPackage): ) version( "2021.8.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19131/l_mpi_oneapi_p_2021.8.0.25329_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19131/l_mpi_oneapi_p_2021.8.0.25329_offline.sh", sha256="0fcb1171fc42fd4b2d863ae474c0b0f656b0fa1fdc1df435aa851ccd6d1eaaf7", expand=False, ) version( "2021.7.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19010/l_mpi_oneapi_p_2021.7.1.16815_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19010/l_mpi_oneapi_p_2021.7.1.16815_offline.sh", sha256="90e7804f2367d457cd4cbf7aa29f1c5676287aa9b34f93e7c9a19e4b8583fff7", expand=False, ) version( "2021.7.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18926/l_mpi_oneapi_p_2021.7.0.8711_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18926/l_mpi_oneapi_p_2021.7.0.8711_offline.sh", sha256="4eb1e1487b67b98857bc9b7b37bcac4998e0aa6d1b892b2c87b003bf84fb38e9", expand=False, ) version( "2021.6.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18714/l_mpi_oneapi_p_2021.6.0.602_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18714/l_mpi_oneapi_p_2021.6.0.602_offline.sh", sha256="e85db63788c434d43c1378e5e2bf7927a75d11aee8e6b78ee0d933da920977a6", expand=False, ) version( "2021.5.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18471/l_mpi_oneapi_p_2021.5.1.515_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18471/l_mpi_oneapi_p_2021.5.1.515_offline.sh", sha256="b992573959e39752e503e691564a0d876b099547c38b322d5775c5b06ec07a7f", expand=False, ) version( "2021.5.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18370/l_mpi_oneapi_p_2021.5.0.495_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18370/l_mpi_oneapi_p_2021.5.0.495_offline.sh", sha256="3aae53fe77f7c6aac7a32b299c25d6ca9a00ba4e2d512a26edd90811e59e7471", expand=False, ) version( "2021.4.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18186/l_mpi_oneapi_p_2021.4.0.441_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18186/l_mpi_oneapi_p_2021.4.0.441_offline.sh", sha256="cc4b7072c61d0bd02b1c431b22d2ea3b84b967b59d2e587e77a9e7b2c24f2a29", expand=False, ) version( "2021.3.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17947/l_mpi_oneapi_p_2021.3.0.294_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17947/l_mpi_oneapi_p_2021.3.0.294_offline.sh", sha256="04c48f864ee4c723b1b4ca62f2bea8c04d5d7e3de19171fd62b17868bc79bc36", expand=False, ) version( "2021.2.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17729/l_mpi_oneapi_p_2021.2.0.215_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17729/l_mpi_oneapi_p_2021.2.0.215_offline.sh", sha256="d0d4cdd11edaff2e7285e38f537defccff38e37a3067c02f4af43a3629ad4aa3", expand=False, ) version( "2021.1.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17397/l_mpi_oneapi_p_2021.1.1.76_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17397/l_mpi_oneapi_p_2021.1.1.76_offline.sh", sha256="8b7693a156c6fc6269637bef586a8fd3ea6610cac2aae4e7f48c1fbb601625fe", expand=False, ) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py b/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py index dba598f34226b1..15e1861b4d7cec 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-tbb/package.py @@ -42,61 +42,61 @@ class IntelOneapiTbb(IntelOneApiLibraryPackage): ) version( "2021.8.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19143/l_tbb_oneapi_p_2021.8.0.25334_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19143/l_tbb_oneapi_p_2021.8.0.25334_offline.sh", sha256="41074fcf6a33e41f9e8007609100e40c27f4e36b709b964835eff823e655486b", expand=False, ) version( "2021.7.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19041/l_tbb_oneapi_p_2021.7.1.15005_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19041/l_tbb_oneapi_p_2021.7.1.15005_offline.sh", sha256="f13a8e740d69347b5985c1be496a3259a86d64ec94933b3d26100dbc2f059fd4", expand=False, ) version( "2021.7.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18901/l_tbb_oneapi_p_2021.7.0.8712_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18901/l_tbb_oneapi_p_2021.7.0.8712_offline.sh", sha256="879bd2004b8e93bc12c53c43eab44cd843433e3da7a976baa8bf07a1069a87c5", expand=False, ) version( "2021.6.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18728/l_tbb_oneapi_p_2021.6.0.835_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18728/l_tbb_oneapi_p_2021.6.0.835_offline.sh", sha256="e9ede40a3d7745de6d711d43818f820c8486ab544a45610a71118fbca20698e5", expand=False, ) version( "2021.5.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18473/l_tbb_oneapi_p_2021.5.1.738_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18473/l_tbb_oneapi_p_2021.5.1.738_offline.sh", sha256="c154749f1f370e4cde11a0a7c80452d479e2dfa53ff2b1b97003d9c0d99c91e3", expand=False, ) version( "2021.5.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18380/l_tbb_oneapi_p_2021.5.0.707_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18380/l_tbb_oneapi_p_2021.5.0.707_offline.sh", sha256="6ff7890a74a43ae02e0fa2d9c5533fce70a49dff8e73278b546a0995367fec5e", expand=False, ) version( "2021.4.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18194/l_tbb_oneapi_p_2021.4.0.643_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18194/l_tbb_oneapi_p_2021.4.0.643_offline.sh", sha256="33332012ff8ffe7987b1a20bea794d76f7d8050ccff04fa6e1990974c336ee24", expand=False, ) version( "2021.3.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17952/l_tbb_oneapi_p_2021.3.0.511_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17952/l_tbb_oneapi_p_2021.3.0.511_offline.sh", sha256="b83f5e018e3d262e42e9c96881845bbc09c3f036c265e65023422ca8e8637633", expand=False, ) version( "2021.2.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17759/l_tbb_oneapi_p_2021.2.0.357_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17759/l_tbb_oneapi_p_2021.2.0.357_offline.sh", sha256="c1c3623c5bef547b30eac009e7a444611bf714c758d7472c114e9be9d5700eba", expand=False, ) version( "2021.1.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17378/l_tbb_oneapi_p_2021.1.1.119_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17378/l_tbb_oneapi_p_2021.1.1.119_offline.sh", sha256="535290e3910a9d906a730b24af212afa231523cf13a668d480bade5f2a01b53b", expand=False, ) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-vpl/package.py b/var/spack/repos/builtin/packages/intel-oneapi-vpl/package.py index ebee643db88471..e42bbc6303dc91 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-vpl/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-vpl/package.py @@ -33,43 +33,43 @@ class IntelOneapiVpl(IntelOneApiLibraryPackage): ) version( "2023.0.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19134/l_oneVPL_p_2023.0.0.25332_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19134/l_oneVPL_p_2023.0.0.25332_offline.sh", sha256="69e42fc7f412271c92395412a693bd158ef6df1472b3e0e783a63fddfc44c5af", expand=False, ) version( "2022.2.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18903/l_oneVPL_p_2022.2.0.8703_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18903/l_oneVPL_p_2022.2.0.8703_offline.sh", sha256="cb8af222d194ebb4b1dafe12e0b70cbbdee204f9fcfe9eafb46b287ee33b3797", expand=False, ) version( "2022.1.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18750/l_oneVPL_p_2022.1.0.154_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18750/l_oneVPL_p_2022.1.0.154_offline.sh", sha256="486cca918c9772a43f62da77e07cdf54dabb92ecebf494eb8c89c4492ab43447", expand=False, ) version( "2022.0.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18375/l_oneVPL_p_2022.0.0.58_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18375/l_oneVPL_p_2022.0.0.58_offline.sh", sha256="600b8566e1aa523b97291bed6b08f69a04bc7c4c75c035942a64a38f45a1a7f0", expand=False, ) version( "2021.6.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18190/l_oneVPL_p_2021.6.0.458_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18190/l_oneVPL_p_2021.6.0.458_offline.sh", sha256="40c50008be3f03d17cc8c0c34324593c1d419ee4c45af5543aa5a2d5fb11071f", expand=False, ) version( "2021.2.2", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17733/l_oneVPL_p_2021.2.2.212_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17733/l_oneVPL_p_2021.2.2.212_offline.sh", sha256="21106ba5cde22f3e31fd55280fbccf263508fa054030f12d5dff4a5379ef3bb7", expand=False, ) version( "2021.1.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/17418/l_oneVPL_p_2021.1.1.66_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/17418/l_oneVPL_p_2021.1.1.66_offline.sh", sha256="0fec42545b30b7bb2e4e33deb12ab27a02900f5703153d9601673a8ce43082ed", expand=False, ) diff --git a/var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py b/var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py index 55c4aa45b135ae..66646c7d606b59 100644 --- a/var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py +++ b/var/spack/repos/builtin/packages/intel-oneapi-vtune/package.py @@ -51,43 +51,43 @@ class IntelOneapiVtune(IntelOneApiLibraryPackageWithSdk): ) version( "2023.0.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19136/l_oneapi_vtune_p_2023.0.0.25339_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19136/l_oneapi_vtune_p_2023.0.0.25339_offline.sh", sha256="77fb356b501177d7bd5c936729ba4c1ada45935dc45a8ecd2f1164c276feb1ea", expand=False, ) version( "2022.4.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/19027/l_oneapi_vtune_p_2022.4.1.16919_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/19027/l_oneapi_vtune_p_2022.4.1.16919_offline.sh", sha256="eb4b4da61eea52c08fc139dbf4630e2c52cbcfaea8f1376c545c0863839366d1", expand=False, ) version( "2022.4.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18888/l_oneapi_vtune_p_2022.4.0.8705_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18888/l_oneapi_vtune_p_2022.4.0.8705_offline.sh", sha256="8c5a144ed61ef9addaa41abe7fbfceeedb6a8fe1c5392e3e265aada1f545b0fe", expand=False, ) version( "2022.3.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18656/l_oneapi_vtune_p_2022.3.0.195_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18656/l_oneapi_vtune_p_2022.3.0.195_offline.sh", sha256="7921fce7fcc3b82575be22d9c36beec961ba2a9fb5262ba16a04090bcbd2e1a6", expand=False, ) version( "2022.0.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18406/l_oneapi_vtune_p_2022.0.0.94_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18406/l_oneapi_vtune_p_2022.0.0.94_offline.sh", sha256="aa4d575c22e7be0c950b87d67d9e371f470f682906864c4f9b68e530ecd22bd7", expand=False, ) version( "2021.7.1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18086/l_oneapi_vtune_p_2021.7.1.492_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18086/l_oneapi_vtune_p_2021.7.1.492_offline.sh", sha256="4cf17078ae6e09f26f70bd9d0b726af234cc30c342ae4a8fda69941b40139b26", expand=False, ) version( "2021.6.0", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/18012/l_oneapi_vtune_p_2021.6.0.411_offline.sh", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18012/l_oneapi_vtune_p_2021.6.0.411_offline.sh", sha256="6b1df7da713337aa665bcc6ff23e4a006695b5bfaf71dffd305cbadca2e5560c", expand=False, ) diff --git a/var/spack/repos/builtin/packages/intel-parallel-studio/package.py b/var/spack/repos/builtin/packages/intel-parallel-studio/package.py index 20830ea23add9e..b6ab4e405e094f 100644 --- a/var/spack/repos/builtin/packages/intel-parallel-studio/package.py +++ b/var/spack/repos/builtin/packages/intel-parallel-studio/package.py @@ -31,186 +31,186 @@ class IntelParallelStudio(IntelPackage): version( "cluster.2020.4", sha256="f36e49da97b6ce24d2d464d73d7ff49d71cff20e1698c20e607919819602a9f5", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17113/parallel_studio_xe_2020_update4_cluster_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/17113/parallel_studio_xe_2020_update4_cluster_edition.tgz", deprecated=True, ) version( "cluster.2020.2", sha256="4795c44374e8988b91da20ac8f13022d7d773461def4a26ca210a8694f69f133", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16744/parallel_studio_xe_2020_update2_cluster_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16744/parallel_studio_xe_2020_update2_cluster_edition.tgz", deprecated=True, ) version( "cluster.2020.1", sha256="fd11d8de72b2bd60474f8bce7b463e4cbb2255969b9eaf24f689575aa2a2abab", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16526/parallel_studio_xe_2020_update1_cluster_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16526/parallel_studio_xe_2020_update1_cluster_edition.tgz", deprecated=True, ) version( "cluster.2020.0", sha256="573b1d20707d68ce85b70934cfad15b5ad9cc14124a261c17ddd7717ba842c64", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16225/parallel_studio_xe_2020_cluster_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16225/parallel_studio_xe_2020_cluster_edition.tgz", deprecated=True, ) # version( "cluster.2019.5", sha256="c03421de616bd4e640ed25ce4103ec9c5c85768a940a5cb5bd1e97b45be33904", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15809/parallel_studio_xe_2019_update5_cluster_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15809/parallel_studio_xe_2019_update5_cluster_edition.tgz", deprecated=True, ) version( "cluster.2019.4", sha256="32aee12de3b5ca14caf7578313c06b205795c67620f4a9606ea45696ee3b3d9e", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15533/parallel_studio_xe_2019_update4_cluster_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15533/parallel_studio_xe_2019_update4_cluster_edition.tgz", deprecated=True, ) version( "cluster.2019.3", sha256="b5b022366d6d1a98dbb63b60221c62bc951c9819653ad6f5142192e89f78cf63", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15268/parallel_studio_xe_2019_update3_cluster_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15268/parallel_studio_xe_2019_update3_cluster_edition.tgz", deprecated=True, ) version( "cluster.2019.2", sha256="8c526bdd95d1da454e5cada00f7a2353089b86d0c9df2088ca7f842fe3ff4cae", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15088/parallel_studio_xe_2019_update2_cluster_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15088/parallel_studio_xe_2019_update2_cluster_edition.tgz", deprecated=True, ) version( "cluster.2019.1", sha256="3a1eb39f15615f7a2688426b9835e5e841e0c030f21dcfc899fe23e09bd2c645", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14850/parallel_studio_xe_2019_update1_cluster_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14850/parallel_studio_xe_2019_update1_cluster_edition.tgz", deprecated=True, ) version( "cluster.2019.0", sha256="1096dd4139bdd4b3abbda69a17d1e229a606759f793f5b0ba0d39623928ee4a1", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13589/parallel_studio_xe_2019_cluster_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13589/parallel_studio_xe_2019_cluster_edition.tgz", deprecated=True, ) # version( "cluster.2018.4", sha256="210a5904a860e11b861720e68416f91fd47a459e4500976853291fa8b0478566", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13717/parallel_studio_xe_2018_update4_cluster_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13717/parallel_studio_xe_2018_update4_cluster_edition.tgz", deprecated=True, ) version( "cluster.2018.3", sha256="23c64b88cea5056eaeef7b4ae0f4c6a86485c97f5e41d6c8419cb00aa4929287", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12998/parallel_studio_xe_2018_update3_cluster_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12998/parallel_studio_xe_2018_update3_cluster_edition.tgz", deprecated=True, ) version( "cluster.2018.2", sha256="550bc4758f7dd70e75830d329947532ad8b7cbb85225b8ec6db7e78a3f1d6d84", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12717/parallel_studio_xe_2018_update2_cluster_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12717/parallel_studio_xe_2018_update2_cluster_edition.tgz", deprecated=True, ) version( "cluster.2018.1", sha256="f7a94e83248d2641eb7ae2c1abf681067203a5b4372619e039861b468744774c", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12374/parallel_studio_xe_2018_update1_cluster_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12374/parallel_studio_xe_2018_update1_cluster_edition.tgz", deprecated=True, ) version( "cluster.2018.0", sha256="526e5e71c420dc9b557b0bae2a81abb33eedb9b6a28ac94996ccbcf71cf53774", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12058/parallel_studio_xe_2018_cluster_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12058/parallel_studio_xe_2018_cluster_edition.tgz", deprecated=True, ) # version( "cluster.2017.7", sha256="133c3aa99841a4fe48149938a90f971467452a82f033be10cd9464ba810f6360", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12856/parallel_studio_xe_2017_update7.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12856/parallel_studio_xe_2017_update7.tgz", deprecated=True, ) version( "cluster.2017.6", sha256="d771b00d3658934c424f294170125dc58ae9b03639aa898a2f115d7a7482dd3a", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12534/parallel_studio_xe_2017_update6.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12534/parallel_studio_xe_2017_update6.tgz", deprecated=True, ) version( "cluster.2017.5", sha256="36e496d1d1d7d7168cc3ba8f5bca9b52022339f30b62a87ed064b77a5cbccc09", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12138/parallel_studio_xe_2017_update5.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12138/parallel_studio_xe_2017_update5.tgz", deprecated=True, ) version( "cluster.2017.4", sha256="27d34625adfc635d767c136b5417a372f322fabe6701b651d858a8fe06d07f2d", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11537/parallel_studio_xe_2017_update4.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11537/parallel_studio_xe_2017_update4.tgz", deprecated=True, ) version( "cluster.2017.3", sha256="856950c0493de3e8b4150e18f8821675c1cf75c2eea5ff0804f59eb301414bbe", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11460/parallel_studio_xe_2017_update3.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11460/parallel_studio_xe_2017_update3.tgz", deprecated=True, ) version( "cluster.2017.2", sha256="83a655f0c2969409758488d70d6719fb5ea81a84b6da3feb641ce67bb240bc8a", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11298/parallel_studio_xe_2017_update2.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11298/parallel_studio_xe_2017_update2.tgz", deprecated=True, ) version( "cluster.2017.1", sha256="c808be744c98f7471c61258144859e8e8fc92771934281a16135803e941fd9b0", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/10973/parallel_studio_xe_2017_update1.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/10973/parallel_studio_xe_2017_update1.tgz", deprecated=True, ) version( "cluster.2017.0", sha256="f380a56a25cf17941eb691a640035e79f92516346500e0df80fbdd46c5c1b301", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9651/parallel_studio_xe_2017.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9651/parallel_studio_xe_2017.tgz", deprecated=True, ) # version( "cluster.2016.4", sha256="ea43c150ed6f9967bc781fe4253169a0447c69bac4fe2c563016a1ad2875ae23", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9781/parallel_studio_xe_2016_update4.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9781/parallel_studio_xe_2016_update4.tgz", deprecated=True, ) version( "cluster.2016.3", sha256="aa7c6f1a6603fae07c2b01409c12de0811aa5947eaa71dfb1fe9898076c2773e", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9061/parallel_studio_xe_2016_update3.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9061/parallel_studio_xe_2016_update3.tgz", deprecated=True, ) version( "cluster.2016.2", sha256="280bf39c75d7f52f206759ca4d8b6334ab92d5970957b90f5aa286bb0aa8d65e", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8676/parallel_studio_xe_2016_update2.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8676/parallel_studio_xe_2016_update2.tgz", deprecated=True, ) version( "cluster.2016.1", sha256="f5a3ab9fb581e19bf1bd966f7d40a11905e002a2bfae1c4a2140544288ca3e48", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8365/parallel_studio_xe_2016_update1.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8365/parallel_studio_xe_2016_update1.tgz", deprecated=True, ) version( "cluster.2016.0", sha256="fd4c32352fd78fc919601bedac5658ad5ac48efbc5700d9a8d42ed7d53bd8bb7", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/7997/parallel_studio_xe_2016.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/7997/parallel_studio_xe_2016.tgz", deprecated=True, ) # version( "cluster.2015.6", sha256="e604ed2bb45d227b151dd2898f3edd93526d58d1db1cb9d6b6f614907864f392", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8469/parallel_studio_xe_2015_update6.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8469/parallel_studio_xe_2015_update6.tgz", deprecated=True, ) version( "cluster.2015.1", sha256="84fdf48d1de20e1d580ba5d419a5bc1c55d217a4f5dc1807190ecffe0229a62b", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/4992/parallel_studio_xe_2015_update1.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/4992/parallel_studio_xe_2015_update1.tgz", deprecated=True, ) @@ -222,186 +222,186 @@ class IntelParallelStudio(IntelPackage): version( "professional.2020.4", sha256="f9679a40c63575191385837f4f1bdafbcfd3736f09ac51d0761248b9ca9cc9e6", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17114/parallel_studio_xe_2020_update4_professional_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/17114/parallel_studio_xe_2020_update4_professional_edition.tgz", deprecated=True, ) version( "professional.2020.2", sha256="96f9bca551a43e09d9648e8cba357739a759423adb671d1aa5973b7a930370c5", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16756/parallel_studio_xe_2020_update2_professional_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16756/parallel_studio_xe_2020_update2_professional_edition.tgz", deprecated=True, ) version( "professional.2020.1", sha256="5b547be92ecf50cb338b3038a565f5609135b27aa98a8b7964879eb2331eb29a", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16527/parallel_studio_xe_2020_update1_professional_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16527/parallel_studio_xe_2020_update1_professional_edition.tgz", deprecated=True, ) version( "professional.2020.0", sha256="e88cad18d28da50ed9cb87b12adccf13efd91bf94731dc33290481306c6f15ac", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16226/parallel_studio_xe_2020_professional_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16226/parallel_studio_xe_2020_professional_edition.tgz", deprecated=True, ) # version( "professional.2019.5", sha256="0ec638330214539361f8632e20759f385a5a78013dcc980ee93743d86d354452", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15810/parallel_studio_xe_2019_update5_professional_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15810/parallel_studio_xe_2019_update5_professional_edition.tgz", deprecated=True, ) version( "professional.2019.4", sha256="9b2818ea5739ade100841e99ce79ef7f4049a2513beb2ce20fc94706f1ba0231", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15534/parallel_studio_xe_2019_update4_professional_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15534/parallel_studio_xe_2019_update4_professional_edition.tgz", deprecated=True, ) version( "professional.2019.3", sha256="92a8879106d0bdf1ecf4670cd97fbcdc67d78b13bdf484f2c516a533aa7a27f9", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15269/parallel_studio_xe_2019_update3_professional_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15269/parallel_studio_xe_2019_update3_professional_edition.tgz", deprecated=True, ) version( "professional.2019.2", sha256="cdb629d74612d135ca197f1f64e6a081e31df68cda92346a29e1223bb06e64ea", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15089/parallel_studio_xe_2019_update2_professional_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15089/parallel_studio_xe_2019_update2_professional_edition.tgz", deprecated=True, ) version( "professional.2019.1", sha256="bc83ef5a728903359ae11a2b90ad7dae4ae61194afb28bb5bb419f6a6aea225d", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14825/parallel_studio_xe_2019_update1_professional_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14825/parallel_studio_xe_2019_update1_professional_edition.tgz", deprecated=True, ) version( "professional.2019.0", sha256="94b9714e353e5c4f58d38cb236e2f8911cbef31c4b42a148d60c988e926411e2", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13578/parallel_studio_xe_2019_professional_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13578/parallel_studio_xe_2019_professional_edition.tgz", deprecated=True, ) # version( "professional.2018.4", sha256="54ab4320da849108602096fa7a34aa21751068467e0d1584aa8f16352b77d323", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13718/parallel_studio_xe_2018_update4_professional_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13718/parallel_studio_xe_2018_update4_professional_edition.tgz", deprecated=True, ) version( "professional.2018.3", sha256="3d8e72ccad31f243e43b72a925ad4a6908e2955682433898640ab783decf9960", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12999/parallel_studio_xe_2018_update3_professional_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12999/parallel_studio_xe_2018_update3_professional_edition.tgz", deprecated=True, ) version( "professional.2018.2", sha256="fc577b29fb2c687441d4faea14a6fb6da529fc78fcb778cbface59f40e128e02", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12718/parallel_studio_xe_2018_update2_professional_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12718/parallel_studio_xe_2018_update2_professional_edition.tgz", deprecated=True, ) version( "professional.2018.1", sha256="dd3e118069d87eebb614336732323b48172c8c8a653cde673a8ef02f7358e94d", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12375/parallel_studio_xe_2018_update1_professional_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12375/parallel_studio_xe_2018_update1_professional_edition.tgz", deprecated=True, ) version( "professional.2018.0", sha256="72308ffa088391ea65726a79d7a73738206fbb1d8ed8563e3d06eab3120fb1a0", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12062/parallel_studio_xe_2018_professional_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12062/parallel_studio_xe_2018_professional_edition.tgz", deprecated=True, ) # version( "professional.2017.7", sha256="133c3aa99841a4fe48149938a90f971467452a82f033be10cd9464ba810f6360", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12856/parallel_studio_xe_2017_update7.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12856/parallel_studio_xe_2017_update7.tgz", deprecated=True, ) version( "professional.2017.6", sha256="d771b00d3658934c424f294170125dc58ae9b03639aa898a2f115d7a7482dd3a", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12534/parallel_studio_xe_2017_update6.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12534/parallel_studio_xe_2017_update6.tgz", deprecated=True, ) version( "professional.2017.5", sha256="36e496d1d1d7d7168cc3ba8f5bca9b52022339f30b62a87ed064b77a5cbccc09", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12138/parallel_studio_xe_2017_update5.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12138/parallel_studio_xe_2017_update5.tgz", deprecated=True, ) version( "professional.2017.4", sha256="27d34625adfc635d767c136b5417a372f322fabe6701b651d858a8fe06d07f2d", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11537/parallel_studio_xe_2017_update4.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11537/parallel_studio_xe_2017_update4.tgz", deprecated=True, ) version( "professional.2017.3", sha256="856950c0493de3e8b4150e18f8821675c1cf75c2eea5ff0804f59eb301414bbe", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11460/parallel_studio_xe_2017_update3.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11460/parallel_studio_xe_2017_update3.tgz", deprecated=True, ) version( "professional.2017.2", sha256="83a655f0c2969409758488d70d6719fb5ea81a84b6da3feb641ce67bb240bc8a", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11298/parallel_studio_xe_2017_update2.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11298/parallel_studio_xe_2017_update2.tgz", deprecated=True, ) version( "professional.2017.1", sha256="c808be744c98f7471c61258144859e8e8fc92771934281a16135803e941fd9b0", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/10973/parallel_studio_xe_2017_update1.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/10973/parallel_studio_xe_2017_update1.tgz", deprecated=True, ) version( "professional.2017.0", sha256="f380a56a25cf17941eb691a640035e79f92516346500e0df80fbdd46c5c1b301", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9651/parallel_studio_xe_2017.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9651/parallel_studio_xe_2017.tgz", deprecated=True, ) # version( "professional.2016.4", sha256="ea43c150ed6f9967bc781fe4253169a0447c69bac4fe2c563016a1ad2875ae23", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9781/parallel_studio_xe_2016_update4.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9781/parallel_studio_xe_2016_update4.tgz", deprecated=True, ) version( "professional.2016.3", sha256="aa7c6f1a6603fae07c2b01409c12de0811aa5947eaa71dfb1fe9898076c2773e", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9061/parallel_studio_xe_2016_update3.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9061/parallel_studio_xe_2016_update3.tgz", deprecated=True, ) version( "professional.2016.2", sha256="280bf39c75d7f52f206759ca4d8b6334ab92d5970957b90f5aa286bb0aa8d65e", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8676/parallel_studio_xe_2016_update2.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8676/parallel_studio_xe_2016_update2.tgz", deprecated=True, ) version( "professional.2016.1", sha256="f5a3ab9fb581e19bf1bd966f7d40a11905e002a2bfae1c4a2140544288ca3e48", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8365/parallel_studio_xe_2016_update1.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8365/parallel_studio_xe_2016_update1.tgz", deprecated=True, ) version( "professional.2016.0", sha256="fd4c32352fd78fc919601bedac5658ad5ac48efbc5700d9a8d42ed7d53bd8bb7", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/7997/parallel_studio_xe_2016.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/7997/parallel_studio_xe_2016.tgz", deprecated=True, ) # version( "professional.2015.6", sha256="e604ed2bb45d227b151dd2898f3edd93526d58d1db1cb9d6b6f614907864f392", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8469/parallel_studio_xe_2015_update6.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8469/parallel_studio_xe_2015_update6.tgz", deprecated=True, ) version( "professional.2015.1", sha256="84fdf48d1de20e1d580ba5d419a5bc1c55d217a4f5dc1807190ecffe0229a62b", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/4992/parallel_studio_xe_2015_update1.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/4992/parallel_studio_xe_2015_update1.tgz", deprecated=True, ) @@ -409,161 +409,161 @@ class IntelParallelStudio(IntelPackage): version( "composer.2020.4", sha256="ac1efeff608a8c3a416e6dfe20364061e8abf62d35fbaacdffe3fc9676fc1aa3", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz", deprecated=True, ) version( "composer.2020.2", sha256="42af16e9a91226978bb401d9f17b628bc279aa8cb104d4a38ba0808234a79bdd", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz", deprecated=True, ) version( "composer.2020.1", sha256="26c7e7da87b8a83adfd408b2a354d872be97736abed837364c1bf10f4469b01e", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16530/parallel_studio_xe_2020_update1_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16530/parallel_studio_xe_2020_update1_composer_edition.tgz", deprecated=True, ) version( "composer.2020.0", sha256="9168045466139b8e280f50f0606b9930ffc720bbc60bc76f5576829ac15757ae", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16229/parallel_studio_xe_2020_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16229/parallel_studio_xe_2020_composer_edition.tgz", deprecated=True, ) # version( "composer.2019.5", sha256="e8c8e4b9b46826a02c49325c370c79f896858611bf33ddb7fb204614838ad56c", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15813/parallel_studio_xe_2019_update5_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15813/parallel_studio_xe_2019_update5_composer_edition.tgz", deprecated=True, ) version( "composer.2019.4", sha256="1915993445323e1e78d6de73702a88fa3df2036109cde03d74ee38fef9f1abf2", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15537/parallel_studio_xe_2019_update4_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15537/parallel_studio_xe_2019_update4_composer_edition.tgz", deprecated=True, ) version( "composer.2019.3", sha256="15373ac6df2a84e6dd9fa0eac8b5f07ab00cdbb67f494161fd0d4df7a71aff8e", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15272/parallel_studio_xe_2019_update3_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15272/parallel_studio_xe_2019_update3_composer_edition.tgz", deprecated=True, ) version( "composer.2019.2", sha256="1e0f400be1f458592a8c2e7d55c1b2a4506f68f22bacbf1175af947809a4cd87", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15092/parallel_studio_xe_2019_update2_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15092/parallel_studio_xe_2019_update2_composer_edition.tgz", deprecated=True, ) version( "composer.2019.1", sha256="db000cb2ebf411f6e91719db68a0c68b8d3f7d38ad7f2049ea5b2f1b5f006c25", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14832/parallel_studio_xe_2019_update1_composer_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14832/parallel_studio_xe_2019_update1_composer_edition.tgz", deprecated=True, ) version( "composer.2019.0", sha256="e1a29463038b063e01f694e2817c0fcf1a8e824e24f15a26ce85f20afa3f963a", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13581/parallel_studio_xe_2019_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13581/parallel_studio_xe_2019_composer_edition.tgz", deprecated=True, ) # version( "composer.2018.4", sha256="94aca8f091dff9535b02f022a37aef150b36925c8ef069335621496f8e4db267", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13722/parallel_studio_xe_2018_update4_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13722/parallel_studio_xe_2018_update4_composer_edition.tgz", deprecated=True, ) version( "composer.2018.3", sha256="f21f7759709a3d3e3390a8325fa89ac79b1fce8890c292e73b2ba3ec576ebd2b", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13002/parallel_studio_xe_2018_update3_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13002/parallel_studio_xe_2018_update3_composer_edition.tgz", deprecated=True, ) version( "composer.2018.2", sha256="02d2a9fb10d9810f85dd77700215c4348d2e4475e814e4f086eb1442462667ff", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12722/parallel_studio_xe_2018_update2_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12722/parallel_studio_xe_2018_update2_composer_edition.tgz", deprecated=True, ) version( "composer.2018.1", sha256="db9aa417da185a03a63330c9d76ee8e88496ae6b771584d19003a29eedc7cab5", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12381/parallel_studio_xe_2018_update1_composer_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12381/parallel_studio_xe_2018_update1_composer_edition.tgz", deprecated=True, ) version( "composer.2018.0", sha256="ecad64360fdaff2548a0ea250a396faf680077c5a83c3c3ce2c55f4f4270b904", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12067/parallel_studio_xe_2018_composer_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12067/parallel_studio_xe_2018_composer_edition.tgz", deprecated=True, ) # version( "composer.2017.7", sha256="661e33b68e47bf335694d2255f5883955234e9085c8349783a5794eed2a937ad", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12860/parallel_studio_xe_2017_update7_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12860/parallel_studio_xe_2017_update7_composer_edition.tgz", deprecated=True, ) version( "composer.2017.6", sha256="771f50746fe130ea472394c42e25d2c7edae049ad809d2050945ef637becf65f", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12538/parallel_studio_xe_2017_update6_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12538/parallel_studio_xe_2017_update6_composer_edition.tgz", deprecated=True, ) version( "composer.2017.5", sha256="ede4ea9351fcf263103588ae0f130b4c2a79395529cdb698b0d6e866c4871f78", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12144/parallel_studio_xe_2017_update5_composer_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12144/parallel_studio_xe_2017_update5_composer_edition.tgz", deprecated=True, ) version( "composer.2017.4", sha256="4304766f80206a27709be61641c16782fccf2b3fcf7285782cce921ddc9b10ff", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11541/parallel_studio_xe_2017_update4_composer_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11541/parallel_studio_xe_2017_update4_composer_edition.tgz", deprecated=True, ) version( "composer.2017.3", sha256="3648578d7bba993ebb1da37c173979bfcfb47f26e7f4e17f257e78dea8fd96ab", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11464/parallel_studio_xe_2017_update3_composer_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11464/parallel_studio_xe_2017_update3_composer_edition.tgz", deprecated=True, ) version( "composer.2017.2", sha256="abd26ab2a703e73ab93326984837818601c391782a6bce52da8b2a246798ad40", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11302/parallel_studio_xe_2017_update2_composer_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11302/parallel_studio_xe_2017_update2_composer_edition.tgz", deprecated=True, ) version( "composer.2017.1", sha256="bc592abee829ba6e00a4f60961b486b80c15987ff1579d6560186407c84add6f", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/10978/parallel_studio_xe_2017_update1_composer_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/10978/parallel_studio_xe_2017_update1_composer_edition.tgz", deprecated=True, ) version( "composer.2017.0", sha256="d218db66a5bb57569bea00821ac95d4647eda7422bf8a178d1586b0fb314935a", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9656/parallel_studio_xe_2017_composer_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9656/parallel_studio_xe_2017_composer_edition.tgz", deprecated=True, ) # version( "composer.2016.4", sha256="17606c52cab6f5114223a2425923c8dd69f1858f5a3bdf280e0edea49ebd430d", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9785/parallel_studio_xe_2016_composer_edition_update4.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9785/parallel_studio_xe_2016_composer_edition_update4.tgz", deprecated=True, ) version( "composer.2016.3", sha256="fcec90ba97533e4705077e0701813b5a3bcc197b010b03e96f83191a35c26acf", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9063/parallel_studio_xe_2016_composer_edition_update3.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9063/parallel_studio_xe_2016_composer_edition_update3.tgz", deprecated=True, ) version( "composer.2016.2", sha256="6309ef8be1abba7737d3c1e17af64ca2620672b2da57afe2c3c643235f65b4c7", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8680/parallel_studio_xe_2016_composer_edition_update2.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8680/parallel_studio_xe_2016_composer_edition_update2.tgz", deprecated=True, ) # @@ -571,13 +571,13 @@ class IntelParallelStudio(IntelPackage): version( "composer.2015.6", sha256="b1e09833469ca76a2834cd0a5bb5fea11ec9986da85abf4c6eed42cd96ec24cb", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8432/l_compxe_2015.6.233.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8432/l_compxe_2015.6.233.tgz", deprecated=True, ) version( "composer.2015.1", sha256="8a438fe20103e27bfda132955616d0c886aa6cfdd86dcd9764af5d937a8799d9", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/4933/l_compxe_2015.1.133.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/4933/l_compxe_2015.1.133.tgz", deprecated=True, ) diff --git a/var/spack/repos/builtin/packages/intel/package.py b/var/spack/repos/builtin/packages/intel/package.py index e051bf0ba20ddb..bdf53db9a810fb 100644 --- a/var/spack/repos/builtin/packages/intel/package.py +++ b/var/spack/repos/builtin/packages/intel/package.py @@ -28,73 +28,73 @@ class Intel(IntelPackage): version( "20.0.4", sha256="ac1efeff608a8c3a416e6dfe20364061e8abf62d35fbaacdffe3fc9676fc1aa3", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/17117/parallel_studio_xe_2020_update4_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/17117/parallel_studio_xe_2020_update4_composer_edition.tgz", deprecated=True, ) version( "20.0.2", sha256="42af16e9a91226978bb401d9f17b628bc279aa8cb104d4a38ba0808234a79bdd", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz", deprecated=True, ) version( "20.0.1", sha256="26c7e7da87b8a83adfd408b2a354d872be97736abed837364c1bf10f4469b01e", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16530/parallel_studio_xe_2020_update1_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16530/parallel_studio_xe_2020_update1_composer_edition.tgz", deprecated=True, ) version( "20.0.0", sha256="9168045466139b8e280f50f0606b9930ffc720bbc60bc76f5576829ac15757ae", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16229/parallel_studio_xe_2020_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16229/parallel_studio_xe_2020_composer_edition.tgz", deprecated=True, ) version( "19.1.2", sha256="42af16e9a91226978bb401d9f17b628bc279aa8cb104d4a38ba0808234a79bdd", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16759/parallel_studio_xe_2020_update2_composer_edition.tgz", deprecated=True, ) version( "19.1.1", sha256="26c7e7da87b8a83adfd408b2a354d872be97736abed837364c1bf10f4469b01e", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16530/parallel_studio_xe_2020_update1_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16530/parallel_studio_xe_2020_update1_composer_edition.tgz", deprecated=True, ) version( "19.1.0", sha256="9168045466139b8e280f50f0606b9930ffc720bbc60bc76f5576829ac15757ae", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16229/parallel_studio_xe_2020_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/16229/parallel_studio_xe_2020_composer_edition.tgz", deprecated=True, ) version( "19.0.5", sha256="e8c8e4b9b46826a02c49325c370c79f896858611bf33ddb7fb204614838ad56c", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15813/parallel_studio_xe_2019_update5_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15813/parallel_studio_xe_2019_update5_composer_edition.tgz", deprecated=True, ) version( "19.0.4", sha256="1915993445323e1e78d6de73702a88fa3df2036109cde03d74ee38fef9f1abf2", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15537/parallel_studio_xe_2019_update4_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15537/parallel_studio_xe_2019_update4_composer_edition.tgz", deprecated=True, ) version( "19.0.3", sha256="15373ac6df2a84e6dd9fa0eac8b5f07ab00cdbb67f494161fd0d4df7a71aff8e", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15272/parallel_studio_xe_2019_update3_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/15272/parallel_studio_xe_2019_update3_composer_edition.tgz", deprecated=True, ) version( "19.0.1", sha256="db000cb2ebf411f6e91719db68a0c68b8d3f7d38ad7f2049ea5b2f1b5f006c25", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/14832/parallel_studio_xe_2019_update1_composer_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/14832/parallel_studio_xe_2019_update1_composer_edition.tgz", deprecated=True, ) version( "19.0.0", sha256="e1a29463038b063e01f694e2817c0fcf1a8e824e24f15a26ce85f20afa3f963a", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13581/parallel_studio_xe_2019_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13581/parallel_studio_xe_2019_composer_edition.tgz", deprecated=True, ) @@ -103,99 +103,99 @@ class Intel(IntelPackage): version( "18.0.5", sha256="94aca8f091dff9535b02f022a37aef150b36925c8ef069335621496f8e4db267", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13722/parallel_studio_xe_2018_update4_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13722/parallel_studio_xe_2018_update4_composer_edition.tgz", deprecated=True, ) version( "18.0.3", sha256="f21f7759709a3d3e3390a8325fa89ac79b1fce8890c292e73b2ba3ec576ebd2b", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13002/parallel_studio_xe_2018_update3_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/13002/parallel_studio_xe_2018_update3_composer_edition.tgz", deprecated=True, ) version( "18.0.2", sha256="02d2a9fb10d9810f85dd77700215c4348d2e4475e814e4f086eb1442462667ff", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12722/parallel_studio_xe_2018_update2_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12722/parallel_studio_xe_2018_update2_composer_edition.tgz", deprecated=True, ) version( "18.0.1", sha256="db9aa417da185a03a63330c9d76ee8e88496ae6b771584d19003a29eedc7cab5", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12381/parallel_studio_xe_2018_update1_composer_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12381/parallel_studio_xe_2018_update1_composer_edition.tgz", deprecated=True, ) version( "18.0.0", sha256="ecad64360fdaff2548a0ea250a396faf680077c5a83c3c3ce2c55f4f4270b904", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12067/parallel_studio_xe_2018_composer_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12067/parallel_studio_xe_2018_composer_edition.tgz", deprecated=True, ) # version( "17.0.7", sha256="661e33b68e47bf335694d2255f5883955234e9085c8349783a5794eed2a937ad", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12860/parallel_studio_xe_2017_update7_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12860/parallel_studio_xe_2017_update7_composer_edition.tgz", deprecated=True, ) version( "17.0.6", sha256="771f50746fe130ea472394c42e25d2c7edae049ad809d2050945ef637becf65f", - url="https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12538/parallel_studio_xe_2017_update6_composer_edition.tgz", + url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12538/parallel_studio_xe_2017_update6_composer_edition.tgz", deprecated=True, ) version( "17.0.5", sha256="ede4ea9351fcf263103588ae0f130b4c2a79395529cdb698b0d6e866c4871f78", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/12144/parallel_studio_xe_2017_update5_composer_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/12144/parallel_studio_xe_2017_update5_composer_edition.tgz", deprecated=True, ) version( "17.0.4", sha256="4304766f80206a27709be61641c16782fccf2b3fcf7285782cce921ddc9b10ff", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11541/parallel_studio_xe_2017_update4_composer_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11541/parallel_studio_xe_2017_update4_composer_edition.tgz", deprecated=True, ) version( "17.0.3", sha256="3648578d7bba993ebb1da37c173979bfcfb47f26e7f4e17f257e78dea8fd96ab", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11464/parallel_studio_xe_2017_update3_composer_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11464/parallel_studio_xe_2017_update3_composer_edition.tgz", deprecated=True, ) version( "17.0.2", sha256="abd26ab2a703e73ab93326984837818601c391782a6bce52da8b2a246798ad40", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/11302/parallel_studio_xe_2017_update2_composer_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/11302/parallel_studio_xe_2017_update2_composer_edition.tgz", deprecated=True, ) version( "17.0.1", sha256="bc592abee829ba6e00a4f60961b486b80c15987ff1579d6560186407c84add6f", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/10978/parallel_studio_xe_2017_update1_composer_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/10978/parallel_studio_xe_2017_update1_composer_edition.tgz", deprecated=True, ) version( "17.0.0", sha256="d218db66a5bb57569bea00821ac95d4647eda7422bf8a178d1586b0fb314935a", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9656/parallel_studio_xe_2017_composer_edition.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9656/parallel_studio_xe_2017_composer_edition.tgz", deprecated=True, ) # version( "16.0.4", sha256="17606c52cab6f5114223a2425923c8dd69f1858f5a3bdf280e0edea49ebd430d", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9785/parallel_studio_xe_2016_composer_edition_update4.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9785/parallel_studio_xe_2016_composer_edition_update4.tgz", deprecated=True, ) version( "16.0.3", sha256="fcec90ba97533e4705077e0701813b5a3bcc197b010b03e96f83191a35c26acf", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/9063/parallel_studio_xe_2016_composer_edition_update3.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/9063/parallel_studio_xe_2016_composer_edition_update3.tgz", deprecated=True, ) version( "16.0.2", sha256="6309ef8be1abba7737d3c1e17af64ca2620672b2da57afe2c3c643235f65b4c7", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8680/parallel_studio_xe_2016_composer_edition_update2.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8680/parallel_studio_xe_2016_composer_edition_update2.tgz", deprecated=True, ) # @@ -203,13 +203,13 @@ class Intel(IntelPackage): version( "15.0.6", sha256="b1e09833469ca76a2834cd0a5bb5fea11ec9986da85abf4c6eed42cd96ec24cb", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/8432/l_compxe_2015.6.233.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/8432/l_compxe_2015.6.233.tgz", deprecated=True, ) version( "15.0.1", sha256="8a438fe20103e27bfda132955616d0c886aa6cfdd86dcd9764af5d937a8799d9", - url="http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/4933/l_compxe_2015.1.133.tgz", + url="http://registrationcenter-download.intel.com/akdlm/IRC_NAS/tec/4933/l_compxe_2015.1.133.tgz", deprecated=True, ) From ecef72c47185eb4ee3e8eed0c5448354c16ac30c Mon Sep 17 00:00:00 2001 From: Greg Becker Date: Wed, 20 Mar 2024 09:39:26 -0700 Subject: [PATCH 123/155] Target.optimization_flags converts non-numeric versions to numeric (#43179) --- lib/spack/spack/target.py | 1 + lib/spack/spack/version/version_types.py | 28 +++++++++++++++++++----- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/lib/spack/spack/target.py b/lib/spack/spack/target.py index cd28d8e5fa3363..5f1f4f9e5a9b3a 100644 --- a/lib/spack/spack/target.py +++ b/lib/spack/spack/target.py @@ -155,4 +155,5 @@ def optimization_flags(self, compiler): # log this and just return compiler.version instead tty.debug(str(e)) + compiler_version = compiler_version.dotted.force_numeric return self.microarchitecture.optimization_flags(compiler.name, str(compiler_version)) diff --git a/lib/spack/spack/version/version_types.py b/lib/spack/spack/version/version_types.py index e34dc8599677f9..3e403256ea893a 100644 --- a/lib/spack/spack/version/version_types.py +++ b/lib/spack/spack/version/version_types.py @@ -193,12 +193,15 @@ def __getitem__(self, idx): message = "{cls.__name__} indices must be integers" raise TypeError(message.format(cls=cls)) + def _stringify(self): + string = "" + for index in range(len(self.version)): + string += str(self.version[index]) + string += str(self.separators[index]) + return string + def __str__(self): - return ( - self.string - if isinstance(self.string, str) - else ".".join((str(c) for c in self.version)) - ) + return self.string or self._stringify() def __repr__(self) -> str: # Print indirect repr through Version(...) @@ -257,6 +260,21 @@ def isdevelop(self): isinstance(p, VersionStrComponent) and isinstance(p.data, int) for p in self.version ) + @property + def force_numeric(self): + """Replaces all non-numeric components of the version with 0 + + This can be used to pass Spack versions to libraries that have stricter version schema. + """ + numeric = tuple(0 if isinstance(v, VersionStrComponent) else v for v in self.version) + # null separators except the final one have to be converted to avoid concatenating ints + # default to '.' as most common delimiter for versions + separators = tuple( + "." if s == "" and i != len(self.separators) - 1 else s + for i, s in enumerate(self.separators) + ) + return type(self)(None, numeric, separators) + @property def dotted(self): """The dotted representation of the version. From 8d9d721f07f257e2046ae455fc9ea2ed84e0aa23 Mon Sep 17 00:00:00 2001 From: Alex Leute <36964815+alex391@users.noreply.github.com> Date: Wed, 20 Mar 2024 13:50:52 -0400 Subject: [PATCH 124/155] py-postcactus: new package (#42907) Co-authored-by: Sid Pendelberry --- .../builtin/packages/py-postcactus/package.py | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-postcactus/package.py diff --git a/var/spack/repos/builtin/packages/py-postcactus/package.py b/var/spack/repos/builtin/packages/py-postcactus/package.py new file mode 100644 index 00000000000000..b33fcbd40a2c63 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-postcactus/package.py @@ -0,0 +1,40 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyPostcactus(PythonPackage): + """This repository contains a Python package named PostCactus for + postprocessing data from numerical simulations performed with the Einstein + Toolkit.""" + + homepage = "https://github.com/wokast/PyCactus" + url = "https://github.com/wokast/PyCactus/archive/refs/tags/2.2.zip" + + version("2.2", sha256="303108835d7652b37f43871c735b99dc7a60c28a24de35a09e9d2bb0f28f93fb") + + # pyproject.toml + depends_on("py-setuptools@40.6.0:", type="build") + # setup.cfg + depends_on("py-h5py", type=("build", "run")) + depends_on("py-numpy", type=("build", "run")) + depends_on("py-scipy", type=("build", "run")) + depends_on("py-future", type=("build", "run")) + depends_on("py-matplotlib", type=("build", "run")) + depends_on("py-tables", type=("build", "run")) + depends_on("py-jupyter", type=("build", "run"), when="+jupyter") + depends_on("vtk", type=("build", "run"), when="+vtk") + + # Variants for the optional requirements in README.md + variant("jupyter", default=False, description="Support for jupyter") + variant("vtk", default=False, description="VTK for 3D plots") + + def patch(self): + # Commenting out build-backend in order to ignore a ModuleNotFoundError + # for setuptools.build-meta + filter_file("^build-backend", "# build-backend", "PostCactus/pyproject.toml") + + build_directory = "PostCactus" From 9802649716b40e980cb97cbbd5ca1d8850d95b3f Mon Sep 17 00:00:00 2001 From: Martin Lang <67915889+lang-m@users.noreply.github.com> Date: Wed, 20 Mar 2024 18:55:54 +0100 Subject: [PATCH 125/155] berkeleygw: update FCPP flags for gcc (#42848) Compilation with the old flags fails on PowerPC (power8le) due to syntax errors in the output from the preprocessor. Compilation with the extended set of flags works both on PowerPC and x86_64. The correct set of flags was suggested from the berkeleygw developers: https://groups.google.com/a/berkeleygw.org/g/help/c/ewi3RZgOyeE/m/jSIoe45PAgAJ Uses spack-provided compiler prefix to call cpp when compiling berkeleygw with gcc. --- var/spack/repos/builtin/packages/berkeleygw/package.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/berkeleygw/package.py b/var/spack/repos/builtin/packages/berkeleygw/package.py index 980ebbc260885f..dbd1ea7fc70c5c 100644 --- a/var/spack/repos/builtin/packages/berkeleygw/package.py +++ b/var/spack/repos/builtin/packages/berkeleygw/package.py @@ -232,7 +232,11 @@ def build(self, spec, prefix): f90_flags += " -fallow-argument-mismatch" buildopts.append("COMPFLAG=-DGNU") buildopts.append("MOD_OPT=-J ") - buildopts.append("FCPP=cpp -C -nostdinc") + # std c11 prevents problems with linebreaks and fortran comments + # containing // (which is interpreted as C++ style comment) + buildopts.append( + "FCPP=%s -C -nostdinc -std=c11" % join_path(self.compiler.prefix, "bin", "cpp") + ) if "+mpi" in spec: buildopts.append("F90free=%s %s" % (spec["mpi"].mpifc, f90_flags)) buildopts.append("C_COMP=%s %s" % (spec["mpi"].mpicc, c_flags)) From 65fa71c1b4fb2cacb0adbcbcb685728ae61f8da3 Mon Sep 17 00:00:00 2001 From: Christopher Christofi <77968333+ChristopherChristofi@users.noreply.github.com> Date: Wed, 20 Mar 2024 18:02:36 +0000 Subject: [PATCH 126/155] py-pycm: new package (#43251) Co-authored-by: Harmen Stoppels Signed-off-by: Bernhard Kaindl --- .../repos/builtin/packages/py-art/package.py | 3 ++- .../repos/builtin/packages/py-pycm/package.py | 21 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 var/spack/repos/builtin/packages/py-pycm/package.py diff --git a/var/spack/repos/builtin/packages/py-art/package.py b/var/spack/repos/builtin/packages/py-art/package.py index f173355ffb9a1c..c5b6a48eeb4953 100644 --- a/var/spack/repos/builtin/packages/py-art/package.py +++ b/var/spack/repos/builtin/packages/py-art/package.py @@ -16,4 +16,5 @@ class PyArt(PythonPackage): version("6.1", sha256="6ab3031e3b7710039e73497b0e750cadfe04d4c1279ce3a123500dbafb9e1b64") - depends_on("python@3.5:") + depends_on("python@3.5:", type=("build", "run")) + depends_on("py-setuptools", type="build") diff --git a/var/spack/repos/builtin/packages/py-pycm/package.py b/var/spack/repos/builtin/packages/py-pycm/package.py new file mode 100644 index 00000000000000..657047c438d457 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pycm/package.py @@ -0,0 +1,21 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyPycm(PythonPackage): + """Multi-class confusion matrix library in Python.""" + + homepage = "https://www.pycm.io" + pypi = "pycm/pycm-4.0.tar.gz" + + license("MIT") + + version("4.0", sha256="839e217eeb9a093be633ea746c5ca8b7ab6591d978762face892473c9f28959d") + + depends_on("py-art@1.8:", type=("build", "run")) + depends_on("py-numpy@1.9.0:", type=("build", "run")) + depends_on("py-setuptools", type="build") From de1f9593c618417b4a3fdd1f7544cb09609408a8 Mon Sep 17 00:00:00 2001 From: Greg Becker Date: Wed, 20 Mar 2024 15:43:45 -0700 Subject: [PATCH 127/155] cray: return false more readily in detection logic (#43150) Often in containers, the files we use to detect whether a cray system supports new features are not available. Given that the cray containers only support the newer versions, and that these versions have been around for a while at this point and few sites don't support them, this PR changes the logic for detecting cray systems so that: 1. Don't even consider whether something is the `cray` platform if `opt/cray` is not in `MODULEPATH` 2. Only use the `cray` platform if we can read files in /opt/cray/pe and positively detect an older version 3. Otherwise, assume we're *not* on a cray (includes newer Cray PE's, which we treat as Linux) --- lib/spack/spack/platforms/cray.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/spack/spack/platforms/cray.py b/lib/spack/spack/platforms/cray.py index 180af15435eaf6..e8cc833c518053 100644 --- a/lib/spack/spack/platforms/cray.py +++ b/lib/spack/spack/platforms/cray.py @@ -160,10 +160,15 @@ def detect(cls): system, as the Cray compiler wrappers and other components of the Cray programming environment are irrelevant without module support. """ - craype_type, craype_version = cls.craype_type_and_version() - if craype_type == "EX" and craype_version >= spack.version.Version("21.10"): + if "opt/cray" not in os.environ.get("MODULEPATH", ""): return False - return "opt/cray" in os.environ.get("MODULEPATH", "") + + craype_type, craype_version = cls.craype_type_and_version() + if craype_type == "XC": + return True + if craype_type == "EX" and craype_version < spack.version.Version("21.10"): + return True + return False def _default_target_from_env(self): """Set and return the default CrayPE target loaded in a clean login From 0eb1957999ccd9e54685f0e69c3a99df908c3e12 Mon Sep 17 00:00:00 2001 From: Tom Scogland Date: Thu, 21 Mar 2024 01:32:28 -0700 Subject: [PATCH 128/155] cmd/python: use runpy to allow multiprocessing in scripts (#41789) Running a `spack-python` script like this: ```python import spack import multiprocessing def echo(args): print(args) if __name__ == "__main__": pool = multiprocessing.Pool(2) pool.map(echo, range(10)) ``` will fail in `develop` with an error like this: ```console _pickle.PicklingError: Can't pickle : attribute lookup echo on __main__ failed ``` Python expects to be able to look up the method `echo` in `sys.path["__main__"]` in subprocesses spawned by `multiprocessing`, but because we use `InteractiveConsole` to run `spack python`, the executed file isn't considered to be the `__main__` module, and lookups in subprocesses fail. We tried to fake this by setting `__name__` to `__main__` in the `spack python` command, but that doesn't fix the fact that no `__main__` module exists. Another annoyance with `InteractiveConsole` is that `__file__` is not defined in the main script scope, so you can't use it in your scripts. We can use the [runpy.run_path()](https://docs.python.org/3/library/runpy.html#runpy.run_path) function, which has been around since Python 3.2, to fix this. - [x] Use `runpy` module to launch non-interactive `spack python` invocations - [x] Only use `InteractiveConsole` for interactive `spack python` --- lib/spack/spack/cmd/python.py | 57 +++++++++++++++---------------- lib/spack/spack/cmd/unit_test.py | 17 +++++++++ share/spack/spack-completion.bash | 2 +- share/spack/spack-completion.fish | 4 ++- 4 files changed, 49 insertions(+), 31 deletions(-) diff --git a/lib/spack/spack/cmd/python.py b/lib/spack/spack/cmd/python.py index 71ce88eed6f85a..a4f177fa38263e 100644 --- a/lib/spack/spack/cmd/python.py +++ b/lib/spack/spack/cmd/python.py @@ -116,39 +116,38 @@ def ipython_interpreter(args): def python_interpreter(args): """A python interpreter is the default interpreter""" - # Fake a main python shell by setting __name__ to __main__. - console = code.InteractiveConsole({"__name__": "__main__", "spack": spack}) - if "PYTHONSTARTUP" in os.environ: - startup_file = os.environ["PYTHONSTARTUP"] - if os.path.isfile(startup_file): - with open(startup_file) as startup: - console.runsource(startup.read(), startup_file, "exec") - if args.python_command: - propagate_exceptions_from(console) - console.runsource(args.python_command) - elif args.python_args: - propagate_exceptions_from(console) + if args.python_args and not args.python_command: sys.argv = args.python_args - with open(args.python_args[0]) as file: - console.runsource(file.read(), args.python_args[0], "exec") + runpy.run_path(args.python_args[0], run_name="__main__") else: - # Provides readline support, allowing user to use arrow keys - console.push("import readline") - # Provide tabcompletion - console.push("from rlcompleter import Completer") - console.push("readline.set_completer(Completer(locals()).complete)") - console.push('readline.parse_and_bind("tab: complete")') - - console.interact( - "Spack version %s\nPython %s, %s %s" - % ( - spack.spack_version, - platform.python_version(), - platform.system(), - platform.machine(), + # Fake a main python shell by setting __name__ to __main__. + console = code.InteractiveConsole({"__name__": "__main__", "spack": spack}) + if "PYTHONSTARTUP" in os.environ: + startup_file = os.environ["PYTHONSTARTUP"] + if os.path.isfile(startup_file): + with open(startup_file) as startup: + console.runsource(startup.read(), startup_file, "exec") + if args.python_command: + propagate_exceptions_from(console) + console.runsource(args.python_command) + else: + # Provides readline support, allowing user to use arrow keys + console.push("import readline") + # Provide tabcompletion + console.push("from rlcompleter import Completer") + console.push("readline.set_completer(Completer(locals()).complete)") + console.push('readline.parse_and_bind("tab: complete")') + + console.interact( + "Spack version %s\nPython %s, %s %s" + % ( + spack.spack_version, + platform.python_version(), + platform.system(), + platform.machine(), + ) ) - ) def propagate_exceptions_from(console): diff --git a/lib/spack/spack/cmd/unit_test.py b/lib/spack/spack/cmd/unit_test.py index 2931be5e748bc8..db0c7ff0e5bb48 100644 --- a/lib/spack/spack/cmd/unit_test.py +++ b/lib/spack/spack/cmd/unit_test.py @@ -34,6 +34,13 @@ def setup_parser(subparser): default=False, help="show full pytest help, with advanced options", ) + subparser.add_argument( + "-n", + "--numprocesses", + type=int, + default=1, + help="run tests in parallel up to this wide, default 1 for sequential", + ) # extra spack arguments to list tests list_group = subparser.add_argument_group("listing tests") @@ -229,6 +236,16 @@ def unit_test(parser, args, unknown_args): if args.extension: pytest_root = spack.extensions.load_extension(args.extension) + if args.numprocesses is not None and args.numprocesses > 1: + pytest_args.extend( + [ + "--dist", + "loadfile", + "--tx", + f"{args.numprocesses}*popen//python=spack-tmpconfig spack python", + ] + ) + # pytest.ini lives in the root of the spack repository. with llnl.util.filesystem.working_dir(pytest_root): if args.list: diff --git a/share/spack/spack-completion.bash b/share/spack/spack-completion.bash index 90d17c5f484717..1319d1685ff214 100755 --- a/share/spack/spack-completion.bash +++ b/share/spack/spack-completion.bash @@ -1956,7 +1956,7 @@ _spack_uninstall() { _spack_unit_test() { if $list_options then - SPACK_COMPREPLY="-h --help -H --pytest-help -l --list -L --list-long -N --list-names --extension -s -k --showlocals" + SPACK_COMPREPLY="-h --help -H --pytest-help -n --numprocesses -l --list -L --list-long -N --list-names --extension -s -k --showlocals" else _unit_tests fi diff --git a/share/spack/spack-completion.fish b/share/spack/spack-completion.fish index 84e1a4721e9b2c..8547de93494a68 100755 --- a/share/spack/spack-completion.fish +++ b/share/spack/spack-completion.fish @@ -2958,12 +2958,14 @@ complete -c spack -n '__fish_spack_using_command uninstall' -l origin -r -f -a o complete -c spack -n '__fish_spack_using_command uninstall' -l origin -r -d 'only remove DB records with the specified origin' # spack unit-test -set -g __fish_spack_optspecs_spack_unit_test h/help H/pytest-help l/list L/list-long N/list-names extension= s/ k/= showlocals +set -g __fish_spack_optspecs_spack_unit_test h/help H/pytest-help n/numprocesses= l/list L/list-long N/list-names extension= s/ k/= showlocals complete -c spack -n '__fish_spack_using_command_pos_remainder 0 unit-test' -f -a '(__fish_spack_unit_tests)' complete -c spack -n '__fish_spack_using_command unit-test' -s h -l help -f -a help complete -c spack -n '__fish_spack_using_command unit-test' -s h -l help -d 'show this help message and exit' complete -c spack -n '__fish_spack_using_command unit-test' -s H -l pytest-help -f -a pytest_help complete -c spack -n '__fish_spack_using_command unit-test' -s H -l pytest-help -d 'show full pytest help, with advanced options' +complete -c spack -n '__fish_spack_using_command unit-test' -s n -l numprocesses -r -f -a numprocesses +complete -c spack -n '__fish_spack_using_command unit-test' -s n -l numprocesses -r -d 'run tests in parallel up to this wide, default 1 for sequential' complete -c spack -n '__fish_spack_using_command unit-test' -s l -l list -f -a list complete -c spack -n '__fish_spack_using_command unit-test' -s l -l list -d 'list test filenames' complete -c spack -n '__fish_spack_using_command unit-test' -s L -l list-long -f -a list From 2303332415cf830d9d385f4f7bcd5f0e431df915 Mon Sep 17 00:00:00 2001 From: Auriane R <48684432+aurianer@users.noreply.github.com> Date: Thu, 21 Mar 2024 09:38:40 +0100 Subject: [PATCH 129/155] Update aws-ofi-nccl to use the hwloc option (#43287) --- var/spack/repos/builtin/packages/aws-ofi-nccl/package.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/var/spack/repos/builtin/packages/aws-ofi-nccl/package.py b/var/spack/repos/builtin/packages/aws-ofi-nccl/package.py index d064393199db5d..003ad30817588d 100644 --- a/var/spack/repos/builtin/packages/aws-ofi-nccl/package.py +++ b/var/spack/repos/builtin/packages/aws-ofi-nccl/package.py @@ -26,6 +26,7 @@ class AwsOfiNccl(AutotoolsPackage): depends_on("cuda") depends_on("nccl") depends_on("mpi") + depends_on("hwloc") depends_on("autoconf", type="build") depends_on("automake", type="build") depends_on("libtool", type="build") @@ -52,6 +53,7 @@ def configure_args(self): "--with-cuda={0}".format(spec["cuda"].prefix), "--with-nccl={0}".format(spec["nccl"].prefix), "--with-mpi={0}".format(spec["mpi"].prefix), + "--with-hwloc={0}".format(spec["hwloc"].prefix), ] ) From 384e1983041094c8487d394f59dfe8a6848d60f2 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Thu, 21 Mar 2024 02:36:15 -0700 Subject: [PATCH 130/155] py-python-lsp-server: add v1.10.0 (#42799) * py-python-lsp-server: add v1.10.0 * Apply suggestions from code review Co-authored-by: Adam J. Stewart * Remove py-wheel from package * Apply suggestions from code review Co-authored-by: Adam J. Stewart --------- Co-authored-by: Adam J. Stewart --- .../packages/py-python-lsp-jsonrpc/package.py | 4 ++++ .../packages/py-python-lsp-server/package.py | 13 ++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-python-lsp-jsonrpc/package.py b/var/spack/repos/builtin/packages/py-python-lsp-jsonrpc/package.py index 9c507d367d5050..e3ec86ab1a98e0 100644 --- a/var/spack/repos/builtin/packages/py-python-lsp-jsonrpc/package.py +++ b/var/spack/repos/builtin/packages/py-python-lsp-jsonrpc/package.py @@ -16,7 +16,11 @@ class PyPythonLspJsonrpc(PythonPackage): license("MIT") + version("1.1.2", sha256="4688e453eef55cd952bff762c705cedefa12055c0aec17a06f595bcc002cc912") version("1.0.0", sha256="7bec170733db628d3506ea3a5288ff76aa33c70215ed223abdb0d95e957660bd") depends_on("py-setuptools", type="build") + depends_on("py-setuptools@61.2.0:", type="build", when="@1.1.0:") + depends_on("py-setuptools-scm@3.4.3:+toml", type="build", when="@1.1.0:") + depends_on("py-ujson@3.0.0:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-python-lsp-server/package.py b/var/spack/repos/builtin/packages/py-python-lsp-server/package.py index 1292ae77fe944a..3c1e23e990bdeb 100644 --- a/var/spack/repos/builtin/packages/py-python-lsp-server/package.py +++ b/var/spack/repos/builtin/packages/py-python-lsp-server/package.py @@ -16,15 +16,22 @@ class PyPythonLspServer(PythonPackage): license("MIT") + version("1.10.0", sha256="0c9a52dcc16cd0562404d529d50a03372db1ea6fb8dfcc3792b3265441c814f4") version("1.7.1", sha256="67473bb301f35434b5fa8b21fc5ed5fac27dc8a8446ccec8bae456af52a0aef6") version("1.7.0", sha256="401ce78ea2e98cadd02d94962eb32c92879caabc8055b9a2f36d7ef44acc5435") version("1.6.0", sha256="d75cdff9027c4212e5b9e861e9a0219219c8e2c69508d9f24949951dabd0dc1b") depends_on("python@3.7:", type=("build", "run")) - depends_on("py-setuptools@61.2.0:", type=("build", "run")) + depends_on("python@3.8:", type=("build", "run"), when="@1.8.0:") + depends_on("py-setuptools@61.2.0:", type=("build", "run"), when="@:1.7") + depends_on("py-setuptools@61.2.0:", type="build", when="@1.8.0:") depends_on("py-setuptools-scm@3.4.3:+toml", type="build") + depends_on("py-docstring-to-markdown", type=("build", "run")) - depends_on("py-jedi@0.17.2:0.18", type=("build", "run")) + depends_on("py-importlib-metadata@4.8.3:", type=("build", "run"), when="@1.8.0: ^python@:3.9") + depends_on("py-jedi@0.17.2:0.18", type=("build", "run"), when="@:1.7") + depends_on("py-jedi@0.17.2:0.19", type=("build", "run"), when="@1.8.0:") depends_on("py-pluggy@1.0.0:", type=("build", "run")) - depends_on("py-python-lsp-jsonrpc@1.0.0:", type=("build", "run")) + depends_on("py-python-lsp-jsonrpc@1.0.0:1", type=("build", "run")) + depends_on("py-python-lsp-jsonrpc@1.1.0:1", type=("build", "run"), when="@1.8.0:") depends_on("py-ujson@3.0.0:", type=("build", "run")) From 1f63a764ac933c57cf6df876699f5f7494443476 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Thu, 21 Mar 2024 12:49:29 +0100 Subject: [PATCH 131/155] jdk: new versions (#43264) --- .../repos/builtin/packages/jdk/package.py | 139 ++---------------- 1 file changed, 13 insertions(+), 126 deletions(-) diff --git a/var/spack/repos/builtin/packages/jdk/package.py b/var/spack/repos/builtin/packages/jdk/package.py index b0bdf2e8e3721b..c699f19a102970 100644 --- a/var/spack/repos/builtin/packages/jdk/package.py +++ b/var/spack/repos/builtin/packages/jdk/package.py @@ -6,8 +6,6 @@ import os import re -import llnl.util.tty as tty - from spack.package import * from spack.util.prefix import Prefix @@ -21,96 +19,25 @@ class Jdk(Package): maintainers("justintoo") - # Oracle requires that you accept their License Agreement in order - # to access the Java packages in download.oracle.com. In order to - # automate this process, we need to utilize these additional curl - # command-line options. See: - # http://stackoverflow.com/questions/10268583/how-to-automate-download-and-installation-of-java-jdk-on-linux - fetch_options = {"cookie": "oraclelicense=accept-securebackup-cookie"} - - # To add the latest version, go to the homepage listed above, - # click "JDK Download", click "Accept License Agreement", right-click the - # Linux .tar.gz link, and select Copy Link Address. The checksum can be - # found in a link above. The build number can be deciphered from the URL. - # Alternatively, run `bin/java -version` after extracting. Replace '+' - # symbol in version with '_', otherwise it will be interpreted as a variant - version( - "14_36", - sha256="4639bbaecc9cc606f1a4b99fda1efcaefcbf57a7025b3828b095093a6c866afd", - url="https://download.oracle.com/otn-pub/java/jdk/14+36/076bab302c7b4508975440c56f6cc26a/jdk-14_linux-x64_bin.tar.gz", - ) - version( - "12.0.2_10", - sha256="2dde6fda89a4ec6e6560ed464e917861c9e40bf576e7a64856dafc55abaaff51", - url="https://download.oracle.com/otn-pub/java/jdk/12.0.2+10/e482c34c86bd4bf8b56c0b35558996b9/jdk-12.0.2_linux-x64_bin.tar.gz", - ) - version( - "12.0.1_12", - sha256="9fd6dcdaf2cfca7da59e39b009a0f5bcd53bec2fb16105f7ca8d689cdab68d75", - url="https://download.oracle.com/otn-pub/java/jdk/12.0.1+12/69cfe15208a647278a19ef0990eea691/jdk-12.0.1_linux-x64_bin.tar.gz", - ) - version( - "11.0.2_9", - sha256="7b4fd8ffcf53e9ff699d964a80e4abf9706b5bdb5644a765c2b96f99e3a2cdc8", - url="https://download.oracle.com/otn-pub/java/jdk/11.0.2+9/f51449fcd52f4d52b93a989c5c56ed3c/jdk-11.0.2_linux-x64_bin.tar.gz", - ) - version( - "11.0.1_13", - sha256="e7fd856bacad04b6dbf3606094b6a81fa9930d6dbb044bbd787be7ea93abc885", - url="https://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin.tar.gz", - ) - version( - "10.0.2_13", - sha256="6633c20d53c50c20835364d0f3e172e0cbbce78fff81867488f22a6298fa372b", - url="https://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.tar.gz", - ) - version( - "10.0.1_10", - sha256="ae8ed645e6af38432a56a847597ac61d4283b7536688dbab44ab536199d1e5a4", - url="https://download.oracle.com/otn-pub/java/jdk/10.0.1+10/fb4372174a714e6b8c52526dc134031e/jdk-10.0.1_linux-x64_bin.tar.gz", - ) - version( - "1.8.0_241-b07", - sha256="419d32677855f676076a25aed58e79432969142bbd778ff8eb57cb618c69e8cb", - url="https://download.oracle.com/otn-pub/java/jdk/8u241-b07/1f5b5a70bf22433b84d0e960903adac8/jdk-8u241-linux-x64.tar.gz", - ) version( - "1.8.0_231-b11", - sha256="a011584a2c9378bf70c6903ef5fbf101b30b08937441dc2ec67932fb3620b2cf", - url="https://download.oracle.com/otn-pub/java/jdk/8u231-b11/5b13a193868b4bf28bcb45c792fce896/jdk-8u231-linux-x64.tar.gz", + "21.0.2", + sha256="9f1f4a7f25ef6a73255657c40a6d7714f2d269cf15fb2ff1dc9c0c8b56623a6f", + url="https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz", ) version( - "1.8.0_212-b10", - sha256="3160c50aa8d8e081c8c7fe0f859ea452922eca5d2ae8f8ef22011ae87e6fedfb", - url="https://download.oracle.com/otn-pub/java/jdk/8u212-b10/59066701cf1a433da9770636fbc4c9aa/jdk-8u212-linux-x64.tar.gz", - ) - version( - "1.8.0_202-b08", - sha256="9a5c32411a6a06e22b69c495b7975034409fa1652d03aeb8eb5b6f59fd4594e0", - url="https://download.oracle.com/otn-pub/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jdk-8u202-linux-x64.tar.gz", - ) - version( - "1.8.0_141-b15", - sha256="041d5218fbea6cd7e81c8c15e51d0d32911573af2ed69e066787a8dc8a39ba4f", - url="https://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz", - ) - version( - "1.8.0_131-b11", - sha256="62b215bdfb48bace523723cdbb2157c665e6a25429c73828a32f00e587301236", - url="https://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz", + "17.0.10", + sha256="e4fb2df9a32a876afb0a6e17f54c594c2780e18badfa2e8fc99bc2656b0a57b1", + url="https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz", ) - provides("java@14", when="@14.0:14") - provides("java@13", when="@13.0:13") - provides("java@12", when="@12.0:12") - provides("java@11", when="@11.0:11") - provides("java@10", when="@10.0:10") - provides("java@9", when="@9.0:9") - provides("java@8", when="@1.8.0:1.8") - provides("java@7", when="@1.7.0:1.7") + provides("java@21", when="@21") + provides("java@17", when="@17") - conflicts("target=ppc64:", msg="jdk is only available for x86_64") - conflicts("target=ppc64le:", msg="jdk is only available for x86_64") + requires("target=x86_64:", msg="binaries only availble for x86_64") + # requires("platform=linux") # bug in concretizer + conflicts("platform=windows") + conflicts("platform=darwin") + conflicts("platform=freebsd") # FIXME: # 1. `extends('java')` doesn't work, you need to use `extends('jdk')` @@ -168,46 +95,6 @@ def libs(self): return find_libraries(["libjvm"], root=self.home, recursive=True) - @run_before("install") - def macos_check(self): - if self.spec.satisfies("platform=darwin"): - msg = """\ -Spack's JDK package only supports Linux. If you need to install JDK on macOS, -manually download the .dmg from: - - {0} - -and double-click to install. Once JDK is installed, you can tell Spack where -to find it like so. To find the JDK installation directory, run: - - $ /usr/libexec/java_home - -If you have multiple versions of JDK installed, you can specify a particular -version to search for with the --version flag. To find the exact version -number, run: - - $ java -version - -If the version number contains a '+' symbol, replace it with '_', otherwise -Spack will think it is a variant. Add JDK as an external package by running: - - $ spack config edit packages - -and adding entries for each installation: - - packages: - jdk: - buildable: False - externals: - - spec: jdk@10.0.1_10 - prefix: /path/to/jdk/Home - - spec: jdk@1.7.0_45-b18 - prefix: /path/to/jdk/Home""".format( - self.homepage - ) - - tty.die(msg) - def install(self, spec, prefix): install_tree(".", prefix) From c4ce51c9bee1f1f2c637dca88d1f8567235e4aa0 Mon Sep 17 00:00:00 2001 From: Auriane R <48684432+aurianer@users.noreply.github.com> Date: Thu, 21 Mar 2024 14:23:07 +0100 Subject: [PATCH 132/155] Add flash-attn package (#42939) --- .../builtin/packages/py-flash-attn/package.py | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-flash-attn/package.py diff --git a/var/spack/repos/builtin/packages/py-flash-attn/package.py b/var/spack/repos/builtin/packages/py-flash-attn/package.py new file mode 100644 index 00000000000000..308db114538e1a --- /dev/null +++ b/var/spack/repos/builtin/packages/py-flash-attn/package.py @@ -0,0 +1,33 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyFlashAttn(PythonPackage): + """ + This package provides the official implementation of FlashAttention. + """ + + pypi = "flash-attn/flash_attn-2.5.4.tar.gz" + + maintainers("aurianer") + + license("BSD") + + version("2.5.5", sha256="751cee17711d006fe7341cdd78584af86a6239afcfe43b9ed11c84db93126267") + version("2.5.4", sha256="d83bb427b517b07e9db655f6e5166eb2607dccf4d6ca3229e3a3528c206b0175") + + depends_on("py-setuptools", type="build") + + with default_args(type=("build", "run")): + depends_on("py-torch+cuda") + depends_on("py-ninja") + depends_on("py-einops") + depends_on("py-packaging") + + depends_on("py-psutil", type="build") + + depends_on("python@3.7:", type=("build", "run")) From 446c0f232528ddfde812f084d64b6cbe239c9992 Mon Sep 17 00:00:00 2001 From: Alec Scott Date: Thu, 21 Mar 2024 10:15:09 -0700 Subject: [PATCH 133/155] Disable interactive editor when --batch if passed to checksum (#43102) --- lib/spack/spack/cmd/checksum.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/spack/spack/cmd/checksum.py b/lib/spack/spack/cmd/checksum.py index e3e9c1a30807c0..44478c61ce7ea9 100644 --- a/lib/spack/spack/cmd/checksum.py +++ b/lib/spack/spack/cmd/checksum.py @@ -183,7 +183,7 @@ def checksum(parser, args): print() if args.add_to_package: - add_versions_to_package(pkg, version_lines) + add_versions_to_package(pkg, version_lines, args.batch) def print_checksum_status(pkg: PackageBase, version_hashes: dict): @@ -229,7 +229,7 @@ def print_checksum_status(pkg: PackageBase, version_hashes: dict): tty.die("Invalid checksums found.") -def add_versions_to_package(pkg: PackageBase, version_lines: str): +def add_versions_to_package(pkg: PackageBase, version_lines: str, is_batch: bool): """ Add checksumed versions to a package's instructions and open a user's editor so they may double check the work of the function. @@ -282,5 +282,5 @@ def add_versions_to_package(pkg: PackageBase, version_lines: str): tty.msg(f"Added {num_versions_added} new versions to {pkg.name}") tty.msg(f"Open {filename} to review the additions.") - if sys.stdout.isatty(): + if sys.stdout.isatty() and not is_batch: editor(filename) From 09810a5e7c08537d19ffb1214a48e68c1449a10c Mon Sep 17 00:00:00 2001 From: downloadico Date: Thu, 21 Mar 2024 12:11:14 -0600 Subject: [PATCH 134/155] py-cig-pythia: add py-cig-pythia package to spack (#43294) --- .../builtin/packages/py-cig-pythia/package.py | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-cig-pythia/package.py diff --git a/var/spack/repos/builtin/packages/py-cig-pythia/package.py b/var/spack/repos/builtin/packages/py-cig-pythia/package.py new file mode 100644 index 00000000000000..f80423d86e2e02 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-cig-pythia/package.py @@ -0,0 +1,43 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyCigPythia(AutotoolsPackage, PythonExtension): + """This is the Computational Infrastructure for Geodynamics (CIG) fork of + Pythia/Pyre originally written by Michael Aivazis (California Institute of Technology). + + Pythia/Pyre provides a Python framework for scientific simulations. This + fork focuses (and maintains) functionality for: + + specification of simulation parameters + specification of units and unit conversions + user-friendly interface to popular batch job schedulers + Python and C++ interfaces for logging""" + + homepage = "https://github.com/geodynamics/pythia/" + url = "https://github.com/geodynamics/pythia/releases/download/v1.1.0/pythia-1.1.0.tar.gz" + + license("BSD-3-Clause", checked_by="downloadico") + + version("1.1.0", sha256="d8e941d2d0fa4772c3c0cb3d1d9b6acbb5fa01ef346dc0706a8da541a8f97731") + + variant("mpi", default=True, description="Build with MPI support.") + + depends_on("mpi", when="+mpi") + depends_on("python@3.8:") + depends_on("py-pip") + + def configure_args(self): + spec = self.spec + args = [] + if "+mpi" in spec: + args.append("--enable-mpi") + args.append(f"CC={spec['mpi'].mpicc}") + args.append(f"CXX={spec['mpi'].mpicxx}") + else: + args.append("--disable-mpi") + return args From aa39465188c6c0c29ebac0fd3e315d17473dcfee Mon Sep 17 00:00:00 2001 From: Stephen Sachs Date: Thu, 21 Mar 2024 20:45:05 +0100 Subject: [PATCH 135/155] Re enable aws pcluster buildcache stack (#38931) * Changes to re-enable aws-pcluster pipelines - Use compilers from pre-installed spack store such that compiler path relocation works when downloading from buildcache. - Install gcc from hash so there is no risk of building gcc from source in pipleine. - `packages.yam` files are now part of the pipelines. - No more eternal `postinstall.sh`. The necessary steps are in `setup=pcluster.sh` and will be version controlled within this repo. - Re-enable pipelines. * Add and * Debugging output & mv skylake -> skylake_avx512 * Explicilty check for packages * Handle case with no intel compiler * compatibility when using setup-pcluster.sh on a pre-installed cluster. * Disable palace as parser cannot read require clause at the moment * ifort cannot build superlu in buildcache `ifort` is unable to handle such long file names as used when cmake compiles test programs inside build cache. * Fix spack commit for intel compiler installation * Need to fetch other commits before using them * fix style * Add TODO * Update packages.yaml to not use 'compiler:', 'target:' or 'provider:' Synchronize with changes in https://github.com/spack/spack-configs/blob/main/AWS/parallelcluster/ * Use Intel compiler from later version (orig commit no longer found) * Use envsubst to deal with quoted newlines This is cleaner than the `eval` command used. * Need to fetch tags for checkout on version number * Intel compiler needs to be from version that has compatible DB * Install intel compiler with commit that has DB ver 7 * Decouple the intel compiler installation from current commit - Use a completely different spack installation such that this current pipeline commit remains untouched. - Make the script suceed even if the compiler installation fails (e.g. because the Database version has been updated) - Make the install targets fall back to gcc in case the compiler did not install correctly. * Use generic target for x86_64_vX There is no way to provision a skylake/icelake/zen runner. They are all in the same pools under x86_64_v3 and x86_64_v4. * Find the intel compiler in the current spack installation * Remove SPACK_TARGET_ARCH * Fix virtual package index & use package.yaml for intel compiler * Use only one stack & pipeline per generic architecture * Fix yaml format * Cleanup typos * Include fix for ifx.cfg to get the right gcc toolchain when linking * [removeme] Adding timeout to debug hang in make (palace) * Revert "[removeme] Adding timeout to debug hang in make (palace)" This reverts commit fee8a01580489a4ea364368459e9353b46d0d7e2. * palace x86_64_v4 gets stuck when compiling try newer oneapi * Update comment * Use the latest container image * Update gcc_hashes to match new container * Use only one tag providing tags per extends call Also removed an unnecessary tag. * Move generic setup script out of individual stack * Cleanup from last commit * Enable checking signature for packages available on the container * Remove commented packages / Add comment for palace * Enable openmpi@5 which needs pmix>3 * don't look for intel compiler on aarch64 --- .../gitlab/cloud_pipelines/.gitlab-ci.yml | 132 +++++------------- .../configs/linux/neoverse_n1/ci.yaml | 7 - .../configs/linux/neoverse_v1/ci.yaml | 3 - .../configs/linux/skylake_avx512/ci.yaml | 11 -- .../linux/{icelake => x86_64_v4}/ci.yaml | 3 - .../scripts/pcluster/setup-pcluster.sh | 130 +++++++++++++++++ .../stacks/aws-pcluster-icelake/spack.yaml | 56 -------- .../aws-pcluster-neoverse_n1/spack.yaml | 58 -------- .../aws-pcluster-neoverse_v1/packages.yaml | 64 +++++++++ .../aws-pcluster-neoverse_v1/spack.yaml | 39 +----- .../stacks/aws-pcluster-skylake/spack.yaml | 56 -------- .../aws-pcluster-x86_64_v4/packages.yaml | 110 +++++++++++++++ .../stacks/aws-pcluster-x86_64_v4/spack.yaml | 32 +++++ 13 files changed, 381 insertions(+), 320 deletions(-) delete mode 100644 share/spack/gitlab/cloud_pipelines/configs/linux/neoverse_n1/ci.yaml delete mode 100644 share/spack/gitlab/cloud_pipelines/configs/linux/skylake_avx512/ci.yaml rename share/spack/gitlab/cloud_pipelines/configs/linux/{icelake => x86_64_v4}/ci.yaml (87%) create mode 100755 share/spack/gitlab/cloud_pipelines/scripts/pcluster/setup-pcluster.sh delete mode 100644 share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-icelake/spack.yaml delete mode 100644 share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-neoverse_n1/spack.yaml create mode 100644 share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-neoverse_v1/packages.yaml delete mode 100644 share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-skylake/spack.yaml create mode 100644 share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-x86_64_v4/packages.yaml create mode 100644 share/spack/gitlab/cloud_pipelines/stacks/aws-pcluster-x86_64_v4/spack.yaml diff --git a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml index 19169ae79d463c..641bde58d8fc47 100644 --- a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml +++ b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml @@ -39,20 +39,10 @@ default: SPACK_TARGET_PLATFORM: "linux" SPACK_TARGET_ARCH: "x86_64_v3" -.linux_skylake: +.linux_x86_64_v4: variables: SPACK_TARGET_PLATFORM: "linux" - SPACK_TARGET_ARCH: "skylake_avx512" - -.linux_icelake: - variables: - SPACK_TARGET_PLATFORM: "linux" - SPACK_TARGET_ARCH: "icelake" - -.linux_neoverse_n1: - variables: - SPACK_TARGET_PLATFORM: "linux" - SPACK_TARGET_ARCH: "neoverse_n1" + SPACK_TARGET_ARCH: "x86_64_v4" .linux_neoverse_v1: variables: @@ -815,104 +805,58 @@ deprecated-ci-build: job: deprecated-ci-generate ######################################## -# AWS PCLUSTER +# AWS ParallelCluster ######################################## -.aws-pcluster-generate-image: - image: { "name": "ghcr.io/spack/pcluster-amazonlinux-2:v2023-05-25", "entrypoint": [""] } - .aws-pcluster-generate: + image: { "name": "ghcr.io/spack/pcluster-amazonlinux-2:v2024-01-29", "entrypoint": [""] } before_script: - # Use gcc from local container buildcache + # Use gcc from pre-installed spack store - - . "./share/spack/setup-env.sh" - - . /etc/profile.d/modules.sh - - spack buildcache rebuild-index /bootstrap/local-cache/ - - spack mirror add local-cache /bootstrap/local-cache - - spack gpg trust /bootstrap/public-key - - cd "${CI_PROJECT_DIR}" && curl -sOL https://raw.githubusercontent.com/spack/spack-configs/main/AWS/parallelcluster/postinstall.sh - - sed -i -e "s/spack arch -t/echo ${SPACK_TARGET_ARCH}/g" postinstall.sh - - sed -i.bkp s/"spack install gcc"/"spack install --cache-only --reuse gcc"/ postinstall.sh - - diff postinstall.sh postinstall.sh.bkp || echo Done - - /bin/bash postinstall.sh -fg - - spack config --scope site add "packages:all:target:[${SPACK_TARGET_ARCH}]" - after_script: - - - mv "${CI_PROJECT_DIR}/postinstall.sh" "${CI_PROJECT_DIR}/jobs_scratch_dir/" - -# Icelake (one pipeline per target) -.aws-pcluster-icelake: - variables: - SPACK_CI_STACK_NAME: aws-pcluster-icelake - -# aws-pcluster-generate-icelake: -# extends: [ ".linux_icelake", ".aws-pcluster-icelake", ".generate-x86_64", ".tags-x86_64_v4", ".aws-pcluster-generate", ".aws-pcluster-generate-image" ] - -# aws-pcluster-build-icelake: -# extends: [ ".linux_icelake", ".aws-pcluster-icelake", ".build" ] -# trigger: -# include: -# - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml -# job: aws-pcluster-generate-icelake -# strategy: depend -# needs: -# - artifacts: True -# job: aws-pcluster-generate-icelake - -# Skylake_avx512 (one pipeline per target) -.aws-pcluster-skylake: - variables: - SPACK_CI_STACK_NAME: aws-pcluster-skylake - -# aws-pcluster-generate-skylake: -# extends: [ ".linux_skylake", ".aws-pcluster-skylake", ".generate-x86_64", ".tags-x86_64_v4", ".aws-pcluster-generate", ".aws-pcluster-generate-image" ] - -# aws-pcluster-build-skylake: -# extends: [ ".linux_skylake", ".aws-pcluster-skylake", ".build" ] -# trigger: -# include: -# - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml -# job: aws-pcluster-generate-skylake -# strategy: depend -# needs: -# - artifacts: True -# job: aws-pcluster-generate-skylake + - . "/etc/profile.d/modules.sh" + - diff -q "/bootstrap/cloud_pipelines-config.yaml" "share/spack/gitlab/cloud_pipelines/configs/config.yaml" || echo "WARNING Install tree might have changed. You need to rebuild the pcluster-amazonlinux-2 container in spack/gitlab-runners." + - cp "share/spack/gitlab/cloud_pipelines/configs/config.yaml" "etc/spack/" + - /bin/bash "${SPACK_ROOT}/share/spack/gitlab/cloud_pipelines/scripts/pcluster/setup-pcluster.sh" + - rm "etc/spack/config.yaml" -# Neoverse_n1 (one pipeline per target) -.aws-pcluster-neoverse_n1: +# X86_64_V4 (one pipeline per target) +.aws-pcluster-x86_64_v4: variables: - SPACK_CI_STACK_NAME: aws-pcluster-neoverse_n1 + SPACK_CI_STACK_NAME: aws-pcluster-x86_64_v4 -# aws-pcluster-generate-neoverse_n1: -# extends: [ ".linux_neoverse_n1", ".aws-pcluster-neoverse_n1", ".generate-aarch64", ".aws-pcluster-generate", ".aws-pcluster-generate-image" ] +aws-pcluster-generate-x86_64_v4: + extends: [ ".linux_x86_64_v4", ".aws-pcluster-x86_64_v4", ".generate-base", ".tags-x86_64_v4", ".aws-pcluster-generate"] -# aws-pcluster-build-neoverse_n1: -# extends: [ ".linux_neoverse_n1", ".aws-pcluster-neoverse_n1", ".build" ] -# trigger: -# include: -# - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml -# job: aws-pcluster-generate-neoverse_n1 -# strategy: depend -# needs: -# - artifacts: True -# job: aws-pcluster-generate-neoverse_n1 +aws-pcluster-build-x86_64_v4: + extends: [ ".linux_x86_64_v4", ".aws-pcluster-x86_64_v4", ".build" ] + trigger: + include: + - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml + job: aws-pcluster-generate-x86_64_v4 + strategy: depend + needs: + - artifacts: True + job: aws-pcluster-generate-x86_64_v4 # Neoverse_v1 (one pipeline per target) .aws-pcluster-neoverse_v1: variables: SPACK_CI_STACK_NAME: aws-pcluster-neoverse_v1 -# aws-pcluster-generate-neoverse_v1: -# extends: [ ".linux_neoverse_v1", ".aws-pcluster-neoverse_v1", ".generate-aarch64", ".aws-pcluster-generate", ".aws-pcluster-generate-image" ] +aws-pcluster-generate-neoverse_v1: + # TODO: Use updated runner tags: https://github.com/spack/spack-infrastructure/pull/694/files + extends: [ ".linux_neoverse_v1", ".aws-pcluster-neoverse_v1", ".generate-neoverse_v1", ".aws-pcluster-generate"] -# aws-pcluster-build-neoverse_v1: -# extends: [ ".linux_neoverse_v1", ".aws-pcluster-neoverse_v1", ".build" ] -# trigger: -# include: -# - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml -# job: aws-pcluster-generate-neoverse_v1 -# strategy: depend -# needs: -# - artifacts: True -# job: aws-pcluster-generate-neoverse_v1 +aws-pcluster-build-neoverse_v1: + extends: [ ".linux_neoverse_v1", ".aws-pcluster-neoverse_v1", ".build" ] + trigger: + include: + - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml + job: aws-pcluster-generate-neoverse_v1 + strategy: depend + needs: + - artifacts: True + job: aws-pcluster-generate-neoverse_v1 # Cray definitions .generate-cray: diff --git a/share/spack/gitlab/cloud_pipelines/configs/linux/neoverse_n1/ci.yaml b/share/spack/gitlab/cloud_pipelines/configs/linux/neoverse_n1/ci.yaml deleted file mode 100644 index 9ba2680702bc07..00000000000000 --- a/share/spack/gitlab/cloud_pipelines/configs/linux/neoverse_n1/ci.yaml +++ /dev/null @@ -1,7 +0,0 @@ -ci: - pipeline-gen: - - any-job: - variables: - SPACK_TARGET_ARCH: neoverse_n1 - - build-job: - tags: ["aarch64", "graviton2"] diff --git a/share/spack/gitlab/cloud_pipelines/configs/linux/neoverse_v1/ci.yaml b/share/spack/gitlab/cloud_pipelines/configs/linux/neoverse_v1/ci.yaml index e874fc6522fb27..82aa1eae7bfc0d 100644 --- a/share/spack/gitlab/cloud_pipelines/configs/linux/neoverse_v1/ci.yaml +++ b/share/spack/gitlab/cloud_pipelines/configs/linux/neoverse_v1/ci.yaml @@ -1,7 +1,4 @@ ci: pipeline-gen: - - any-job: - variables: - SPACK_TARGET_ARCH: neoverse_v1 - build-job: tags: ["aarch64", "graviton3"] diff --git a/share/spack/gitlab/cloud_pipelines/configs/linux/skylake_avx512/ci.yaml b/share/spack/gitlab/cloud_pipelines/configs/linux/skylake_avx512/ci.yaml deleted file mode 100644 index 0a7bbb6f19d186..00000000000000 --- a/share/spack/gitlab/cloud_pipelines/configs/linux/skylake_avx512/ci.yaml +++ /dev/null @@ -1,11 +0,0 @@ -ci: - pipeline-gen: - - any-job: - variables: - SPACK_TARGET_ARCH: skylake_avx512 - - build-job: - before_script: - - - curl -LfsS "https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0+1/GNUMake.v4.3.0.x86_64-linux-gnu.tar.gz" -o gmake.tar.gz - - printf "fef1f59e56d2d11e6d700ba22d3444b6e583c663d6883fd0a4f63ab8bd280f0f gmake.tar.gz" | sha256sum --check --strict --quiet - - tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null - tags: ["x86_64_v4"] diff --git a/share/spack/gitlab/cloud_pipelines/configs/linux/icelake/ci.yaml b/share/spack/gitlab/cloud_pipelines/configs/linux/x86_64_v4/ci.yaml similarity index 87% rename from share/spack/gitlab/cloud_pipelines/configs/linux/icelake/ci.yaml rename to share/spack/gitlab/cloud_pipelines/configs/linux/x86_64_v4/ci.yaml index 036a4419464304..ae14967dd5a04c 100644 --- a/share/spack/gitlab/cloud_pipelines/configs/linux/icelake/ci.yaml +++ b/share/spack/gitlab/cloud_pipelines/configs/linux/x86_64_v4/ci.yaml @@ -1,8 +1,5 @@ ci: pipeline-gen: - - any-job: - variables: - SPACK_TARGET_ARCH: icelake - build-job: before_script: - - curl -LfsS "https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0+1/GNUMake.v4.3.0.x86_64-linux-gnu.tar.gz" -o gmake.tar.gz diff --git a/share/spack/gitlab/cloud_pipelines/scripts/pcluster/setup-pcluster.sh b/share/spack/gitlab/cloud_pipelines/scripts/pcluster/setup-pcluster.sh new file mode 100755 index 00000000000000..dfd5af1b437efc --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/scripts/pcluster/setup-pcluster.sh @@ -0,0 +1,130 @@ +#!/usr/bin/env bash +# +# 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) +set -e + +# Intel compiler needs to be installed from a specific spack git commit. +# The best solution would be to have the compilers hash (or packages contents) be part of the +# individual packages hashes. I don't see this at the moment. +# Set to the latest tag including a recent oneapi compiler. +spack_intel_compiler_commit="develop-2023-08-06" + +set_pcluster_defaults() { + # Set versions of pre-installed software in packages.yaml + [ -z "${SLURM_VERSION}" ] && SLURM_VERSION=$(strings /opt/slurm/lib/libslurm.so | grep -e '^VERSION' | awk '{print $2}' | sed -e 's?"??g') + [ -z "${LIBFABRIC_VERSION}" ] && LIBFABRIC_VERSION=$(awk '/Version:/{print $2}' "$(find /opt/amazon/efa/ -name libfabric.pc | head -n1)" | sed -e 's?~??g' -e 's?amzn.*??g') + export SLURM_VERSION LIBFABRIC_VERSION + + envsubst < "${SPACK_ROOT}/share/spack/gitlab/cloud_pipelines/stacks/${SPACK_CI_STACK_NAME}/packages.yaml" > "${SPACK_ROOT}"/etc/spack/packages.yaml +} + +setup_spack() { + spack compiler add --scope site + spack external find --scope site + # Remove all autotools/buildtools packages. These versions need to be managed by spack or it will + # eventually end up in a version mismatch (e.g. when compiling gmp). + spack tags build-tools | xargs -I {} spack config --scope site rm packages:{} +} + +patch_compilers_yaml() { + # Graceful exit if package not found by spack + set -o pipefail + compilers_yaml="${SPACK_ROOT}/etc/spack/compilers.yaml" + [ -f "${compilers_yaml}" ] || { + echo "Cannot find ${compilers_yaml}, compiler setup might now be optimal." + return + } + + # System ld is too old for amzn linux2 + spack_gcc_version=$(spack find --format '{version}' gcc) + binutils_path=$(spack find -p binutils | awk '/binutils/ {print $2}' | head -n1) + if [ -d "${binutils_path}" ] && [ -n "${spack_gcc_version}" ]; then python3 < Date: Thu, 21 Mar 2024 22:26:36 +0100 Subject: [PATCH 136/155] namd: disable parallel build for 3.0b3 (#43215) --- var/spack/repos/builtin/packages/namd/package.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/var/spack/repos/builtin/packages/namd/package.py b/var/spack/repos/builtin/packages/namd/package.py index bfe4fe9e422915..9d9d87b250b4c1 100644 --- a/var/spack/repos/builtin/packages/namd/package.py +++ b/var/spack/repos/builtin/packages/namd/package.py @@ -289,6 +289,13 @@ def edit(self, spec, prefix): join_path(self.build_directory, "Make.config"), ) + @when("@3.0b3") + def build(self, spec, prefix): + # Disable parallel build + # https://github.com/spack/spack/pull/43215 + with working_dir(self.build_directory): + make(parallel=False) + def install(self, spec, prefix): with working_dir(self.build_directory): mkdirp(prefix.bin) From d1f9d8f06d1d888e31f3f6ad5727c8ce937d86f7 Mon Sep 17 00:00:00 2001 From: Stephen Hudson Date: Thu, 21 Mar 2024 16:57:19 -0500 Subject: [PATCH 137/155] libEnsemble: add v1.2.2 (#43308) --- var/spack/repos/builtin/packages/py-libensemble/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/py-libensemble/package.py b/var/spack/repos/builtin/packages/py-libensemble/package.py index 75d17979ec2f53..88dcd37bdbcbe3 100644 --- a/var/spack/repos/builtin/packages/py-libensemble/package.py +++ b/var/spack/repos/builtin/packages/py-libensemble/package.py @@ -12,7 +12,7 @@ class PyLibensemble(PythonPackage): """Library for managing ensemble-like collections of computations.""" homepage = "https://libensemble.readthedocs.io" - pypi = "libensemble/libensemble-1.2.1.tar.gz" + pypi = "libensemble/libensemble-1.2.2.tar.gz" git = "https://github.com/Libensemble/libensemble.git" maintainers("shuds13", "jlnav") @@ -21,6 +21,7 @@ class PyLibensemble(PythonPackage): license("BSD-3-Clause") version("develop", branch="develop") + version("1.2.2", sha256="936e34ed4e8129a9980187b21d586472b6362403889a739595d6b631335a8678") version("1.2.1", sha256="b80e77548a1e2a71483352b3b00e22b47191e45ca5741324c2b0f20b05579a3d") version("1.2.0", sha256="e1076e8eea7844d3799f92d136586eca4da34ec753bf41a8d1be04d7a45ec4c1") version("1.1.0", sha256="3e3ddc4233272d3651e9d62c7bf420018930a4b9b135ef9ede01d5356235c1c6") From 65472159c7b3eb8fb47e09fd89784550861469cc Mon Sep 17 00:00:00 2001 From: snehring <7978778+snehring@users.noreply.github.com> Date: Thu, 21 Mar 2024 16:59:20 -0500 Subject: [PATCH 138/155] dorado: adding version 0.5.3 (#43313) --- var/spack/repos/builtin/packages/dorado/package.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/var/spack/repos/builtin/packages/dorado/package.py b/var/spack/repos/builtin/packages/dorado/package.py index 70e3c49879bcb7..e3b4c400d81c29 100644 --- a/var/spack/repos/builtin/packages/dorado/package.py +++ b/var/spack/repos/builtin/packages/dorado/package.py @@ -16,6 +16,7 @@ class Dorado(CMakePackage, CudaPackage): maintainers("snehring") + version("0.5.3", commit="d9af343c0097e0e60503231e036d69e6eda2f19a", submodules=True) version("0.5.1", commit="a7fb3e3d4afa7a11cb52422e7eecb1a2cdb7860f", submodules=True) depends_on("autoconf", type="build") @@ -30,6 +31,9 @@ class Dorado(CMakePackage, CudaPackage): depends_on("libdeflate") depends_on("zlib-api") + conflicts("%gcc@:8", msg="Dorado requires at least gcc@9 to compile.") + conflicts("%gcc@13:", msg="Dorado will not build with gcc@13 and newer.") + patch("cmake-htslib.patch") def setup_build_environment(self, env): From fc87dcad4ca81c521e8806e86e3a292c7166c8a9 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Thu, 21 Mar 2024 23:00:32 +0100 Subject: [PATCH 139/155] py-torchmetrics: add v1.3.2 (#43244) --- var/spack/repos/builtin/packages/py-torchmetrics/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/py-torchmetrics/package.py b/var/spack/repos/builtin/packages/py-torchmetrics/package.py index b767185185995c..3d3a33b52fd4fc 100644 --- a/var/spack/repos/builtin/packages/py-torchmetrics/package.py +++ b/var/spack/repos/builtin/packages/py-torchmetrics/package.py @@ -16,6 +16,7 @@ class PyTorchmetrics(PythonPackage): license("Apache-2.0") + version("1.3.2", sha256="0a67694a4c4265eeb54cda741eaf5cb1f3a71da74b7e7e6215ad156c9f2379f6") version("1.3.1", sha256="8d371f7597a1a5eb02d5f2ed59642d6fef09093926997ce91e18b1147cc8defa") version("1.3.0", sha256="e8ac3adcc61e7a847d0504b0a0e0a3b7f57796178b239c6fafb5d20c0c9460ac") version("1.2.1", sha256="217387738f84939c39b534b20d4983e737cc448d27aaa5340e0327948d97ca3e") From cfd4e356f83bae6f248288e65eacbef826b240d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Lacroix?= Date: Thu, 21 Mar 2024 23:20:00 +0100 Subject: [PATCH 140/155] x264: Tag a recent commit: 20240314 (#43304) x264 does not publish releases so tag a newer commit in Spack in order to be able to use an up-to-date version. --- var/spack/repos/builtin/packages/x264/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/x264/package.py b/var/spack/repos/builtin/packages/x264/package.py index 5bd179b8e81330..086c83f45005fa 100644 --- a/var/spack/repos/builtin/packages/x264/package.py +++ b/var/spack/repos/builtin/packages/x264/package.py @@ -13,6 +13,7 @@ class X264(AutotoolsPackage): license("GPL-2.0-or-later") + version("20240314", commit="585e01997f0c7e6d72c8ca466406d955c07de912") version("20210613", commit="5db6aa6cab1b146e07b60cc1736a01f21da01154") depends_on("nasm") From af8868fa478f780afa57aebe29d615b745acb461 Mon Sep 17 00:00:00 2001 From: Alex Richert Date: Thu, 21 Mar 2024 15:24:29 -0700 Subject: [PATCH 141/155] xv (image viewer): Add missing depends_on(libxt) (#43277) --- var/spack/repos/builtin/packages/xv/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/xv/package.py b/var/spack/repos/builtin/packages/xv/package.py index 30a56226ee54b8..1c7d328897b4ae 100644 --- a/var/spack/repos/builtin/packages/xv/package.py +++ b/var/spack/repos/builtin/packages/xv/package.py @@ -27,3 +27,4 @@ class Xv(CMakePackage): depends_on("libpng") depends_on("libtiff") depends_on("libx11") + depends_on("libxt") From 73e16a7881c5aab45a499c250391d3eb531b941b Mon Sep 17 00:00:00 2001 From: Christopher Christofi <77968333+ChristopherChristofi@users.noreply.github.com> Date: Thu, 21 Mar 2024 23:00:15 +0000 Subject: [PATCH 142/155] py-mrcfile: add new version (#43125) --- var/spack/repos/builtin/packages/py-mrcfile/package.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/py-mrcfile/package.py b/var/spack/repos/builtin/packages/py-mrcfile/package.py index a07b505c57e310..833b730e5ac039 100644 --- a/var/spack/repos/builtin/packages/py-mrcfile/package.py +++ b/var/spack/repos/builtin/packages/py-mrcfile/package.py @@ -17,8 +17,10 @@ class PyMrcfile(PythonPackage): license("BSD-3-Clause") + version("1.4.3", sha256="0c2c702167c50c8b67e4ff7b1ec825a6bb60c0bff388950af08c79c5fd49e28b") version("1.3.0", sha256="034f1868abf87f4e494b8b039030b50045cabccf352b8b3e88a6bd3a6d665715") depends_on("python@3.4.0:") depends_on("py-setuptools", type="build") - depends_on("py-numpy@1.12.0:", type=("build", "run")) + depends_on("py-numpy@1.16.0:", when="@1.4.3:", type=("build", "run")) + depends_on("py-numpy@1.12.0:", when="@1.3.0", type=("build", "run")) From 81c9e346dc3952865cbe2f0d8f84776345981bd4 Mon Sep 17 00:00:00 2001 From: HELICS-bot <45982316+HELICS-bot@users.noreply.github.com> Date: Thu, 21 Mar 2024 17:08:36 -0700 Subject: [PATCH 143/155] helics: Add version 3.5.1 (#43314) Co-authored-by: github-actions[bot] --- var/spack/repos/builtin/packages/helics/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/helics/package.py b/var/spack/repos/builtin/packages/helics/package.py index 956db9ae48ae87..633c034de65074 100644 --- a/var/spack/repos/builtin/packages/helics/package.py +++ b/var/spack/repos/builtin/packages/helics/package.py @@ -23,6 +23,7 @@ class Helics(CMakePackage): version("develop", branch="develop", submodules=True) version("main", branch="main", submodules=True) version("master", branch="main", submodules=True) + version("3.5.1", sha256="546fc6e6a85de6ba841e4bd547b811cc81a67a22be5e212ccb54be139d740555") version("3.5.0", sha256="0c02ebaecf3d4ead7911e13325b26706f1e4b316ca51ec609e969e18ec584b78") version("3.4.0", sha256="88877a3767de9aed9f1cddea7b6455a2be060a00b959bb7e94994d1fd20878f8") version("3.3.2", sha256="b04013969fc02dc36c697c328e6f50a0ac8dbdaf3d3e69870cd6e6ebeb374286") From 4ac51b2127cc2f94f8e2526a364c63025397dd14 Mon Sep 17 00:00:00 2001 From: Sergey Kosukhin Date: Fri, 22 Mar 2024 02:43:30 +0200 Subject: [PATCH 144/155] libiconv: fix building with nvhpc (#43033) --- var/spack/repos/builtin/packages/libiconv/package.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/var/spack/repos/builtin/packages/libiconv/package.py b/var/spack/repos/builtin/packages/libiconv/package.py index efe9584a828948..2be3db5a803c96 100644 --- a/var/spack/repos/builtin/packages/libiconv/package.py +++ b/var/spack/repos/builtin/packages/libiconv/package.py @@ -41,6 +41,17 @@ def configure_args(self): args += self.enable_or_disable("libs") args.append("--with-pic") + # Starting version 1.17, libiconv uses the version of gnulib that implements a + # configure-time check for C compiler flags that enables/disables certain warning + # (see https://git.savannah.gnu.org/gitweb/?p=gnulib.git;h=0c8a563f6). Unfortunately, the + # check does not work for compilers that inject extra symbols into the translation unit + # during the preprocessing step. For example, NVHPC injects the definition of the + # __va_list_tag structure, which appears verbatim on the compilation command line as + # additional compiler flags. The easiest way to circumvent the issue is to make the + # configure script believe that the compiler does not support a flag that allows warnings: + if self.spec.satisfies("@1.17:%nvhpc"): + args.append("gl_cv_cc_wallow=none") + # A hack to patch config.guess in the libcharset sub directory copy("./build-aux/config.guess", "libcharset/build-aux/config.guess") return args From 50562e6a0e687111d8b804854f00cce74325d07a Mon Sep 17 00:00:00 2001 From: Alex Leute <36964815+alex391@users.noreply.github.com> Date: Thu, 21 Mar 2024 20:51:13 -0400 Subject: [PATCH 145/155] py-neptune-client and missing deps: new package (#43059) Co-authored-by: Cecilia Lau Co-authored-by: Jen Herting --- .../packages/py-bravado-core/package.py | 34 +++++++++++++++ .../builtin/packages/py-bravado/package.py | 31 +++++++++++++ .../packages/py-neptune-client/package.py | 43 +++++++++++++++++++ .../py-swagger-spec-validator/package.py | 24 +++++++++++ 4 files changed, 132 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-bravado-core/package.py create mode 100644 var/spack/repos/builtin/packages/py-bravado/package.py create mode 100644 var/spack/repos/builtin/packages/py-neptune-client/package.py create mode 100644 var/spack/repos/builtin/packages/py-swagger-spec-validator/package.py diff --git a/var/spack/repos/builtin/packages/py-bravado-core/package.py b/var/spack/repos/builtin/packages/py-bravado-core/package.py new file mode 100644 index 00000000000000..ae657c1befc3ee --- /dev/null +++ b/var/spack/repos/builtin/packages/py-bravado-core/package.py @@ -0,0 +1,34 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyBravadoCore(PythonPackage): + """ + bravado-core is a Python library that adds client-side and server-side + support for the OpenAPI Specification v2.0. + """ + + homepage = "https://github.com/Yelp/bravado-core" + pypi = "bravado-core/bravado-core-5.17.1.tar.gz" + + version("5.17.1", sha256="0da9c6f3814734622a55db3f62d08db6e188b25f3ebd087de370c91afb66a7f4") + + depends_on("python@:2,3.5.1:", type=("build", "run")) + depends_on("py-setuptools", type="build") + + depends_on("py-jsonref", type=("build", "run")) + depends_on("py-jsonschema@2.5.1:", type=("build", "run")) + depends_on("py-python-dateutil", type=("build", "run")) + depends_on("py-pyyaml", type=("build", "run")) + depends_on("py-requests", type=("build", "run")) + depends_on("py-simplejson", type=("build", "run")) + depends_on("py-six", type=("build", "run")) + depends_on("py-swagger-spec-validator@2.0.1:", type=("build", "run")) + depends_on("py-pytz", type=("build", "run")) + depends_on("py-msgpack@0.5.2:", type=("build", "run")) + + depends_on("py-pyrsistent@0.17:", when="^python@:3.4", type="build") diff --git a/var/spack/repos/builtin/packages/py-bravado/package.py b/var/spack/repos/builtin/packages/py-bravado/package.py new file mode 100644 index 00000000000000..7dd2494f1b5b3d --- /dev/null +++ b/var/spack/repos/builtin/packages/py-bravado/package.py @@ -0,0 +1,31 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyBravado(PythonPackage): + """ + Bravado is a Yelp maintained fork of digium/swagger-py for use with + OpenAPI Specification version 2.0 (previously known as Swagger). + """ + + homepage = "https://github.com/Yelp/bravado" + pypi = "bravado/bravado-11.0.3.tar.gz" + + version("11.0.3", sha256="1bb6ef75d84140c851fffe6420baaee5037d840070cfe11d60913be6ab8e0530") + + depends_on("python@:2,3.5.1:", type=("build", "run")) + depends_on("py-setuptools", type="build") + + depends_on("py-bravado-core@5.16.1:", type=("build", "run")) + depends_on("py-msgpack", type=("build", "run")) + depends_on("py-python-dateutil", type=("build", "run")) + depends_on("py-pyyaml", type=("build", "run")) + depends_on("py-requests@2.17:", type=("build", "run")) + depends_on("py-six", type=("build", "run")) + depends_on("py-simplejson", type=("build", "run")) + depends_on("py-monotonic", type=("build", "run")) + depends_on("py-typing-extensions", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-neptune-client/package.py b/var/spack/repos/builtin/packages/py-neptune-client/package.py new file mode 100644 index 00000000000000..af0196746eb671 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-neptune-client/package.py @@ -0,0 +1,43 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PyNeptuneClient(PythonPackage): + """ + Flexible metadata store for MLOps, built for research and + production teams that run a lot of experiments. + """ + + homepage = "https://neptune.ai/" + pypi = "neptune-client/neptune-client-0.16.7.tar.gz" + + version("0.16.7", sha256="9b8bf2f59cb6b7ed6d96ea221b68ea20d9d481a1a4672d8173648ef998134454") + version("0.16.1", sha256="821238f510486feacd87c745f4646916259a416545ab678b47195729c071f249") + + depends_on("python@3.7.0:", type=("build", "run")) + depends_on("py-setuptools", type="build") + + depends_on("py-versioneer", type="build") + depends_on("py-bravado", type=("build", "run")) + depends_on("py-click@7.0:", type=("build", "run")) + depends_on("py-future@0.17.1:", type=("build", "run")) + depends_on("py-oauthlib@2.1.0:", type=("build", "run")) + depends_on("py-pandas", type=("build", "run")) + depends_on("pil@1.1.6:", type=("build", "run")) + depends_on("py-pyjwt", type=("build", "run")) + depends_on("py-requests@2.20.0:", type=("build", "run")) + depends_on("py-requests-oauthlib@1.0.0:", type=("build", "run")) + depends_on("py-six@1.12.0:", type=("build", "run")) + depends_on("py-websocket-client@0.35:0,1.0.1:", type=("build", "run")) + depends_on("py-gitpython@2.0.8:", type=("build", "run")) + depends_on("py-boto3@1.16.0:", type=("build", "run")) + depends_on("py-packaging", type=("build", "run")) + depends_on("py-urllib3", type=("build", "run")) + depends_on("py-dataclasses@0.6:", when="^python@:3.6", type=("build", "run")) + depends_on("py-swagger-spec-validator@2.7.4:", type=("build", "run")) + depends_on("py-psutil", type=("build", "run")) + depends_on("py-jsonschema@:3", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-swagger-spec-validator/package.py b/var/spack/repos/builtin/packages/py-swagger-spec-validator/package.py new file mode 100644 index 00000000000000..86d120d5e0cd02 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-swagger-spec-validator/package.py @@ -0,0 +1,24 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class PySwaggerSpecValidator(PythonPackage): + """ + A Python library that validates Swagger Specs against + the Swagger 1.2 or Swagger 2.0 specification. + """ + + homepage = "https://github.com/Yelp/swagger_spec_validator" + pypi = "swagger-spec-validator/swagger-spec-validator-2.7.6.tar.gz" + + version("2.7.6", sha256="73f33e631a58f407265f2f813d194f2762a2b86f9aa905e7eee3df9b7f9428d3") + + depends_on("py-setuptools", type="build") + depends_on("py-jsonschema", type=("build", "run")) + depends_on("py-pyyaml", type=("build", "run")) + depends_on("py-six", type=("build", "run")) + depends_on("py-pyrsistent@:0.16", when="^python@:3.0", type="build") From f70af2cc57e73bdc85e76558a432cc5514ddda3d Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Thu, 21 Mar 2024 18:53:33 -0600 Subject: [PATCH 146/155] libristra: depends_on() for lua: allow newer lua versions (#42810) --- var/spack/repos/builtin/packages/libristra/package.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/libristra/package.py b/var/spack/repos/builtin/packages/libristra/package.py index 74eb576d0b0bcc..0563824e0573f3 100644 --- a/var/spack/repos/builtin/packages/libristra/package.py +++ b/var/spack/repos/builtin/packages/libristra/package.py @@ -26,8 +26,8 @@ class Libristra(CMakePackage): depends_on("cmake@3.12:") depends_on("mpi") depends_on("boost@1.70.0: cxxstd=17 +program_options") - depends_on("lua@5.3.5~shared", when="~shared_lua") - depends_on("lua@5.3.5+shared", when="+shared_lua") + depends_on("lua@5.3.5:~shared", when="~shared_lua") + depends_on("lua@5.3.5:+shared", when="+shared_lua") # TODO: might want to move paraview out of libristra depends_on("paraview", when="+paraview") # We explicitly depend on gtest and can no longer rely on others for it From fedf8128ae13abeaad933ef63f598db317c39d79 Mon Sep 17 00:00:00 2001 From: AMD Toolchain Support <73240730+amd-toolchain-support@users.noreply.github.com> Date: Fri, 22 Mar 2024 06:57:21 +0530 Subject: [PATCH 147/155] openblas: Add variant dynamic_dispatch: select best kernel at runtime (#42746) Enable OpenBLAS's built-in CPU capability detection and kernel selection. This allows run-time selection of the "best" kernels for the running CPU, rather than what is specified at build time. For example, it allows OpenBLAS to use AVX512 kernels when running on ZEN4, and built targeting the "ZEN" architecture. Co-authored-by: Branden Moore --- .../repos/builtin/packages/openblas/package.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/var/spack/repos/builtin/packages/openblas/package.py b/var/spack/repos/builtin/packages/openblas/package.py index 5e1a6f2b8e40c1..269a2e9613a6e2 100644 --- a/var/spack/repos/builtin/packages/openblas/package.py +++ b/var/spack/repos/builtin/packages/openblas/package.py @@ -70,6 +70,11 @@ class Openblas(CMakePackage, MakefilePackage): variant("ilp64", default=False, description="Force 64-bit Fortran native integers") variant("pic", default=True, description="Build position independent code") variant("shared", default=True, description="Build shared libraries") + variant( + "dynamic_dispatch", + default=True, + description="Enable runtime cpu detection for best kernel selection", + ) variant( "consistent_fpcsr", default=False, @@ -239,6 +244,12 @@ class Openblas(CMakePackage, MakefilePackage): when="%clang", msg="OpenBLAS @:0.2.19 does not support OpenMP with clang!", ) + # See https://github.com/OpenMathLib/OpenBLAS/issues/2826#issuecomment-688399162 + conflicts( + "+dynamic_dispatch", + when="platform=windows", + msg="Visual Studio does not support OpenBLAS dynamic dispatch features", + ) depends_on("perl", type="build") @@ -453,6 +464,9 @@ def make_defs(self): # Add target and architecture flags make_defs += self._microarch_target_args() + if self.spec.satisfies("+dynamic_dispatch"): + make_defs += ["DYNAMIC_ARCH=1"] + # Fortran-free compilation if "~fortran" in self.spec: make_defs += ["NOFORTRAN=1"] @@ -562,6 +576,8 @@ def check_install(self): class CMakeBuilder(spack.build_systems.cmake.CMakeBuilder): def cmake_args(self): cmake_defs = [self.define("TARGET", "GENERIC")] + if self.spec.satisfies("+dynamic_dispatch"): + cmake_defs += [self.define("DYNAMIC_ARCH", "ON")] if self.spec.satisfies("platform=windows"): cmake_defs += [ self.define("DYNAMIC_ARCH", "OFF"), From d7a74bde9fe1a7e2d338cedc12ca06370ea039dd Mon Sep 17 00:00:00 2001 From: Thomas-Ulrich Date: Fri, 22 Mar 2024 02:44:20 +0100 Subject: [PATCH 148/155] easi: add v1.3.0, python bindings and master (#42784) --- .../repos/builtin/packages/easi/package.py | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/easi/package.py b/var/spack/repos/builtin/packages/easi/package.py index ea5a113ed185cb..f93940c9ae024b 100644 --- a/var/spack/repos/builtin/packages/easi/package.py +++ b/var/spack/repos/builtin/packages/easi/package.py @@ -3,6 +3,8 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import os + from spack.package import * @@ -14,14 +16,18 @@ class Easi(CMakePackage): homepage = "https://easyinit.readthedocs.io" git = "https://github.com/SeisSol/easi.git" - maintainers("ravil-mobile", "Thomas-Ulrich", "krenzland", "ThrudPrimrose", "davschneller") + maintainers("Thomas-Ulrich", "davschneller", "vikaskurapati") license("BSD-3-Clause") - version("develop", branch="master") + version("master", branch="master") + version("1.3.0", tag="v1.3.0", commit="99309a0fa78bf11d668c599b3ee469224f04d55b") version("1.2.0", tag="v1.2.0", commit="305a119338116a0ceac6b68b36841a50250d05b1") version("1.1.2", tag="v1.1.2", commit="4c87ef3b3dca9415d116ef102cb8de750ef7e1a0") + variant("python", default=True, description="Install python bindings") + extends("python", when="+python") + variant("asagi", default=True, description="build with ASAGI support") variant( "jit", @@ -38,6 +44,8 @@ class Easi(CMakePackage): depends_on("lua@5.3.2", when="jit=lua") depends_on("impalajit@main", when="jit=impalajit") + depends_on("py-pybind11@2.6.2:", type="build", when="+python") + conflicts("jit=impalajit", when="jit=impalajit-llvm") conflicts("jit=impalajit-llvm", when="jit=impalajit") @@ -49,6 +57,8 @@ class Easi(CMakePackage): def cmake_args(self): args = [] args.append(self.define_from_variant("ASAGI", "asagi")) + args.append(self.define_from_variant("PYTHON_BINDINGS", "python")) + self.define("PYBIND11_USE_FETCHCONTENT", False) spec = self.spec if "jit=impalajit" in spec or "jit=impalajit-llvm" in spec: args.append(self.define("IMPALAJIT", True)) @@ -60,4 +70,12 @@ def cmake_args(self): if "jit=lua" in spec: args.append(self.define("LUA", True)) + if "+python" in spec: + args += [self.define("easi_INSTALL_PYTHONDIR", python_platlib)] + return args + + def setup_run_environment(self, env): + if "+python" in self.spec: + full_path = os.path.join(python_platlib, "easilib/cmake/easi/python_wrapper") + env.prepend_path("PYTHONPATH", full_path) From 7668a0889a9b04f28f7cbc88d16ba96a3b5a5d2b Mon Sep 17 00:00:00 2001 From: Henning Glawe Date: Fri, 22 Mar 2024 02:50:24 +0100 Subject: [PATCH 149/155] ncurses: Add terminfo for rxvt-unicode{,-256color} (#42721) taken from the debian ncurses source package. --- .../repos/builtin/packages/ncurses/package.py | 1 + .../packages/ncurses/rxvt_unicode_6_4.patch | 203 ++++++++++++++++++ 2 files changed, 204 insertions(+) create mode 100644 var/spack/repos/builtin/packages/ncurses/rxvt_unicode_6_4.patch diff --git a/var/spack/repos/builtin/packages/ncurses/package.py b/var/spack/repos/builtin/packages/ncurses/package.py index 50694660b552e5..90949cdf10976f 100644 --- a/var/spack/repos/builtin/packages/ncurses/package.py +++ b/var/spack/repos/builtin/packages/ncurses/package.py @@ -56,6 +56,7 @@ class Ncurses(AutotoolsPackage, GNUMirrorPackage): patch("0001-Fix-errors-in-type-conversion.patch", when="@:5") patch("sed_pgi.patch", when="@:6.0") patch("nvhpc_fix_preprocessor_flag.patch", when="@6.0:6.2%nvhpc") + patch("rxvt_unicode_6_4.patch", when="@6.1:") @classmethod def determine_version(cls, exe): diff --git a/var/spack/repos/builtin/packages/ncurses/rxvt_unicode_6_4.patch b/var/spack/repos/builtin/packages/ncurses/rxvt_unicode_6_4.patch new file mode 100644 index 00000000000000..57bcd9949930aa --- /dev/null +++ b/var/spack/repos/builtin/packages/ncurses/rxvt_unicode_6_4.patch @@ -0,0 +1,203 @@ +--- a/misc/terminfo.src 2024-02-16 03:02:02.153142888 +0100 ++++ b/misc/terminfo.src 2024-02-16 03:08:25.878807875 +0100 +@@ -6921,6 +6921,200 @@ + mrxvt-256color|multitabbed rxvt with 256 colors, + use=xterm+256color, use=mrxvt, + ++#### RXVT-UNICODE ++# From: Thomas Dickey 04 Oct 1997 ++# Updated: Özgür Kesim 02 Nov 1997 ++# Updated: Marc Lehmann , 17 Feb 2005 ++# Updated: Marc Lehmann , 04 Nov 2008: change init/reset sequences ++# Updated: Marc Lehmann , 24 Nov 2014: implement cvvis as blinking cursor ++# Updated: Marc Lehmann , 13 Dec 2014: removed superfluous 0 from sgr ++rxvt-unicode|rxvt-unicode terminal (X Window System), ++ am, ++ bce, ++ eo, ++ km, ++ msgr, ++ xenl, ++ hs, ++ cols#80, ++ it#8, ++ lines#24, ++ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~-A.B+C\,D0EhFiG, ++ bel=^G, ++ blink=\E[5m, ++ bold=\E[1m, ++ clear=\E[H\E[2J, ++ civis=\E[?25l, ++ cnorm=\E[?12l\E[?25h, ++ cvvis=\E[?12;25h, ++ cr=^M, ++ csr=\E[%i%p1%d;%p2%dr, ++ cub=\E[%p1%dD, ++ cub1=^H, ++ cud=\E[%p1%dB, ++ cud1=^J, ++ cuf=\E[%p1%dC, ++ cuf1=\E[C, ++ cup=\E[%i%p1%d;%p2%dH, ++ cuu=\E[%p1%dA, ++ cuu1=\E[A, ++ dch=\E[%p1%dP, ++ dch1=\E[P, ++ dl=\E[%p1%dM, ++ dl1=\E[M, ++ ed=\E[J, ++ el=\E[K, ++ el1=\E[1K, ++ flash=\E[?5h$<20/>\E[?5l, ++ home=\E[H, ++ hpa=\E[%i%p1%dG, ++ ht=^I, ++ hts=\EH, ++ ich=\E[%p1%d@, ++ ich1=\E[@, ++ il=\E[%p1%dL, ++ il1=\E[L, ++ ind=^J, ++ is1=\E[\041p, ++ is2=\E[r\E[m\E[2J\E[?7;25h\E[?1;3;4;5;6;9;66;1000;1001;1049l\E[4l, ++ kDC=\E[3$, ++ kDC5=\E[3\^, ++ kDC6=\E[3@, ++ kDN=\E[b, ++ kDN5=\EOb, ++ kIC=\E[2$, ++ kIC5=\E[2\^, ++ kIC6=\E[2@, ++ kEND=\E[8$, ++ kEND5=\E[8\^, ++ kEND6=\E[8@, ++ kFND=\E[1$, ++ kFND5=\E[1\^, ++ kFND6=\E[1@, ++ kHOM=\E[7$, ++ kHOM5=\E[7\^, ++ kHOM6=\E[7@, ++ kLFT=\E[d, ++ kLFT5=\EOd, ++ kNXT=\E[6$, ++ kNXT5=\E[6\^, ++ kNXT6=\E[6@, ++ kPRV=\E[5$, ++ kPRV5=\E[5\^, ++ kPRV6=\E[5@, ++ kRIT=\E[c, ++ kRIT5=\EOc, ++ kUP=\E[a, ++ kUP5=\EOa, ++ kbs=\177, ++ ka1=\EOw, ++ ka3=\EOy, ++ kb2=\EOu, ++ kc1=\EOq, ++ kc3=\EOs, ++ kcbt=\E[Z, ++ kcub1=\E[D, ++ kcud1=\E[B, ++ kcuf1=\E[C, ++ kcuu1=\E[A, ++ kdch1=\E[3~, ++ kel=\E[8\^, ++ kend=\E[8~, ++ kent=\EOM, ++ kf1=\E[11~, ++ kf10=\E[21~, ++ kf11=\E[23~, ++ kf12=\E[24~, ++ kf13=\E[25~, ++ kf14=\E[26~, ++ kf15=\E[28~, ++ kf16=\E[29~, ++ kf17=\E[31~, ++ kf18=\E[32~, ++ kf19=\E[33~, ++ kf2=\E[12~, ++ kf20=\E[34~, ++ kf3=\E[13~, ++ kf4=\E[14~, ++ kf5=\E[15~, ++ kf6=\E[17~, ++ kf7=\E[18~, ++ kf8=\E[19~, ++ kf9=\E[20~, ++ kfnd=\E[1~, ++ khome=\E[7~, ++ kich1=\E[2~, ++ kmous=\E[M, ++ knp=\E[6~, ++ kpp=\E[5~, ++ kslt=\E[4~, ++ rc=\E8, ++ rev=\E[7m, ++ ri=\EM, ++ rmso=\E[27m, ++ rmul=\E[24m, ++ rs1=\Ec, ++ rs2=\E[r\E[m\E[?7;25h\E[?1;3;4;5;6;9;66;1000;1001;1049l\E[4l, ++ sgr0=\E[m\E(B, ++ enacs=, ++ smacs=\E(0, ++ rmacs=\E(B, ++ smso=\E[7m, ++ smul=\E[4m, ++ tbc=\E[3g, ++ vpa=\E[%i%p1%dd, ++ colors#88, ++ pairs#7744, ++ btns#5, ++ lm#0, ++ ccc, ++ npc, ++ mc5i, ++ ncv#0, ++ mir, ++ xon, ++ bw, ++ ech=\E[%p1%dX, ++ mc0=\E[i, ++ mc4=\E[4i, ++ mc5=\E[5i, ++ sitm=\E[3m, ++ ritm=\E[23m, ++ smam=\E[?7h, ++ rmam=\E[?7l, ++ smir=\E[4h, ++ rmir=\E[4l, ++ smcup=\E[?1049h, ++ rmcup=\E[r\E[?1049l, ++ smkx=\E=, ++ rmkx=\E>, ++ indn=\E[%p1%dS, ++ rin=\E[%p1%dT, ++ sgr=\E[%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;, ++ op=\E[39;49m, ++ setaf=\E[38;5;%p1%dm, ++ setab=\E[48;5;%p1%dm, ++ setf=%?%p1%{7}%>%t\E[38;5;%p1%dm%e\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m%;, ++ setb=%?%p1%{7}%>%t\E[48;5;%p1%dm%e\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m%;, ++ initc=\E]4;%p1%d;rgb\:%p2%{65535}%*%{1000}%/%4.4X/%p3%{65535}%*%{1000}%/%4.4X/%p4%{65535}%*%{1000}%/%4.4X\E\\, ++ sc=\E7, ++ s0ds=\E(B, ++ s1ds=\E(0, ++ s2ds=\E*B, ++ s3ds=\E+B, ++ u6=\E[%i%d;%dR, ++ u7=\E[6n, ++ u8=\E[?1;2c, ++ u9=\E[c, ++ tsl=\E]2;, ++ fsl=\007, ++ dsl=\E]2;\007, ++ ++rxvt-unicode-256color|rxvt-unicode terminal with 256 colors (X Window System), ++ colors#256, ++ pairs#32767, ++ use=rxvt-unicode, ++ + #### ETERM + # From: Michael Jennings + # From d33e10a695dbc0b7b0d2f9ff4a543a1c14d08b78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Aum=C3=BCller?= Date: Fri, 22 Mar 2024 03:39:53 +0100 Subject: [PATCH 150/155] ffmpeg: add v6.1.1 and older patch release updates (#43050) --- .../repos/builtin/packages/ffmpeg/package.py | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/ffmpeg/package.py b/var/spack/repos/builtin/packages/ffmpeg/package.py index ce88037520b07b..bf11ce4883642c 100644 --- a/var/spack/repos/builtin/packages/ffmpeg/package.py +++ b/var/spack/repos/builtin/packages/ffmpeg/package.py @@ -17,17 +17,22 @@ class Ffmpeg(AutotoolsPackage): license("GPL-2.0-or-later AND LGPL-2.1-or-later") + version("6.1.1", sha256="5e3133939a61ef64ac9b47ffd29a5ea6e337a4023ef0ad972094b4da844e3a20") version("6.0", sha256="47d062731c9f66a78380e35a19aac77cebceccd1c7cc309b9c82343ffc430c3d") + version("5.1.4", sha256="c3c1e316bf91468738dd0aff6eb1faab409f1edcd34fd1a4213626439bc5d743") version("5.1.3", sha256="5d5bef6a11f0c500588f9870ec965a30acc0d54d8b1e535da6554a32902d236d") version("5.1.2", sha256="39a0bcc8d98549f16c570624678246a6ac736c066cebdb409f9502e915b22f2b") + version("4.4.4", sha256="47b1fbf70a2c090d9c0fae5910da11c6406ca92408bb69d8c935cd46c622c7ce") version("4.4.1", sha256="8fc9f20ac5ed95115a9e285647add0eedd5cc1a98a039ada14c132452f98ac42") version("4.3.2", sha256="ab3a6d6a70358ba0a5f67f37f91f6656b7302b02e98e5b8c846c16763c99913a") version("4.2.2", sha256="b620d187c26f76ca19e74210a0336c3b8380b97730df5cdf45f3e69e89000e5c") version("4.1.1", sha256="0cb40e3b8acaccd0ecb38aa863f66f0c6e02406246556c2992f67bf650fab058") version("4.1", sha256="b684fb43244a5c4caae652af9022ed5d85ce15210835bce054a33fb26033a1a5") + version("3.4.13", sha256="f640aa6f92323558ee31314b773cf2e935def620474754b929e815f8f1ec933f") version("3.4.12", sha256="08e400330c70b567116addebd1a70279e0d41b0f8742085e32527f2a4eef9ca3") version("3.2.19", sha256="87a61fa3b20819b71633aa90b55ee6411614e4a0ff7908cf35236b465de5e602") version("3.2.4", sha256="c0fa3593a2e9e96ace3c1757900094437ad96d1d6ca19f057c378b5f394496a4") + version("2.8.22", sha256="c56534d2862d2690b28875e142e0364ab86d784a22775449f04bf995efbc7064") version("2.8.21", sha256="782c3af1a1ee8945be0800edc39b1d1199ee6a8f31c74b65230795f11911b0d8") version("2.8.15", sha256="35647f6c1f6d4a1719bc20b76bf4c26e4ccd665f46b5676c0e91c5a04622ee21") version("1.0.10", sha256="1dbde434c3b5c573d3b2ffc1babe3814f781c10c4bc66193a4132a44c9715176") @@ -115,6 +120,13 @@ class Ffmpeg(AutotoolsPackage): conflicts("%nvhpc") + # Solve build failure against vulkan headers 1.3.279 + patch( + "https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff_plain/fef22c87ada4", + sha256="856bdc2b6e2a7066cf683a235193b9025d4d73dd7686eda2fbcf83e7e65f8bf9", + when="@6.1.1", + ) + # Patch solving a build failure when vulkan is enabled patch( "https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff_plain/eb0455d64690", @@ -126,14 +138,25 @@ class Ffmpeg(AutotoolsPackage): patch( "https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff_plain/effadce6c756247ea8bae32dc13bb3e6f464f0eb", sha256="f070ac16be68b4d32b1b5b885d146eb36eb508daa928b6f0f78256c3482f9f0e", - when="@:6.0", + when="@6:6.0", + ) + # Patch fixing a build failure with binutils 2.41.0, already in @5.1.4 + patch( + "https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff_plain/effadce6c756247ea8bae32dc13bb3e6f464f0eb", + sha256="f070ac16be68b4d32b1b5b885d146eb36eb508daa928b6f0f78256c3482f9f0e", + when="@:5.1.3", ) # fix incompatibility with texinfo@7, especially @7.1: patch( "https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff_plain/f01fdedb69e4accb1d1555106d8f682ff1f1ddc7", sha256="416751f41cfbf086c28b4bbf01ace4c08e5651e59911dca6240292bb1b5c6b53", - when="@5:6.0", + when="@6.0", + ) + patch( + "https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff_plain/f01fdedb69e4accb1d1555106d8f682ff1f1ddc7", + sha256="416751f41cfbf086c28b4bbf01ace4c08e5651e59911dca6240292bb1b5c6b53", + when="@5:5.1.3", ) @property @@ -149,6 +172,8 @@ def headers(self): @when("@:6.0 %apple-clang@15:") def setup_build_environment(self, env): env.append_flags("LDFLAGS", "-Wl,-ld_classic") + if self.spec.satisfies("@:3"): + env.append_flags("CFLAGS", "-Wno-error=incompatible-function-pointer-types") def enable_or_disable_meta(self, variant, options): switch = "enable" if "+{0}".format(variant) in self.spec else "disable" From 2314aeb88420768de0ef16ce4928590560e1204a Mon Sep 17 00:00:00 2001 From: Valentin Volkl Date: Fri, 22 Mar 2024 04:34:43 +0100 Subject: [PATCH 151/155] py-cmake: only run test suite when run_tests (#43246) As the cmake build is triggered by scikit build, the usual spack option for enabling tests had no effect and the heavy test suite ran all the time. Used https://github.com/scikit-build/cmake-python-distributions/issues/172#issuecomment-890322263 to implement how to pass options to the actual `cmake` build. I also excluded some tests that failed for me on alma9 (gcc 11.4.1), so the rest of the test suite can be run. --- .../repos/builtin/packages/py-cmake/package.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-cmake/package.py b/var/spack/repos/builtin/packages/py-cmake/package.py index db15cd82591822..c97016e15a26ed 100644 --- a/var/spack/repos/builtin/packages/py-cmake/package.py +++ b/var/spack/repos/builtin/packages/py-cmake/package.py @@ -53,3 +53,16 @@ class PyCmake(PythonPackage): def install_options(self, spec, prefix): return ["-DBUILD_CMAKE_FROM_SOURCE=ON", "-DCMakeProject_SOURCE_DIR=cmake-src"] + + def setup_build_environment(self, env): + if self.run_tests: + env.set( + "SKBUILD_CONFIGURE_OPTIONS", + # BootstrapTest is already exlcude upstream, + # The rest are (non-understood) known failures, disabled to get test suite working + # todo: investigate test failures / check if still needed in newer versions + "-DRUN_CMAKE_TEST=ON -DRUN_CMAKE_TEST_EXCLUDE=BootstrapTest|CompileWarningAsError" + "|GET_RUNTIME_DEPENDENCIES", + ) + else: + env.set("SKBUILD_CONFIGURE_OPTIONS", "-DRUN_CMAKE_TEST=OFF") From 69c684fef9bacdc16549cf2c92909b7a747cc24e Mon Sep 17 00:00:00 2001 From: Rocco Meli Date: Fri, 22 Mar 2024 08:42:24 +0100 Subject: [PATCH 152/155] ELPA: enable GPU streams and update deprecated variables (#43145) * elpa streams * [@spackbot] updating style on behalf of RMeli * Apply suggestions from @albestro * Update var/spack/repos/builtin/packages/elpa/package.py Co-authored-by: Mikael Simberg --------- Co-authored-by: RMeli Co-authored-by: Mikael Simberg --- .../repos/builtin/packages/elpa/package.py | 31 ++++++++++++++++--- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/var/spack/repos/builtin/packages/elpa/package.py b/var/spack/repos/builtin/packages/elpa/package.py index 6965fe11177c5b..65f021b5b6283f 100644 --- a/var/spack/repos/builtin/packages/elpa/package.py +++ b/var/spack/repos/builtin/packages/elpa/package.py @@ -48,6 +48,7 @@ class Elpa(AutotoolsPackage, CudaPackage, ROCmPackage): variant("openmp", default=True, description="Activates OpenMP support") variant("mpi", default=True, description="Activates MPI support") + variant("gpu_streams", default=True, description="Activates GPU streams support") patch("fujitsu.patch", when="%fj") @@ -76,6 +77,12 @@ class Elpa(AutotoolsPackage, CudaPackage, ROCmPackage): ) conflicts("+mpi", when="+rocm", msg="ROCm support and MPI are not yet compatible") + conflicts( + "+gpu_streams", + when="+openmp", + msg="GPU streams currently not supported in combination with OpenMP", + ) + def url_for_version(self, version): return "https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/{0}/elpa-{0}.tar.gz".format( str(version) @@ -115,6 +122,9 @@ def configure_args(self): options += self.with_or_without("mpi") + # New options use the "-kernels" suffix + kernels = "-kernels" if spec.satisfies("@2023.11:") else "" + # TODO: --disable-sse-assembly, --enable-sparc64, --enable-neon-arch64 # Don't include vsx; as of 2022.05 it fails (reported upstream). # Altivec SSE intrinsics are used anyway. @@ -122,7 +132,7 @@ def configure_args(self): for feature in simd_features: msg = "--enable-{0}" if feature in spec.target else "--disable-{0}" - options.append(msg.format(feature)) + options.append(msg.format(feature + kernels)) if spec.target.family != "x86_64": options.append("--disable-sse-assembly") @@ -133,7 +143,7 @@ def configure_args(self): # If no features are found, enable the generic ones if not any(f in spec.target for f in simd_features): - options.append("--enable-generic") + options.append("--enable-generic" + kernels) if self.compiler.name == "gcc": options.extend(["CFLAGS=-O3", "FCFLAGS=-O3 -ffree-line-length-none"]) @@ -150,10 +160,15 @@ def configure_args(self): cuda_flag = "nvidia-gpu" if "+cuda" in spec: prefix = spec["cuda"].prefix - options.append("--enable-{0}".format(cuda_flag)) + # Can't yet be changed to the new option --enable-nvidia-gpu-kernels + # https://github.com/marekandreas/elpa/issues/55 + options.append(f"--enable-{cuda_flag}") options.append("--with-cuda-path={0}".format(prefix)) options.append("--with-cuda-sdk-path={0}".format(prefix)) + if spec.satisfies("+gpu_streams"): + options.append("--enable-gpu-streams=nvidia") + cuda_arch = spec.variants["cuda_arch"].value[0] if cuda_arch != "none": @@ -161,13 +176,19 @@ def configure_args(self): "--with-{0}-compute-capability=sm_{1}".format(cuda_flag.upper(), cuda_arch) ) else: - options.append("--disable-{0}".format(cuda_flag)) + options.append(f"--disable-{cuda_flag}" + kernels) if "+rocm" in spec: + # Can't yet be changed to the new option --enable-amd-gpu-kernels + # https://github.com/marekandreas/elpa/issues/55 options.append("--enable-amd-gpu") options.append("CXX={0}".format(self.spec["hip"].hipcc)) + + if spec.satisfies("+gpu_streams"): + options.append("--enable-gpu-streams=amd") + elif "@2021.05.001:" in self.spec: - options.append("--disable-amd-gpu") + options.append("--disable-amd-gpu" + kernels) options += self.enable_or_disable("openmp") From 4746e8a0488771f2ecffa73092dcaca37a9b908f Mon Sep 17 00:00:00 2001 From: Mikael Simberg Date: Fri, 22 Mar 2024 08:50:29 +0100 Subject: [PATCH 153/155] apex: Set `APEX_WITH_KOKKOS` CMake option in apex package (#43243) * Make sure APEX_WITH_KOKKOS CMake option is set in apex * Add conflict for apex with ~kokkos --- var/spack/repos/builtin/packages/apex/package.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/var/spack/repos/builtin/packages/apex/package.py b/var/spack/repos/builtin/packages/apex/package.py index 6576f5d9a0474b..e6bb94ef3d40f0 100644 --- a/var/spack/repos/builtin/packages/apex/package.py +++ b/var/spack/repos/builtin/packages/apex/package.py @@ -125,6 +125,11 @@ class Apex(CMakePackage): # https://github.com/UO-OACISS/apex/pull/177#issuecomment-1726322959 conflicts("+openmp", when="%gcc") + # Up to 2.6.3 Kokkos support is always enabled. In 2.6.4 and 2.6.5 there is + # a CMake option to disable Kokkos support but it doesn't work: + # https://github.com/UO-OACISS/apex/issues/180. + conflicts("~kokkos", when="@:2.6.5") + # Patches # This patch ensures that the missing dependency_tree.hpp header is @@ -154,6 +159,7 @@ def cmake_args(self): args.append(self.define_from_variant(prefix + "_LM_SENSORS", "lmsensors")) args.append(self.define_from_variant(prefix + "_TCMALLOC", "gperftools")) args.append(self.define_from_variant(prefix + "_JEMALLOC", "jemalloc")) + args.append(self.define_from_variant(prefix + "_KOKKOS", "kokkos")) args.append(self.define_from_variant(test_prefix + "BUILD_TESTS", "tests")) args.append(self.define_from_variant(test_prefix + "BUILD_EXAMPLES", "examples")) From 7b9b976f40565e967846d553a05e4669c90a316d Mon Sep 17 00:00:00 2001 From: Thomas-Ulrich Date: Fri, 22 Mar 2024 15:24:32 +0100 Subject: [PATCH 154/155] openssh: add 9.7p1 and 9.6p1; update workaround for clang (#40857) Signed-off-by: Bernhard Kaindl --- var/spack/repos/builtin/packages/openssh/package.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/openssh/package.py b/var/spack/repos/builtin/packages/openssh/package.py index 970a8da703e5d4..73bd17eaf5e28a 100755 --- a/var/spack/repos/builtin/packages/openssh/package.py +++ b/var/spack/repos/builtin/packages/openssh/package.py @@ -25,6 +25,8 @@ class Openssh(AutotoolsPackage): license("SSH-OpenSSH") + version("9.7p1", sha256="490426f766d82a2763fcacd8d83ea3d70798750c7bd2aff2e57dc5660f773ffd") + version("9.6p1", sha256="910211c07255a8c5ad654391b40ee59800710dd8119dd5362de09385aa7a777c") version("9.5p1", sha256="f026e7b79ba7fb540f75182af96dc8a8f1db395f922bbc9f6ca603672686086b") version("9.4p1", sha256="3608fd9088db2163ceb3e600c85ab79d0de3d221e59192ea1923e23263866a85") version("9.3p1", sha256="e9baba7701a76a51f3d85a62c383a3c9dcd97fa900b859bc7db114c1868af8a8") @@ -106,9 +108,13 @@ def patch(self): # #39599: fix configure to parse zlib 1.3's version number to prevent build fail filter_file(r"if \(n != 3 && n != 4\)", "if (n < 2)", "configure") - # https://github.com/Homebrew/homebrew-core/blob/7aabdeb30506be9b01708793ae553502c115dfc8/Formula/o/openssh.rb#L71-L77 - if self.spec.target.family == "x86_64" and self.spec.platform == "darwin": - filter_file(r"-fzero-call-used-regs=all", "-fzero-call-used-regs=used", "configure") + # Clang-based compilers (known at least 14-17) may randomly mis-compile + # openssh according to this thread even when -fzero-call-used-regs=used: + # https://www.mail-archive.com/openssh-bugs@mindrot.org/msg17461.html + # Therefore, remove -fzero-call-used-regs=all for these compilers: + spec = self.spec + if spec.version < Version("9.6p1") and self.compiler.name.endswith(("clang", "oneapi")): + filter_file("-fzero-call-used-regs=all", "", "configure") def configure_args(self): # OpenSSH's privilege separation path defaults to /var/empty. At From 434836be81fe763c61b3c69de30d42c3b5d78e85 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Fri, 22 Mar 2024 16:57:46 +0100 Subject: [PATCH 155/155] python wheels: do not "expand" (#43317) --- lib/spack/llnl/url.py | 4 +- lib/spack/spack/test/llnl/url.py | 2 + lib/spack/spack/test/util/compression.py | 8 +- lib/spack/spack/util/compression.py | 18 +- .../py-azureml-automl-core/package.py | 6 +- .../packages/py-azureml-core/package.py | 18 +- .../py-azureml-dataprep-native/package.py | 4 - .../py-azureml-dataprep-rslex/package.py | 8 - .../packages/py-azureml-dataprep/package.py | 12 +- .../py-azureml-dataset-runtime/package.py | 6 +- .../py-azureml-pipeline-core/package.py | 18 +- .../py-azureml-pipeline-steps/package.py | 6 +- .../packages/py-azureml-pipeline/package.py | 6 +- .../packages/py-azureml-sdk/package.py | 6 +- .../packages/py-azureml-telemetry/package.py | 18 +- .../py-azureml-train-automl-client/package.py | 6 +- .../packages/py-azureml-train-core/package.py | 18 +- .../package.py | 18 +- .../packages/py-azureml-train/package.py | 18 +- .../builtin/packages/py-climate/package.py | 6 +- .../packages/py-dotnetcore2/package.py | 2 - .../builtin/packages/py-igor2/package.py | 6 +- .../builtin/packages/py-installer/package.py | 12 +- .../packages/py-intel-openmp/package.py | 2 - .../repos/builtin/packages/py-itk/package.py | 14 -- .../py-jupyterlab-pygments/package.py | 18 +- .../packages/py-jupyterlab-widgets/package.py | 18 +- .../py-lightning-api-access/package.py | 6 +- .../packages/py-nvidia-dali/package.py | 24 -- .../packages/py-opencensus-context/package.py | 6 +- .../repos/builtin/packages/py-pip/package.py | 78 +----- .../builtin/packages/py-setuptools/package.py | 234 +++--------------- .../builtin/packages/py-shiboken2/package.py | 2 - .../py-tensorboard-plugin-wit/package.py | 18 +- .../packages/py-tensorboard/package.py | 168 +++---------- .../repos/builtin/packages/py-thop/package.py | 1 - .../builtin/packages/py-tuswsgi/package.py | 6 +- .../builtin/packages/py-wheel/package.py | 72 +----- .../repos/builtin/packages/py-x21/package.py | 6 - 39 files changed, 156 insertions(+), 743 deletions(-) diff --git a/lib/spack/llnl/url.py b/lib/spack/llnl/url.py index 28f3187dd9b459..9812af5eaaedf5 100644 --- a/lib/spack/llnl/url.py +++ b/lib/spack/llnl/url.py @@ -12,7 +12,7 @@ # Archive extensions allowed in Spack PREFIX_EXTENSIONS = ("tar", "TAR") EXTENSIONS = ("gz", "bz2", "xz", "Z") -NO_TAR_EXTENSIONS = ("zip", "tgz", "tbz2", "tbz", "txz") +NO_TAR_EXTENSIONS = ("zip", "tgz", "tbz2", "tbz", "txz", "whl") # Add PREFIX_EXTENSIONS and EXTENSIONS last so that .tar.gz is matched *before* .tar or .gz ALLOWED_ARCHIVE_TYPES = ( @@ -403,7 +403,7 @@ def expand_contracted_extension_in_path( def compression_ext_from_compressed_archive(extension: str) -> Optional[str]: """Returns compression extension for a compressed archive""" extension = expand_contracted_extension(extension) - for ext in [*EXTENSIONS]: + for ext in EXTENSIONS: if ext in extension: return ext return None diff --git a/lib/spack/spack/test/llnl/url.py b/lib/spack/spack/test/llnl/url.py index 1afee9c05cd342..3e13e6a7297046 100644 --- a/lib/spack/spack/test/llnl/url.py +++ b/lib/spack/spack/test/llnl/url.py @@ -148,6 +148,8 @@ def test_strip_compression_extension(archive_and_expected): assert stripped == "Foo.zip" stripped = llnl.url.strip_compression_extension(archive, "zip") assert stripped == "Foo" + elif extension == "whl": + assert stripped == "Foo.whl" elif ( extension.lower() == "tar" or extension in llnl.url.CONTRACTION_MAP diff --git a/lib/spack/spack/test/util/compression.py b/lib/spack/spack/test/util/compression.py index ab38da78ac1387..f3660e4ddab4d6 100644 --- a/lib/spack/spack/test/util/compression.py +++ b/lib/spack/spack/test/util/compression.py @@ -29,7 +29,9 @@ ] # Spack does not use Python native handling for tarballs or zip # Don't test tarballs or zip in native test -native_archive_list = [key for key in ext_archive.keys() if "tar" not in key and "zip" not in key] +native_archive_list = [ + key for key in ext_archive.keys() if "tar" not in key and "zip" not in key and "whl" not in key +] @pytest.fixture @@ -71,7 +73,9 @@ def test_native_unpacking(tmpdir_factory, archive_file_and_extension): @pytest.mark.not_on_windows("Only Python unpacking available on Windows") @pytest.mark.parametrize( - "archive_file_and_extension", [(ext, True) for ext in ext_archive.keys()], indirect=True + "archive_file_and_extension", + [(ext, True) for ext in ext_archive.keys() if "whl" not in ext], + indirect=True, ) def test_system_unpacking(tmpdir_factory, archive_file_and_extension, compr_support_check): # actually run test diff --git a/lib/spack/spack/util/compression.py b/lib/spack/spack/util/compression.py index f25841ee705882..08edc1949a752f 100644 --- a/lib/spack/spack/util/compression.py +++ b/lib/spack/spack/util/compression.py @@ -9,7 +9,7 @@ import os import shutil import sys -from typing import BinaryIO, Callable, Dict, List, Optional +from typing import Any, BinaryIO, Callable, Dict, List, Optional import llnl.url from llnl.util import tty @@ -157,6 +157,10 @@ def _system_gunzip(archive_file: str) -> str: return destination_abspath +def _do_nothing(archive_file: str) -> None: + return None + + def _unzip(archive_file: str) -> str: """Returns path to extracted zip archive. Extract Zipfile, searching for unzip system executable. If unavailable, search for 'tar' executable on system and use instead. @@ -283,7 +287,7 @@ def decompressor_for(path: str, extension: Optional[str] = None): return decompressor_for_nix(extension) -def decompressor_for_nix(extension: str) -> Callable[[str], str]: +def decompressor_for_nix(extension: str) -> Callable[[str], Any]: """Returns a function pointer to appropriate decompression algorithm based on extension type and unix specific considerations i.e. a reasonable expectation system utils like gzip, bzip2, and xz are available @@ -291,18 +295,19 @@ def decompressor_for_nix(extension: str) -> Callable[[str], str]: Args: extension: path of the archive file requiring decompression """ - extension_to_decompressor: Dict[str, Callable[[str], str]] = { + extension_to_decompressor: Dict[str, Callable[[str], Any]] = { "zip": _unzip, "gz": _gunzip, "bz2": _bunzip2, "Z": _system_unZ, # no builtin support for .Z files "xz": _lzma_decomp, + "whl": _do_nothing, } return extension_to_decompressor.get(extension, _system_untar) -def _determine_py_decomp_archive_strategy(extension: str) -> Optional[Callable[[str], str]]: +def _determine_py_decomp_archive_strategy(extension: str) -> Optional[Callable[[str], Any]]: """Returns appropriate python based decompression strategy based on extension type""" extension_to_decompressor: Dict[str, Callable[[str], str]] = { @@ -313,7 +318,7 @@ def _determine_py_decomp_archive_strategy(extension: str) -> Optional[Callable[[ return extension_to_decompressor.get(extension, None) -def decompressor_for_win(extension: str) -> Callable[[str], str]: +def decompressor_for_win(extension: str) -> Callable[[str], Any]: """Returns a function pointer to appropriate decompression algorithm based on extension type and Windows specific considerations @@ -323,7 +328,7 @@ def decompressor_for_win(extension: str) -> Callable[[str], str]: and files as Python does not provide support for the UNIX compress algorithm """ extension = llnl.url.expand_contracted_extension(extension) - extension_to_decompressor: Dict[str, Callable[[str], str]] = { + extension_to_decompressor: Dict[str, Callable[[str], Any]] = { # Windows native tar can handle .zip extensions, use standard unzip method "zip": _unzip, # if extension is standard tarball, invoke Windows native tar @@ -333,6 +338,7 @@ def decompressor_for_win(extension: str) -> Callable[[str], str]: # detected "Z": _system_unZ, "xz": _lzma_decomp, + "whl": _do_nothing, } decompressor = extension_to_decompressor.get(extension) diff --git a/var/spack/repos/builtin/packages/py-azureml-automl-core/package.py b/var/spack/repos/builtin/packages/py-azureml-automl-core/package.py index 1f1730659c55cc..87d51dfccdbd77 100644 --- a/var/spack/repos/builtin/packages/py-azureml-automl-core/package.py +++ b/var/spack/repos/builtin/packages/py-azureml-automl-core/package.py @@ -14,11 +14,7 @@ class PyAzuremlAutomlCore(PythonPackage): homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/" url = "https://pypi.io/packages/py3/a/azureml_automl_core/azureml_automl_core-1.11.0-py3-none-any.whl" - version( - "1.23.0", - sha256="1fa4a900856b15e1ec9a6bb949946ed0c873a5a54da3db592f03dbb46a117ceb", - expand=False, - ) + version("1.23.0", sha256="1fa4a900856b15e1ec9a6bb949946ed0c873a5a54da3db592f03dbb46a117ceb") depends_on("python@3.5:3", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-azureml-core/package.py b/var/spack/repos/builtin/packages/py-azureml-core/package.py index f5c55597801993..2ce6c6b7272124 100644 --- a/var/spack/repos/builtin/packages/py-azureml-core/package.py +++ b/var/spack/repos/builtin/packages/py-azureml-core/package.py @@ -17,21 +17,9 @@ class PyAzuremlCore(PythonPackage): homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/" url = "https://pypi.io/packages/py3/a/azureml_core/azureml_core-1.11.0-py3-none-any.whl" - version( - "1.23.0", - sha256="0965d0741e39cdb95cff5880dbf1a55fdd87cd9fc316884f965668e6cc36e628", - expand=False, - ) - version( - "1.11.0", - sha256="df8a01b04bb156852480de0bdd78434ed84f386e1891752bdf887faeaa2ca417", - expand=False, - ) - version( - "1.8.0", - sha256="a0f2b0977f18fb7dcb88c314594a4a85c636a36be3d582be1cae25655fea6105", - expand=False, - ) + version("1.23.0", sha256="0965d0741e39cdb95cff5880dbf1a55fdd87cd9fc316884f965668e6cc36e628") + version("1.11.0", sha256="df8a01b04bb156852480de0bdd78434ed84f386e1891752bdf887faeaa2ca417") + version("1.8.0", sha256="a0f2b0977f18fb7dcb88c314594a4a85c636a36be3d582be1cae25655fea6105") depends_on("python@3.5:3.8", type=("build", "run")) depends_on("py-pytz", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-azureml-dataprep-native/package.py b/var/spack/repos/builtin/packages/py-azureml-dataprep-native/package.py index 214d8c7751949b..2ea0d464951946 100644 --- a/var/spack/repos/builtin/packages/py-azureml-dataprep-native/package.py +++ b/var/spack/repos/builtin/packages/py-azureml-dataprep-native/package.py @@ -17,13 +17,11 @@ class PyAzuremlDataprepNative(PythonPackage): version( "30.0.0-py3.9", sha256="eaf3fcd9f965e87b03fe89d7c6fe6abce53483a79afc963e4981061f4c250e85", - expand=False, url="https://pypi.io/packages/cp39/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp39-cp39-macosx_10_9_x86_64.whl", ) version( "30.0.0-py3.8", sha256="6772b638f9d03a041b17ce4343061f5d543019200904b9d361b2b2629c3595a7", - expand=False, preferred=True, url="https://pypi.io/packages/cp38/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp38-cp38-macosx_10_9_x86_64.whl", ) @@ -31,13 +29,11 @@ class PyAzuremlDataprepNative(PythonPackage): version( "30.0.0-py3.9", sha256="b8673136948f682c84d047feacbfee436df053cba4f386f31c4c3a245a4e3646", - expand=False, url="https://pypi.io/packages/cp39/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp39-cp39-manylinux1_x86_64.whl", ) version( "30.0.0-py3.8", sha256="d07cf20f22b14c98576e135bbad9bb8aaa3108941d2beaadf050b4238bc93a18", - expand=False, preferred=True, url="https://pypi.io/packages/cp38/a/azureml_dataprep_native/azureml_dataprep_native-30.0.0-cp38-cp38-manylinux1_x86_64.whl", ) diff --git a/var/spack/repos/builtin/packages/py-azureml-dataprep-rslex/package.py b/var/spack/repos/builtin/packages/py-azureml-dataprep-rslex/package.py index f45d451a0b91e9..bf507a5949aa81 100644 --- a/var/spack/repos/builtin/packages/py-azureml-dataprep-rslex/package.py +++ b/var/spack/repos/builtin/packages/py-azureml-dataprep-rslex/package.py @@ -20,13 +20,11 @@ class PyAzuremlDataprepRslex(PythonPackage): version( "1.9.0-py3.9", sha256="9bdaa31d129dac19ee20d5a3aad1726397e90d8d741b4f6de4554040800fefe8", - expand=False, url="https://pypi.io/packages/cp39/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", ) version( "1.9.0-py3.8", sha256="9b2e741ac1c53d3f7e6061d264feccf157d97e404c772933a176e6021014484e", - expand=False, preferred=True, url="https://pypi.io/packages/cp38/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", ) @@ -34,26 +32,22 @@ class PyAzuremlDataprepRslex(PythonPackage): version( "1.8.0-py3.9", sha256="677c25a7e23ec7f91d25aa596f382f7f3b6d60fbc3258bead2b2a6aa42f3a16d", - expand=False, url="https://pypi.io/packages/cp39/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl", ) version( "1.8.0-py3.8", sha256="d7f2dec06296544b1707f5b01c6a4eaad744b4abfe9e8e89830b561c84d95a7a", - expand=False, url="https://pypi.io/packages/cp38/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp38-cp38-macosx_10_9_x86_64.whl", ) elif sys.platform.startswith("linux"): version( "1.9.0-py3.9", sha256="79d52bb427e3ca781a645c4f11f7a8e5e2c8f61e61bfc162b4062d8e47bcf3d6", - expand=False, url="https://pypi.io/packages/cp39/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp39-cp39-manylinux1_x86_64.whl", ) version( "1.9.0-py3.8", sha256="a52461103b45867dd919bab593bb6f2426c9b5f5a435081e82a3c57c54c3add6", - expand=False, preferred=True, url="https://pypi.io/packages/cp38/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.9.0-cp38-cp38-manylinux1_x86_64.whl", ) @@ -61,13 +55,11 @@ class PyAzuremlDataprepRslex(PythonPackage): version( "1.8.0-py3.9", sha256="e251a077669703ca117b157b225fbc20832169f913476cf79c01a5c6f8ff7a50", - expand=False, url="https://pypi.io/packages/cp39/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp39-cp39-manylinux1_x86_64.whl", ) version( "1.8.0-py3.8", sha256="2ebfa164f0933a5cec383cd27ba10d33861a73237ef481ada5a9a822bb55514a", - expand=False, url="https://pypi.io/packages/cp38/a/azureml_dataprep_rslex/azureml_dataprep_rslex-1.8.0-cp38-cp38-manylinux1_x86_64.whl", ) diff --git a/var/spack/repos/builtin/packages/py-azureml-dataprep/package.py b/var/spack/repos/builtin/packages/py-azureml-dataprep/package.py index bbeeb76cccf80d..90bfdae74e092a 100644 --- a/var/spack/repos/builtin/packages/py-azureml-dataprep/package.py +++ b/var/spack/repos/builtin/packages/py-azureml-dataprep/package.py @@ -13,16 +13,8 @@ class PyAzuremlDataprep(PythonPackage): homepage = "https://docs.microsoft.com/en-us/python/api/overview/azure/ml/?view=azure-ml-py" url = "https://pypi.io/packages/py3/a/azureml_dataprep/azureml_dataprep-2.0.2-py3-none-any.whl" - version( - "2.11.0", - sha256="755c0d7cfe228705aee7adc97813fb6d7d6ecb048b66f47c1fd5897f2709c3a2", - expand=False, - ) - version( - "2.10.1", - sha256="a36f807112ff1e64d21265b8e7f40154c93e3bead539e2a74c9d74200fd77c86", - expand=False, - ) + version("2.11.0", sha256="755c0d7cfe228705aee7adc97813fb6d7d6ecb048b66f47c1fd5897f2709c3a2") + version("2.10.1", sha256="a36f807112ff1e64d21265b8e7f40154c93e3bead539e2a74c9d74200fd77c86") variant("fuse", default=False, description="Build with FUSE support") diff --git a/var/spack/repos/builtin/packages/py-azureml-dataset-runtime/package.py b/var/spack/repos/builtin/packages/py-azureml-dataset-runtime/package.py index 56878089a0e127..7399b0832a5ef0 100644 --- a/var/spack/repos/builtin/packages/py-azureml-dataset-runtime/package.py +++ b/var/spack/repos/builtin/packages/py-azureml-dataset-runtime/package.py @@ -14,11 +14,7 @@ class PyAzuremlDatasetRuntime(PythonPackage): homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/" url = "https://pypi.io/packages/py3/a/azureml-dataset-runtime/azureml_dataset_runtime-1.11.0.post1-py3-none-any.whl" - version( - "1.23.0", - sha256="96ca73d03ffedc0dd336d9383d2e17cf74548a89fc7ca4c201c599817c97bbc6", - expand=False, - ) + version("1.23.0", sha256="96ca73d03ffedc0dd336d9383d2e17cf74548a89fc7ca4c201c599817c97bbc6") variant("fuse", default=False, description="Build with FUSE support") diff --git a/var/spack/repos/builtin/packages/py-azureml-pipeline-core/package.py b/var/spack/repos/builtin/packages/py-azureml-pipeline-core/package.py index 4542e001fb9d26..8a9f3bd4021785 100644 --- a/var/spack/repos/builtin/packages/py-azureml-pipeline-core/package.py +++ b/var/spack/repos/builtin/packages/py-azureml-pipeline-core/package.py @@ -13,21 +13,9 @@ class PyAzuremlPipelineCore(PythonPackage): homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/" url = "https://pypi.io/packages/py3/a/azureml_pipeline_core/azureml_pipeline_core-1.11.0-py3-none-any.whl" - version( - "1.23.0", - sha256="347e3e41559879611d53eeff5c05dd133db6fa537edcf2b9f70d91aad461df02", - expand=False, - ) - version( - "1.11.0", - sha256="98012195e3bba12bf42ac69179549038b3563b39e3dadab4f1d06407a00ad8b3", - expand=False, - ) - version( - "1.8.0", - sha256="24e1c57a57e75f9d74ea6f45fa4e93c1ee3114c8ed9029d538f9cc8e4f8945b2", - expand=False, - ) + version("1.23.0", sha256="347e3e41559879611d53eeff5c05dd133db6fa537edcf2b9f70d91aad461df02") + version("1.11.0", sha256="98012195e3bba12bf42ac69179549038b3563b39e3dadab4f1d06407a00ad8b3") + version("1.8.0", sha256="24e1c57a57e75f9d74ea6f45fa4e93c1ee3114c8ed9029d538f9cc8e4f8945b2") depends_on("python@3.5:3", type=("build", "run")) depends_on("py-azureml-core@1.23.0:1.23", when="@1.23.0", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-azureml-pipeline-steps/package.py b/var/spack/repos/builtin/packages/py-azureml-pipeline-steps/package.py index 6598be7b57b5d8..e2dcd81f772573 100644 --- a/var/spack/repos/builtin/packages/py-azureml-pipeline-steps/package.py +++ b/var/spack/repos/builtin/packages/py-azureml-pipeline-steps/package.py @@ -13,11 +13,7 @@ class PyAzuremlPipelineSteps(PythonPackage): homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/" url = "https://pypi.io/packages/py3/a/azureml_pipeline_steps/azureml_pipeline_steps-1.11.0-py3-none-any.whl" - version( - "1.23.0", - sha256="72154c2f75624a1e7500b8e2239ae1354eeedf66d2cabb11e213b7eb80aedddb", - expand=False, - ) + version("1.23.0", sha256="72154c2f75624a1e7500b8e2239ae1354eeedf66d2cabb11e213b7eb80aedddb") depends_on("python@3:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-azureml-pipeline/package.py b/var/spack/repos/builtin/packages/py-azureml-pipeline/package.py index cecf981ab91e25..e8d732cb5944db 100644 --- a/var/spack/repos/builtin/packages/py-azureml-pipeline/package.py +++ b/var/spack/repos/builtin/packages/py-azureml-pipeline/package.py @@ -16,11 +16,7 @@ class PyAzuremlPipeline(PythonPackage): "https://pypi.io/packages/py3/a/azureml_pipeline/azureml_pipeline-1.11.0-py3-none-any.whl" ) - version( - "1.23.0", - sha256="ed0fae96771840d3ffd63d63df1b1eed2f50c3b8dbe7b672a4f1ba6e66d0a392", - expand=False, - ) + version("1.23.0", sha256="ed0fae96771840d3ffd63d63df1b1eed2f50c3b8dbe7b672a4f1ba6e66d0a392") depends_on("python@3:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-azureml-sdk/package.py b/var/spack/repos/builtin/packages/py-azureml-sdk/package.py index 8e613aee9eb65c..9c9f571ec82a9b 100644 --- a/var/spack/repos/builtin/packages/py-azureml-sdk/package.py +++ b/var/spack/repos/builtin/packages/py-azureml-sdk/package.py @@ -15,11 +15,7 @@ class PyAzuremlSdk(PythonPackage): maintainers("adamjstewart") - version( - "1.23.0", - sha256="b9520f426831acb99fafa1ecd154b6bfd4f73fbf71e918d819f9db4a75438ab9", - expand=False, - ) + version("1.23.0", sha256="b9520f426831acb99fafa1ecd154b6bfd4f73fbf71e918d819f9db4a75438ab9") # https://github.com/Azure/MachineLearningNotebooks/issues/1285 depends_on("python@3.5:3.8", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-azureml-telemetry/package.py b/var/spack/repos/builtin/packages/py-azureml-telemetry/package.py index 89e5f6a5a51593..69f2d1bd8133db 100644 --- a/var/spack/repos/builtin/packages/py-azureml-telemetry/package.py +++ b/var/spack/repos/builtin/packages/py-azureml-telemetry/package.py @@ -14,21 +14,9 @@ class PyAzuremlTelemetry(PythonPackage): homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/" url = "https://pypi.io/packages/py3/a/azureml_telemetry/azureml_telemetry-1.11.0-py3-none-any.whl" - version( - "1.23.0", - sha256="68f9aac77e468db80e60f75d0843536082e2884ab251b6d3054dd623bd9c9e0d", - expand=False, - ) - version( - "1.11.0", - sha256="0d46c4a7bb8c0b188f1503504a6029384bc2237d82a131e7d1e9e89c3491b1fc", - expand=False, - ) - version( - "1.8.0", - sha256="de657efe9773bea0de76c432cbab34501ac28606fe1b380d6883562ebda3d804", - expand=False, - ) + version("1.23.0", sha256="68f9aac77e468db80e60f75d0843536082e2884ab251b6d3054dd623bd9c9e0d") + version("1.11.0", sha256="0d46c4a7bb8c0b188f1503504a6029384bc2237d82a131e7d1e9e89c3491b1fc") + version("1.8.0", sha256="de657efe9773bea0de76c432cbab34501ac28606fe1b380d6883562ebda3d804") depends_on("python@3.5:3", type=("build", "run")) depends_on("py-applicationinsights", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-azureml-train-automl-client/package.py b/var/spack/repos/builtin/packages/py-azureml-train-automl-client/package.py index bd676ef78c65aa..baabe2705aae7a 100644 --- a/var/spack/repos/builtin/packages/py-azureml-train-automl-client/package.py +++ b/var/spack/repos/builtin/packages/py-azureml-train-automl-client/package.py @@ -15,11 +15,7 @@ class PyAzuremlTrainAutomlClient(PythonPackage): homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/" url = "https://pypi.io/packages/py3/a/azureml_train_automl_client/azureml_train_automl_client-1.11.0-py3-none-any.whl" - version( - "1.23.0", - sha256="ac5f1ce9b04b4e61e2e28e0fa8d2d8e47937a546f624d1cd3aa6bc4f9110ecbe", - expand=False, - ) + version("1.23.0", sha256="ac5f1ce9b04b4e61e2e28e0fa8d2d8e47937a546f624d1cd3aa6bc4f9110ecbe") depends_on("python@3.5:3", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-azureml-train-core/package.py b/var/spack/repos/builtin/packages/py-azureml-train-core/package.py index 55a18dc6254992..d67049ca7dbce8 100644 --- a/var/spack/repos/builtin/packages/py-azureml-train-core/package.py +++ b/var/spack/repos/builtin/packages/py-azureml-train-core/package.py @@ -14,21 +14,9 @@ class PyAzuremlTrainCore(PythonPackage): homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/" url = "https://pypi.io/packages/py3/a/azureml_train_core/azureml_train_core-1.11.0-py3-none-any.whl" - version( - "1.23.0", - sha256="5c384ea0bea3ecd8bf2a1832dda906fd183cf2a03ad3372cb824ce8fa417979e", - expand=False, - ) - version( - "1.11.0", - sha256="1b5fd813d21e75cd522d3a078eba779333980a309bcff6fc72b74ddc8e7a26f1", - expand=False, - ) - version( - "1.8.0", - sha256="5a8d90a08d4477527049d793feb40d07dc32fafc0e4e57b4f0729d3c50b408a2", - expand=False, - ) + version("1.23.0", sha256="5c384ea0bea3ecd8bf2a1832dda906fd183cf2a03ad3372cb824ce8fa417979e") + version("1.11.0", sha256="1b5fd813d21e75cd522d3a078eba779333980a309bcff6fc72b74ddc8e7a26f1") + version("1.8.0", sha256="5a8d90a08d4477527049d793feb40d07dc32fafc0e4e57b4f0729d3c50b408a2") depends_on("python@3.5:3", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-azureml-train-restclients-hyperdrive/package.py b/var/spack/repos/builtin/packages/py-azureml-train-restclients-hyperdrive/package.py index e0ec281e5ec31f..2d0d2186a5d6b7 100644 --- a/var/spack/repos/builtin/packages/py-azureml-train-restclients-hyperdrive/package.py +++ b/var/spack/repos/builtin/packages/py-azureml-train-restclients-hyperdrive/package.py @@ -14,21 +14,9 @@ class PyAzuremlTrainRestclientsHyperdrive(PythonPackage): homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/" url = "https://pypi.io/packages/py3/a/azureml_train_restclients_hyperdrive/azureml_train_restclients_hyperdrive-1.11.0-py3-none-any.whl" - version( - "1.23.0", - sha256="8ecee0cdb92a4a431b778ebcc7f9fe7c5bf63ea4cae9caa687980bc34ae3a42c", - expand=False, - ) - version( - "1.11.0", - sha256="8bc6f9676a9f75e6ee06d201c418ea904c24e854f26cf799b08c259c3ac92d13", - expand=False, - ) - version( - "1.8.0", - sha256="1633c7eb0fd96714f54f72072ccf1c5ee1ef0a8ba52680793f20d27e0fd43c87", - expand=False, - ) + version("1.23.0", sha256="8ecee0cdb92a4a431b778ebcc7f9fe7c5bf63ea4cae9caa687980bc34ae3a42c") + version("1.11.0", sha256="8bc6f9676a9f75e6ee06d201c418ea904c24e854f26cf799b08c259c3ac92d13") + version("1.8.0", sha256="1633c7eb0fd96714f54f72072ccf1c5ee1ef0a8ba52680793f20d27e0fd43c87") depends_on("python@3.5:3", type=("build", "run")) depends_on("py-requests@2.19.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-azureml-train/package.py b/var/spack/repos/builtin/packages/py-azureml-train/package.py index 9c2ae180939497..329387fe06ae3b 100644 --- a/var/spack/repos/builtin/packages/py-azureml-train/package.py +++ b/var/spack/repos/builtin/packages/py-azureml-train/package.py @@ -15,21 +15,9 @@ class PyAzuremlTrain(PythonPackage): homepage = "https://docs.microsoft.com/en-us/azure/machine-learning/service/" url = "https://pypi.io/packages/py3/a/azureml_train/azureml_train-1.11.0-py3-none-any.whl" - version( - "1.23.0", - sha256="e16cb8673d9c9c70966c37c7362ceed3514e9797b0816c0aa449730da3b9c857", - expand=False, - ) - version( - "1.11.0", - sha256="7800a3067979972b976c81082dc509e23c04405129cc1fdef0f9cd7895bcafc7", - expand=False, - ) - version( - "1.8.0", - sha256="124e5b7d8d64bac61db022f305bd31c25e57fdcb4be93eefd4244a04a13deab3", - expand=False, - ) + version("1.23.0", sha256="e16cb8673d9c9c70966c37c7362ceed3514e9797b0816c0aa449730da3b9c857") + version("1.11.0", sha256="7800a3067979972b976c81082dc509e23c04405129cc1fdef0f9cd7895bcafc7") + version("1.8.0", sha256="124e5b7d8d64bac61db022f305bd31c25e57fdcb4be93eefd4244a04a13deab3") depends_on("python@3.5:3", type=("build", "run")) depends_on("py-azureml-train-core@1.23.0:1.23", when="@1.23.0", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-climate/package.py b/var/spack/repos/builtin/packages/py-climate/package.py index 37e1f940696e41..76e69a668a9abb 100644 --- a/var/spack/repos/builtin/packages/py-climate/package.py +++ b/var/spack/repos/builtin/packages/py-climate/package.py @@ -14,10 +14,6 @@ class PyClimate(PythonPackage): license("Apache-2.0") - version( - "0.1.0", - sha256="01026c764b34d8204b8f527a730ef667fa5827fca765993ff1ed3e9dab2c11ae", - expand=False, - ) + version("0.1.0", sha256="01026c764b34d8204b8f527a730ef667fa5827fca765993ff1ed3e9dab2c11ae") depends_on("python@3.7:3", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-dotnetcore2/package.py b/var/spack/repos/builtin/packages/py-dotnetcore2/package.py index 901f10bcc33307..3bc930b0eaa105 100644 --- a/var/spack/repos/builtin/packages/py-dotnetcore2/package.py +++ b/var/spack/repos/builtin/packages/py-dotnetcore2/package.py @@ -17,14 +17,12 @@ class PyDotnetcore2(PythonPackage): version( "2.1.14", sha256="68182f4b704db401b2012c10ed8a19561f8d487063632f8731c2e58960ca9242", - expand=False, url="https://pypi.io/packages/py3/d/dotnetcore2/dotnetcore2-2.1.14-py3-none-macosx_10_9_x86_64.whl", ) elif sys.platform.startswith("linux"): version( "2.1.14", sha256="d8d83ac30c22a0e48a9a881e117d98da17f95c4098cb9500a35e323b8e4ab737", - expand=False, url="https://pypi.io/packages/py3/d/dotnetcore2/dotnetcore2-2.1.14-py3-none-manylinux1_x86_64.whl", ) diff --git a/var/spack/repos/builtin/packages/py-igor2/package.py b/var/spack/repos/builtin/packages/py-igor2/package.py index 6f3e7d47ba7c35..5e03507d7b4937 100644 --- a/var/spack/repos/builtin/packages/py-igor2/package.py +++ b/var/spack/repos/builtin/packages/py-igor2/package.py @@ -15,11 +15,7 @@ class PyIgor2(PythonPackage): license("LGPL-3.0-or-later") - version( - "0.5.3", - sha256="bb7b54a5926ec640e0e9176f46e0dd88ad956fec2d17ba3b0a7687eba82cefee", - expand=False, - ) + version("0.5.3", sha256="bb7b54a5926ec640e0e9176f46e0dd88ad956fec2d17ba3b0a7687eba82cefee") depends_on("python@3.8:3", type=("build", "run")) depends_on("py-numpy@1.25.1:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-installer/package.py b/var/spack/repos/builtin/packages/py-installer/package.py index 7de649a5e91f68..01132b63bbb740 100644 --- a/var/spack/repos/builtin/packages/py-installer/package.py +++ b/var/spack/repos/builtin/packages/py-installer/package.py @@ -17,16 +17,8 @@ class PyInstaller(Package, PythonExtension): ) list_url = "https://pypi.org/simple/installer/" - version( - "0.7.0", - sha256="05d1933f0a5ba7d8d6296bb6d5018e7c94fa473ceb10cf198a92ccea19c27b53", - expand=False, - ) - version( - "0.6.0", - sha256="ae7c62d1d6158b5c096419102ad0d01fdccebf857e784cee57f94165635fe038", - expand=False, - ) + version("0.7.0", sha256="05d1933f0a5ba7d8d6296bb6d5018e7c94fa473ceb10cf198a92ccea19c27b53") + version("0.6.0", sha256="ae7c62d1d6158b5c096419102ad0d01fdccebf857e784cee57f94165635fe038") extends("python") diff --git a/var/spack/repos/builtin/packages/py-intel-openmp/package.py b/var/spack/repos/builtin/packages/py-intel-openmp/package.py index bfb28c441ca9ca..5fdfe9449bbff9 100644 --- a/var/spack/repos/builtin/packages/py-intel-openmp/package.py +++ b/var/spack/repos/builtin/packages/py-intel-openmp/package.py @@ -23,7 +23,6 @@ class PyIntelOpenmp(PythonPackage): "2021.1.2", url="https://pypi.io/packages/py2.py3/i/intel-openmp/intel_openmp-2021.1.2-py2.py3-none-manylinux1_x86_64.whl", sha256="8796797ecae99f39b27065e4a7f1f435e2ca08afba654ca57a77a2717f864dca", - expand=False, ) if sys.platform.startswith("darwin"): @@ -31,5 +30,4 @@ class PyIntelOpenmp(PythonPackage): "2021.1.2", url="https://pypi.io/packages/py2.py3/i/intel-openmp/intel_openmp-2021.1.2-py2.py3-none-macosx_10_15_x86_64.whl", sha256="2af893738b4b06cb0183746f2992169111031340b59c84a0fd4dec1ed66b80f2", - expand=False, ) diff --git a/var/spack/repos/builtin/packages/py-itk/package.py b/var/spack/repos/builtin/packages/py-itk/package.py index b76245a204305d..5c11e97c67438b 100644 --- a/var/spack/repos/builtin/packages/py-itk/package.py +++ b/var/spack/repos/builtin/packages/py-itk/package.py @@ -21,7 +21,6 @@ class PyItk(PythonPackage): "5.1.1-cp38", url="https://pypi.io/packages/cp35/i/itk/itk-5.1.1-cp38-cp38-macosx_10_9_x86_64.whl", sha256="94b09ab9dd59ceaecc456ede2b719a44b8f0d54d92409eede372c6004395ae7b", - expand=False, ) # version 5.1.2 @@ -29,13 +28,11 @@ class PyItk(PythonPackage): "5.1.2-cp38", url="https://pypi.io/packages/cp38/i/itk/itk-5.1.2-cp38-cp38-macosx_10_9_x86_64.whl", sha256="e8dec75b4452bd2ee65beb4901b245fc3a2a2ccc46dfa008ae0b5b757718d458", - expand=False, ) version( "5.1.2-cp39", url="https://pypi.io/packages/cp39/i/itk/itk-5.1.2-cp39-cp39-macosx_10_9_x86_64.whl", sha256="e8dec75b4452bd2ee65beb4901b245fc3a2a2ccc46dfa008ae0b5b757718d458", - expand=False, ) # version 5.3.0 @@ -43,25 +40,21 @@ class PyItk(PythonPackage): "5.3.0-cp38", url="https://pypi.io/packages/cp38/i/itk/itk-5.3.0-cp38-cp38-macosx_10_9_x86_64.whl", sha256="1fbcde6f6612b13d2934722707fd7194b1d5900a655efa191dfc130bbb94df09", - expand=False, ) version( "5.3.0-cp39", url="https://pypi.io/packages/cp39/i/itk/itk-5.3.0-cp39-cp39-macosx_10_9_x86_64.whl", sha256="155581581929dfe834af6c6233a8c83e2ca2b1f52d6c7b2c81f04dc249aab1a5", - expand=False, ) version( "5.3.0-cp310", url="https://pypi.io/packages/cp310/i/itk/itk-5.3.0-cp310-cp310-macosx_10_9_x86_64.whl", sha256="f92ec860173c82eb458764b4b5b771783b690c3aa3a01d15c6f3d008fc2bb493", - expand=False, ) version( "5.3.0-cp311", url="https://pypi.io/packages/cp311/i/itk/itk-5.3.0-cp311-cp311-macosx_10_9_x86_64.whl", sha256="9dcfd9721ff6022e91eb98dc4004d437de2912dfd50d707d1ee72b89c334a3d4", - expand=False, ) elif sys.platform.startswith("linux"): # version 5.1.1 @@ -69,7 +62,6 @@ class PyItk(PythonPackage): "5.1.1-cp38", url="https://pypi.io/packages/cp38/i/itk/itk-5.1.1-cp38-cp38-manylinux1_x86_64.whl", sha256="14cd6c3a25f0d69f45eda74b006eceeaf8e2b2fcbe7c343e49683edf97e0fb14", - expand=False, ) # version 5.1.2 @@ -77,13 +69,11 @@ class PyItk(PythonPackage): "5.1.2-cp38", url="https://pypi.io/packages/cp38/i/itk/itk-5.1.2-cp38-cp38-manylinux1_x86_64.whl", sha256="fe9225ac353116f4000c0a3440bf151200beb4a65deec5b2e626edda5b498f16", - expand=False, ) version( "5.1.2-cp39", url="https://pypi.io/packages/cp39/i/itk/itk-5.1.2-cp39-cp39-manylinux1_x86_64.whl", sha256="5781b74410b7189a825c89d370411595e5e3d5dbb480201907f751f26698df83", - expand=False, ) # version 5.3.0 @@ -91,25 +81,21 @@ class PyItk(PythonPackage): "5.3.0-cp38", url="https://pypi.io/packages/cp38/i/itk/itk-5.3.0-cp38-cp38-manylinux_2_28_x86_64.whl", sha256="d83dc2b0f5d673226ef6eacac012d1da6dd36c6126f2b3cffc7ed62231c29bf2", - expand=False, ) version( "5.3.0-cp39", url="https://pypi.io/packages/cp39/i/itk/itk-5.3.0-cp39-cp39-manylinux_2_28_x86_64.whl", sha256="bcc4449f2df35224cbc26472475d2afeb8a92886a81db950b2305f911bc2a38c", - expand=False, ) version( "5.3.0-cp310", url="https://pypi.io/packages/cp310/i/itk/itk-5.3.0-cp310-cp310-manylinux_2_28_x86_64.whl", sha256="272708ee5ed5d09a519b2e98ac9c130f3146630257506ea440c83501c16f9580", - expand=False, ) version( "5.3.0-cp311", url="https://pypi.io/packages/cp311/i/itk/itk-5.3.0-cp311-cp311-manylinux_2_28_x86_64.whl", sha256="ba8361a8ed1c5462e690ee893f624c0babb7a1072a15609c26790eea717e3f77", - expand=False, ) depends_on("python@3.8.0:3.8", when="@5.1.1-cp38,5.1.2-cp38,5.3.0-cp38", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-jupyterlab-pygments/package.py b/var/spack/repos/builtin/packages/py-jupyterlab-pygments/package.py index a0b96f0c5cbf8c..22905b7252b80e 100644 --- a/var/spack/repos/builtin/packages/py-jupyterlab-pygments/package.py +++ b/var/spack/repos/builtin/packages/py-jupyterlab-pygments/package.py @@ -18,21 +18,9 @@ class PyJupyterlabPygments(PythonPackage): # -> py-jupyter-server -> py-nbconvert # Reported here: https://github.com/jupyterlab/jupyterlab_pygments/issues/23 - version( - "0.2.2", - sha256="2405800db07c9f770863bcf8049a529c3dd4d3e28536638bd7c1c01d2748309f", - expand=False, - ) - version( - "0.1.2", - sha256="abfb880fd1561987efaefcb2d2ac75145d2a5d0139b1876d5be806e32f630008", - expand=False, - ) - version( - "0.1.1", - sha256="c9535e5999f29bff90bd0fa423717dcaf247b71fad505d66b17d3217e9021fc5", - expand=False, - ) + version("0.2.2", sha256="2405800db07c9f770863bcf8049a529c3dd4d3e28536638bd7c1c01d2748309f") + version("0.1.2", sha256="abfb880fd1561987efaefcb2d2ac75145d2a5d0139b1876d5be806e32f630008") + version("0.1.1", sha256="c9535e5999f29bff90bd0fa423717dcaf247b71fad505d66b17d3217e9021fc5") depends_on("python@3.7:", when="@0.2.2:", type=("build", "run")) depends_on("py-pygments@2.4.1:2", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-jupyterlab-widgets/package.py b/var/spack/repos/builtin/packages/py-jupyterlab-widgets/package.py index 5aada203f6e55f..9de987a0f7e0cf 100644 --- a/var/spack/repos/builtin/packages/py-jupyterlab-widgets/package.py +++ b/var/spack/repos/builtin/packages/py-jupyterlab-widgets/package.py @@ -16,21 +16,9 @@ class PyJupyterlabWidgets(PythonPackage): license("BSD-3-Clause") - version( - "3.0.3", - sha256="6aa1bc0045470d54d76b9c0b7609a8f8f0087573bae25700a370c11f82cb38c8", - expand=False, - ) - version( - "1.1.0", - sha256="c2a9bd3789f120f64d73268c066ed3b000c56bc1dda217be5cdc43e7b4ebad3f", - expand=False, - ) - version( - "1.0.2", - sha256="f5d9efface8ec62941173ba1cffb2edd0ecddc801c11ae2931e30b50492eb8f7", - expand=False, - ) + version("3.0.3", sha256="6aa1bc0045470d54d76b9c0b7609a8f8f0087573bae25700a370c11f82cb38c8") + version("1.1.0", sha256="c2a9bd3789f120f64d73268c066ed3b000c56bc1dda217be5cdc43e7b4ebad3f") + version("1.0.2", sha256="f5d9efface8ec62941173ba1cffb2edd0ecddc801c11ae2931e30b50492eb8f7") depends_on("python@3.6:", type=("build", "run")) depends_on("python@3.7:", when="@3.0.3:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-lightning-api-access/package.py b/var/spack/repos/builtin/packages/py-lightning-api-access/package.py index a61f0f87a516ed..75c6533d7f7fa2 100644 --- a/var/spack/repos/builtin/packages/py-lightning-api-access/package.py +++ b/var/spack/repos/builtin/packages/py-lightning-api-access/package.py @@ -15,8 +15,4 @@ class PyLightningApiAccess(PythonPackage): url = "https://files.pythonhosted.org/packages/py3/l/lightning-api-access/lightning_api_access-0.0.5-py3-none-any.whl" list_url = "https://pypi.org/simple/lightning-api-access/" - version( - "0.0.5", - sha256="08657fee636377534332df92e0bee893d46cb877f9642cba09ce560aed95fd40", - expand=False, - ) + version("0.0.5", sha256="08657fee636377534332df92e0bee893d46cb877f9642cba09ce560aed95fd40") diff --git a/var/spack/repos/builtin/packages/py-nvidia-dali/package.py b/var/spack/repos/builtin/packages/py-nvidia-dali/package.py index fb844e65723116..14522f2932f308 100644 --- a/var/spack/repos/builtin/packages/py-nvidia-dali/package.py +++ b/var/spack/repos/builtin/packages/py-nvidia-dali/package.py @@ -26,148 +26,124 @@ class PyNvidiaDali(PythonPackage): version( "1.27.0-cuda120", sha256="d8def4361bd9f888ddac3e2316b9eb89ee216f280c0973be12b8e1061d1ff108", - expand=False, preferred=True, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda120/nvidia_dali_cuda120-1.27.0-8625314-py3-none-manylinux2014_x86_64.whl", ) version( "1.27.0-cuda110", sha256="9edf5097787cb1bbbbabc291d814bf367c5f5a986cffa101205fe31c86418a66", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda110/nvidia_dali_cuda110-1.27.0-8625303-py3-none-manylinux2014_x86_64.whl", ) version( "1.26.0-cuda120", sha256="784dbad4e4e1399b4d2f51bfa1a01e3e23f6fb37e8f327cf136df9c1b5fb8470", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda120/nvidia_dali_cuda120-1.26.0-8269288-py3-none-manylinux2014_x86_64.whl", ) version( "1.26.0-cuda110", sha256="545b56c104def627d6c2ead747875eaadba2e12610850b4480f718dc3e8a9177", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda110/nvidia_dali_cuda110-1.26.0-8269290-py3-none-manylinux2014_x86_64.whl", ) version( "1.25.0-cuda120", sha256="72591f0db9fe6dd82035b2b6cc41aed478e48656ba99e81344a9cb59123710aa", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda120/nvidia_dali_cuda120-1.25.0-7922358-py3-none-manylinux2014_x86_64.whl", ) version( "1.25.0-cuda110", sha256="9901cfa0f67674e5d2b77dbd90d3506b42390d12fc5996593fd395c0370ea46f", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda110/nvidia_dali_cuda110-1.25.0-7922357-py3-none-manylinux2014_x86_64.whl", ) version( "1.24.0-cuda120", sha256="f280fba3e917a0c47e705fa488c6d53e5c50629b3664fe6cf95d0913213f3b13", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda120/nvidia_dali_cuda120-1.24.0-7582307-py3-none-manylinux2014_x86_64.whl", ) version( "1.24.0-cuda110", sha256="5988317a5f17fdefa9254bebb6f8dc344c2b0bd958badf6688172e537d324d60", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda110/nvidia_dali_cuda110-1.24.0-7582302-py3-none-manylinux2014_x86_64.whl", ) version( "1.23.0-cuda120", sha256="d10a14074df6cdd38adb1181785372ab8ace677323fdf62d2bc07e28a8469ef0", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda120/nvidia_dali_cuda120-1.23.0-7355174-py3-none-manylinux2014_x86_64.whl", ) version( "1.23.0-cuda110", sha256="ede8245d3f7df181abdc5c5109a79be1ba9b6d888ca9f693f62db2c95efad267", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda110/nvidia_dali_cuda110-1.23.0-7355173-py3-none-manylinux2014_x86_64.whl", ) version( "1.22.0-cuda120", sha256="6cbd9e3139d4c203f61f960f5ad1fc4b461621a60b7fa7ef0ba6d77c780b35f4", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda120/nvidia_dali_cuda120-1.22.0-6971317-py3-none-manylinux2014_x86_64.whl", ) version( "1.22.0-cuda110", sha256="8c3ccc7eddc1f63d3f858448c5c384ab129273e0c140e091aca2a98d48c5a80c", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda110/nvidia_dali_cuda110-1.22.0-6988993-py3-none-manylinux2014_x86_64.whl", ) elif "linux" in system and arch == "aarch64": version( "1.27.0-cuda120", sha256="57700656c4dd411497d3f8c690d409c71d6a8e9c2cc5e70499098dd0a01fd56b", - expand=False, preferred=True, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda120/nvidia_dali_cuda120-1.27.0-8625314-py3-none-manylinux2014_aarch64.whl", ) version( "1.27.0-cuda110", sha256="8c28429f979c3fcb45f40f08efdae4b6ed3f4743634d41722a6c94d18c4cd995", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda110/nvidia_dali_cuda110-1.27.0-8625303-py3-none-manylinux2014_aarch64.whl", ) version( "1.26.0-cuda120", sha256="9672969cab3d1a009b9e2bf3b139aec06af46f67a45a128098f8279736848079", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda120/nvidia_dali_cuda120-1.26.0-8269288-py3-none-manylinux2014_aarch64.whl", ) version( "1.26.0-cuda110", sha256="e90fcb896cc0ee22a0fa5476a8fde8227412683796367334636c3f844e208975", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda110/nvidia_dali_cuda110-1.26.0-8269290-py3-none-manylinux2014_aarch64.whl", ) version( "1.25.0-cuda120", sha256="f497ce8bf0df83e5c72b393a621d910bc712c6cdc4bbba6db50cf1cbc47d881b", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda120/nvidia_dali_cuda120-1.25.0-7922358-py3-none-manylinux2014_aarch64.whl", ) version( "1.25.0-cuda110", sha256="2eb94223ac980658606af6a56720ce963f4fd877c1291d08517f82ce435b4155", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda110/nvidia_dali_cuda110-1.25.0-7922357-py3-none-manylinux2014_aarch64.whl", ) version( "1.24.0-cuda120", sha256="2a7fab1d94b23edde1cee5b93918aca6b86417e3ffb4544adcb9961c73375014", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda120/nvidia_dali_cuda120-1.24.0-7582307-py3-none-manylinux2014_aarch64.whl", ) version( "1.24.0-cuda110", sha256="84711689dacc787dfd90bfc66da7ce4b1884a006b763109e9ecf0b07aefacbc2", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda110/nvidia_dali_cuda110-1.24.0-7582302-py3-none-manylinux2014_aarch64.whl", ) version( "1.23.0-cuda120", sha256="911d16b40c95b8cc700d3c96b40d3144953e7ffbb191ec22a75990c76cf638c3", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda120/nvidia_dali_cuda120-1.23.0-7355174-py3-none-manylinux2014_aarch64.whl", ) version( "1.23.0-cuda110", sha256="ca58f2990825d18736c872f48d3f5e5dbda8de136ab6339f1f9f6984d7b3dffe", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda110/nvidia_dali_cuda110-1.23.0-7355173-py3-none-manylinux2014_aarch64.whl", ) version( "1.22.0-cuda120", sha256="5e496eebeba3bc1cddd18e081c8c45121283478931cbe9b64912d2394d0942ca", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda120/nvidia_dali_cuda120-1.22.0-6971317-py3-none-manylinux2014_aarch64.whl", ) version( "1.22.0-cuda110", sha256="0da47629fec01abf418fda0eeb393998820e40f6fae6b4c7d3e625aa4cdba6bd", - expand=False, url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda110/nvidia_dali_cuda110-1.22.0-6988993-py3-none-manylinux2014_aarch64.whl", ) diff --git a/var/spack/repos/builtin/packages/py-opencensus-context/package.py b/var/spack/repos/builtin/packages/py-opencensus-context/package.py index 4364138728f0b4..dc9a0f28d398ad 100644 --- a/var/spack/repos/builtin/packages/py-opencensus-context/package.py +++ b/var/spack/repos/builtin/packages/py-opencensus-context/package.py @@ -15,8 +15,4 @@ class PyOpencensusContext(PythonPackage): license("Apache-2.0") - version( - "0.1.1", - sha256="1a3fdf6bec537031efcc93d51b04f1edee5201f8c9a0c85681d63308b76f5702", - expand=False, - ) + version("0.1.1", sha256="1a3fdf6bec537031efcc93d51b04f1edee5201f8c9a0c85681d63308b76f5702") diff --git a/var/spack/repos/builtin/packages/py-pip/package.py b/var/spack/repos/builtin/packages/py-pip/package.py index de4bff43cccd38..e8a415b4ce4d7a 100644 --- a/var/spack/repos/builtin/packages/py-pip/package.py +++ b/var/spack/repos/builtin/packages/py-pip/package.py @@ -24,71 +24,19 @@ class PyPip(Package, PythonExtension): license("MIT") - version( - "23.1.2", - sha256="3ef6ac33239e4027d9a5598a381b9d30880a1477e50039db2eac6e8a8f6d1b18", - expand=False, - ) - version( - "23.0", - sha256="b5f88adff801f5ef052bcdef3daa31b55eb67b0fccd6d0106c206fa248e0463c", - expand=False, - ) - version( - "22.2.2", - sha256="b61a374b5bc40a6e982426aede40c9b5a08ff20e640f5b56977f4f91fed1e39a", - expand=False, - ) - version( - "22.1.2", - sha256="a3edacb89022ef5258bf61852728bf866632a394da837ca49eb4303635835f17", - expand=False, - ) - version( - "21.3.1", - sha256="deaf32dcd9ab821e359cd8330786bcd077604b5c5730c0b096eda46f95c24a2d", - expand=False, - ) - version( - "21.1.2", - sha256="f8ea1baa693b61c8ad1c1d8715e59ab2b93cd3c4769bacab84afcc4279e7a70e", - expand=False, - ) - version( - "20.2", - sha256="d75f1fc98262dabf74656245c509213a5d0f52137e40e8f8ed5cc256ddd02923", - expand=False, - ) - version( - "19.3", - sha256="e100a7eccf085f0720b4478d3bb838e1c179b1e128ec01c0403f84e86e0e2dfb", - expand=False, - ) - version( - "19.1.1", - sha256="993134f0475471b91452ca029d4390dc8f298ac63a712814f101cd1b6db46676", - expand=False, - ) - version( - "19.0.3", - sha256="bd812612bbd8ba84159d9ddc0266b7fbce712fc9bc98c82dee5750546ec8ec64", - expand=False, - ) - version( - "18.1", - sha256="7909d0a0932e88ea53a7014dfd14522ffef91a464daaaf5c573343852ef98550", - expand=False, - ) - version( - "10.0.1", - sha256="717cdffb2833be8409433a93746744b59505f42146e8d37de6c62b430e25d6d7", - expand=False, - ) - version( - "9.0.1", - sha256="690b762c0a8460c303c089d5d0be034fb15a5ea2b75bdf565f40421f542fefb0", - expand=False, - ) + version("23.1.2", sha256="3ef6ac33239e4027d9a5598a381b9d30880a1477e50039db2eac6e8a8f6d1b18") + version("23.0", sha256="b5f88adff801f5ef052bcdef3daa31b55eb67b0fccd6d0106c206fa248e0463c") + version("22.2.2", sha256="b61a374b5bc40a6e982426aede40c9b5a08ff20e640f5b56977f4f91fed1e39a") + version("22.1.2", sha256="a3edacb89022ef5258bf61852728bf866632a394da837ca49eb4303635835f17") + version("21.3.1", sha256="deaf32dcd9ab821e359cd8330786bcd077604b5c5730c0b096eda46f95c24a2d") + version("21.1.2", sha256="f8ea1baa693b61c8ad1c1d8715e59ab2b93cd3c4769bacab84afcc4279e7a70e") + version("20.2", sha256="d75f1fc98262dabf74656245c509213a5d0f52137e40e8f8ed5cc256ddd02923") + version("19.3", sha256="e100a7eccf085f0720b4478d3bb838e1c179b1e128ec01c0403f84e86e0e2dfb") + version("19.1.1", sha256="993134f0475471b91452ca029d4390dc8f298ac63a712814f101cd1b6db46676") + version("19.0.3", sha256="bd812612bbd8ba84159d9ddc0266b7fbce712fc9bc98c82dee5750546ec8ec64") + version("18.1", sha256="7909d0a0932e88ea53a7014dfd14522ffef91a464daaaf5c573343852ef98550") + version("10.0.1", sha256="717cdffb2833be8409433a93746744b59505f42146e8d37de6c62b430e25d6d7") + version("9.0.1", sha256="690b762c0a8460c303c089d5d0be034fb15a5ea2b75bdf565f40421f542fefb0") extends("python") depends_on("python@3.7:", when="@22:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-setuptools/package.py b/var/spack/repos/builtin/packages/py-setuptools/package.py index f38aca364e1abc..bdfc00a9e15d8d 100644 --- a/var/spack/repos/builtin/packages/py-setuptools/package.py +++ b/var/spack/repos/builtin/packages/py-setuptools/package.py @@ -19,201 +19,45 @@ class PySetuptools(Package, PythonExtension): # Requires railroad skip_modules = ["setuptools._vendor", "pkg_resources._vendor"] - version( - "69.2.0", - sha256="c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c", - expand=False, - ) - version( - "69.1.1", - sha256="02fa291a0471b3a18b2b2481ed902af520c69e8ae0919c13da936542754b4c56", - expand=False, - ) - version( - "69.0.3", - sha256="385eb4edd9c9d5c17540511303e39a147ce2fc04bc55289c322b9e5904fe2c05", - expand=False, - ) - version( - "68.2.2", - sha256="b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a", - expand=False, - ) - 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("69.2.0", sha256="c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c") + version("69.1.1", sha256="02fa291a0471b3a18b2b2481ed902af520c69e8ae0919c13da936542754b4c56") + version("69.0.3", sha256="385eb4edd9c9d5c17540511303e39a147ce2fc04bc55289c322b9e5904fe2c05") + version("68.2.2", sha256="b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a") + version("68.0.0", sha256="11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f") + version("67.6.0", sha256="b78aaa36f6b90a074c1fa651168723acbf45d14cb1196b6f02c0fd07f17623b2") + version("65.5.0", sha256="f62ea9da9ed6289bfe868cd6845968a2c854d1427f8548d52cae02a42b4f0356") + version("65.0.0", sha256="fe9a97f68b064a6ddd4bacfb0b4b93a4c65a556d97ce906255540439d0c35cef") + version("64.0.0", sha256="63f463b90ff5e0a1422010100268fd688e15c44ae0798659013c8412963e15e4") + version("63.4.3", sha256="7f61f7e82647f77d4118eeaf43d64cbcd4d87e38af9611694d4866eb070cd10d") + version("63.0.0", sha256="045aec56a3eee5c82373a70e02db8b6da9a10f7faf61ff89a14ab66c738ed370") + version("62.6.0", sha256="c1848f654aea2e3526d17fc3ce6aeaa5e7e24e66e645b5be2171f3f6b4e5a178") + version("62.4.0", sha256="5a844ad6e190dccc67d6d7411d119c5152ce01f7c76be4d8a1eaa314501bba77") + version("62.3.2", sha256="68e45d17c9281ba25dc0104eadd2647172b3472d9e01f911efa57965e8d51a36") + version("59.4.0", sha256="feb5ff19b354cde9efd2344ef6d5e79880ce4be643037641b49508bbb850d060") + version("58.2.0", sha256="2551203ae6955b9876741a26ab3e767bb3242dafe86a32a749ea0d78b6792f11") + version("57.4.0", sha256="a49230977aa6cfb9d933614d2f7b79036e9945c4cdd7583163f4e920b83418d6") + version("57.1.0", sha256="ddae4c1b9220daf1e32ba9d4e3714df6019c5b583755559be84ff8199f7e1fe3") + version("51.0.0", sha256="8c177936215945c9a37ef809ada0fab365191952f7a123618432bbfac353c529") + version("50.3.2", sha256="2c242a0856fbad7efbe560df4a7add9324f340cf48df43651e9604924466794a") + version("50.1.0", sha256="4537c77e6e7dc170081f8547564551d4ff4e4999717434e1257600bbd3a23296") + version("49.6.0", sha256="4dd5bb0a0a0cff77b46ca5dd3a84857ee48c83e8223886b556613c724994073f") + version("49.2.0", sha256="272c7f48f5cddc5af5901f4265274c421c7eede5c8bc454ac2903d3f8fc365e9") + version("46.1.3", sha256="4fe404eec2738c20ab5841fa2d791902d2a645f32318a7850ef26f8d7215a8ee") + version("44.1.1", sha256="27a714c09253134e60a6fa68130f78c7037e5562c4f21f8f318f2ae900d152d5") + version("44.1.0", sha256="992728077ca19db6598072414fb83e0a284aca1253aaf2e24bb1e55ee6db1a30") + version("43.0.0", sha256="a67faa51519ef28cd8261aff0e221b6e4c370f8fb8bada8aa3e7ad8945199963") + version("41.4.0", sha256="8d01f7ee4191d9fdcd9cc5796f75199deccb25b154eba82d44d6a042cf873670") + version("41.3.0", sha256="e9832acd9be6f3174f4c34b40e7d913a146727920cbef6465c1c1bd2d21a4ec4") + version("41.0.1", sha256="c7769ce668c7a333d84e17fe8b524b1c45e7ee9f7908ad0a73e1eda7e6a5aebf") + version("41.0.0", sha256="e67486071cd5cdeba783bd0b64f5f30784ff855b35071c8670551fd7fc52d4a1") + version("40.8.0", sha256="e8496c0079f3ac30052ffe69b679bd876c5265686127a3159cfa415669b7f9ab") + version("40.4.3", sha256="ce4137d58b444bac11a31d4e0c1805c69d89e8ed4e91fde1999674ecc2f6f9ff") + version("40.2.0", sha256="ea3796a48a207b46ea36a9d26de4d0cc87c953a683a7b314ea65d666930ea8e6") + version("39.2.0", sha256="8fca9275c89964f13da985c3656cb00ba029d7f3916b37990927ffdf264e7926") + version("39.0.1", sha256="8010754433e3211b9cdbbf784b50f30e80bf40fc6b05eb5f865fab83300599b8") + version("25.2.0", sha256="2845247c359bb91097ccf8f6be8a69edfa44847f3d2d5def39aa43c3d7f615ca") + version("20.7.0", sha256="8917a52aa3a389893221b173a89dae0471022d32bff3ebc31a1072988aa8039d") + version("20.6.7", sha256="9982ee4d279a2541dc1a7efee994ff9c535cfc05315e121e09df7f93da48c442") extends("python") diff --git a/var/spack/repos/builtin/packages/py-shiboken2/package.py b/var/spack/repos/builtin/packages/py-shiboken2/package.py index c29d1dc8497440..4f50d92b07a2be 100644 --- a/var/spack/repos/builtin/packages/py-shiboken2/package.py +++ b/var/spack/repos/builtin/packages/py-shiboken2/package.py @@ -18,14 +18,12 @@ class PyShiboken2(PythonPackage): "5.15.2", url="https://files.pythonhosted.org/packages/cp35.cp36.cp37.cp38.cp39/s/shiboken2/shiboken2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-manylinux1_x86_64.whl", sha256="4aee1b91e339578f9831e824ce2a1ec3ba3a463f41fda8946b4547c7eb3cba86", - expand=False, ) elif sys.platform == "darwin": version( "5.15.2", url="https://files.pythonhosted.org/packages/cp35.cp36.cp37.cp38.cp39/s/shiboken2/shiboken2-5.15.2-5.15.2-cp35.cp36.cp37.cp38.cp39-abi3-macosx_10_13_intel.whl", sha256="edc12a4df2b5be7ca1e762ab94e331ba9e2fbfe3932c20378d8aa3f73f90e0af", - expand=False, ) depends_on("python@3.5:3.9", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-tensorboard-plugin-wit/package.py b/var/spack/repos/builtin/packages/py-tensorboard-plugin-wit/package.py index cb0fd3de571bd8..df82cd896020a4 100644 --- a/var/spack/repos/builtin/packages/py-tensorboard-plugin-wit/package.py +++ b/var/spack/repos/builtin/packages/py-tensorboard-plugin-wit/package.py @@ -25,21 +25,9 @@ class PyTensorboardPluginWit(PythonPackage): license("Apache-2.0") - version( - "1.8.1", - sha256="ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe", - expand=False, - ) - version( - "1.8.0", - sha256="2a80d1c551d741e99b2f197bb915d8a133e24adb8da1732b840041860f91183a", - expand=False, - ) - version( - "1.7.0", - sha256="ee775f04821185c90d9a0e9c56970ee43d7c41403beb6629385b39517129685b", - expand=False, - ) + version("1.8.1", sha256="ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe") + version("1.8.0", sha256="2a80d1c551d741e99b2f197bb915d8a133e24adb8da1732b840041860f91183a") + version("1.7.0", sha256="ee775f04821185c90d9a0e9c56970ee43d7c41403beb6629385b39517129685b") depends_on("py-setuptools@36.2.0:", type="build") depends_on("python@3", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-tensorboard/package.py b/var/spack/repos/builtin/packages/py-tensorboard/package.py index 9f39ece8c635d3..b77439185c86d8 100644 --- a/var/spack/repos/builtin/packages/py-tensorboard/package.py +++ b/var/spack/repos/builtin/packages/py-tensorboard/package.py @@ -21,146 +21,34 @@ class PyTensorboard(PythonPackage): license("Apache-2.0") - version( - "2.16.2", - sha256="9f2b4e7dad86667615c0e5cd072f1ea8403fc032a299f0072d6f74855775cc45", - expand=False, - ) - version( - "2.16.1", - sha256="928b62567911a8eeb2ebeb7482a9e4599b35f6713a6f2c56655259c18a139569", - expand=False, - ) - version( - "2.16.0", - sha256="263b909a2009cb3a79daa6abe64c1785cc317c25a54e4db2fecb6429ffc54c58", - expand=False, - ) - version( - "2.15.2", - sha256="a6f6443728064d962caea6d34653e220e34ef8df764cb06a8212c17e1a8f0622", - expand=False, - ) - version( - "2.15.1", - sha256="c46c1d1cf13a458c429868a78b2531d8ff5f682058d69ec0840b0bc7a38f1c0f", - expand=False, - ) - version( - "2.15.0", - sha256="c05b4d02a3a9fd4bd6c25265087d52b49b790a871ddf98f4fb32fe97cbbc7ad0", - expand=False, - ) - version( - "2.14.1", - sha256="3db108fb58f023b6439880e177743c5f1e703e9eeb5fb7d597871f949f85fd58", - expand=False, - ) - version( - "2.14.0", - sha256="3667f9745d99280836ad673022362c840f60ed8fefd5a3e30bf071f5a8fd0017", - expand=False, - ) - version( - "2.13.0", - sha256="ab69961ebddbddc83f5fa2ff9233572bdad5b883778c35e4fe94bf1798bd8481", - expand=False, - ) - version( - "2.12.3", - sha256="b4a69366784bc347e02fbe7d847e01896a649ca52f8948a11005e205dcf724fb", - expand=False, - ) - version( - "2.12.2", - sha256="811ab0d27a139445836db9fd4f974424602c3dce12379364d379bcba7c783a68", - expand=False, - ) - version( - "2.12.1", - sha256="58f1c2a25b4829b9c48d2b1ec951dedc9325dcd1ea4b0f601d241d2887d0ed65", - expand=False, - ) - version( - "2.12.0", - sha256="3cbdc32448d7a28dc1bf0b1754760c08b8e0e2e37c451027ebd5ff4896613012", - expand=False, - ) - version( - "2.11.2", - sha256="cbaa2210c375f3af1509f8571360a19ccc3ded1d9641533414874b5deca47e89", - expand=False, - ) - version( - "2.11.1", - sha256="0c7529f3f43691e8cc2ece8e564c2e103c51ade317c6af626d415239b5088018", - expand=False, - ) - version( - "2.11.0", - sha256="a0e592ee87962e17af3f0dce7faae3fbbd239030159e9e625cce810b7e35c53d", - expand=False, - ) - version( - "2.10.1", - sha256="fb9222c1750e2fa35ef170d998a1e229f626eeced3004494a8849c88c15d8c1c", - expand=False, - ) - version( - "2.10.0", - sha256="76c91a5e8959cd2208cc32cb17a0cb002badabb66a06ac2af02a7810f49a59e3", - expand=False, - ) - version( - "2.9.1", - sha256="baa727f791776f9e5841d347127720ceed4bbd59c36b40604b95fb2ae6029276", - expand=False, - ) - version( - "2.9.0", - sha256="bd78211076dca5efa27260afacfaa96cd05c7db12a6c09cc76a1d6b2987ca621", - expand=False, - ) - version( - "2.8.0", - sha256="65a338e4424e9079f2604923bdbe301792adce2ace1be68da6b3ddf005170def", - expand=False, - ) - version( - "2.7.0", - sha256="239f78a4a8dff200ce585a030c787773a8c1184d5c159252f5f85bac4e3c3b38", - expand=False, - ) - version( - "2.6.0", - sha256="f7dac4cdfb52d14c9e3f74585ce2aaf8e6203620a864e51faf84988b09f7bbdb", - expand=False, - ) - version( - "2.5.0", - sha256="e167460085b6528956b33bab1c970c989cdce47a6616273880733f5e7bde452e", - expand=False, - ) - version( - "2.4.1", - sha256="7b8c53c396069b618f6f276ec94fc45d17e3282d668979216e5d30be472115e4", - expand=False, - ) - version( - "2.4.0", - sha256="cde0c663a85609441cb4d624e7255fd8e2b6b1d679645095aac8a234a2812738", - expand=False, - ) - version( - "2.3.0", - sha256="d34609ed83ff01dd5b49ef81031cfc9c166bba0dabd60197024f14df5e8eae5e", - expand=False, - ) - version( - "2.2.0", - sha256="bb6bbc75ad2d8511ba6cbd49e4417276979f49866e11841e83da8298727dbaed", - expand=False, - ) + version("2.16.2", sha256="9f2b4e7dad86667615c0e5cd072f1ea8403fc032a299f0072d6f74855775cc45") + version("2.16.1", sha256="928b62567911a8eeb2ebeb7482a9e4599b35f6713a6f2c56655259c18a139569") + version("2.16.0", sha256="263b909a2009cb3a79daa6abe64c1785cc317c25a54e4db2fecb6429ffc54c58") + version("2.15.2", sha256="a6f6443728064d962caea6d34653e220e34ef8df764cb06a8212c17e1a8f0622") + version("2.15.1", sha256="c46c1d1cf13a458c429868a78b2531d8ff5f682058d69ec0840b0bc7a38f1c0f") + version("2.15.0", sha256="c05b4d02a3a9fd4bd6c25265087d52b49b790a871ddf98f4fb32fe97cbbc7ad0") + version("2.14.1", sha256="3db108fb58f023b6439880e177743c5f1e703e9eeb5fb7d597871f949f85fd58") + version("2.14.0", sha256="3667f9745d99280836ad673022362c840f60ed8fefd5a3e30bf071f5a8fd0017") + version("2.13.0", sha256="ab69961ebddbddc83f5fa2ff9233572bdad5b883778c35e4fe94bf1798bd8481") + version("2.12.3", sha256="b4a69366784bc347e02fbe7d847e01896a649ca52f8948a11005e205dcf724fb") + version("2.12.2", sha256="811ab0d27a139445836db9fd4f974424602c3dce12379364d379bcba7c783a68") + version("2.12.1", sha256="58f1c2a25b4829b9c48d2b1ec951dedc9325dcd1ea4b0f601d241d2887d0ed65") + version("2.12.0", sha256="3cbdc32448d7a28dc1bf0b1754760c08b8e0e2e37c451027ebd5ff4896613012") + version("2.11.2", sha256="cbaa2210c375f3af1509f8571360a19ccc3ded1d9641533414874b5deca47e89") + version("2.11.1", sha256="0c7529f3f43691e8cc2ece8e564c2e103c51ade317c6af626d415239b5088018") + version("2.11.0", sha256="a0e592ee87962e17af3f0dce7faae3fbbd239030159e9e625cce810b7e35c53d") + version("2.10.1", sha256="fb9222c1750e2fa35ef170d998a1e229f626eeced3004494a8849c88c15d8c1c") + version("2.10.0", sha256="76c91a5e8959cd2208cc32cb17a0cb002badabb66a06ac2af02a7810f49a59e3") + version("2.9.1", sha256="baa727f791776f9e5841d347127720ceed4bbd59c36b40604b95fb2ae6029276") + version("2.9.0", sha256="bd78211076dca5efa27260afacfaa96cd05c7db12a6c09cc76a1d6b2987ca621") + version("2.8.0", sha256="65a338e4424e9079f2604923bdbe301792adce2ace1be68da6b3ddf005170def") + version("2.7.0", sha256="239f78a4a8dff200ce585a030c787773a8c1184d5c159252f5f85bac4e3c3b38") + version("2.6.0", sha256="f7dac4cdfb52d14c9e3f74585ce2aaf8e6203620a864e51faf84988b09f7bbdb") + version("2.5.0", sha256="e167460085b6528956b33bab1c970c989cdce47a6616273880733f5e7bde452e") + version("2.4.1", sha256="7b8c53c396069b618f6f276ec94fc45d17e3282d668979216e5d30be472115e4") + version("2.4.0", sha256="cde0c663a85609441cb4d624e7255fd8e2b6b1d679645095aac8a234a2812738") + version("2.3.0", sha256="d34609ed83ff01dd5b49ef81031cfc9c166bba0dabd60197024f14df5e8eae5e") + version("2.2.0", sha256="bb6bbc75ad2d8511ba6cbd49e4417276979f49866e11841e83da8298727dbaed") depends_on("python@3.9:", type=("build", "run"), when="@2.14:") depends_on("python@3.8:", type=("build", "run"), when="@2.12:") diff --git a/var/spack/repos/builtin/packages/py-thop/package.py b/var/spack/repos/builtin/packages/py-thop/package.py index d45ef6b0152be2..7e74efa8b85991 100644 --- a/var/spack/repos/builtin/packages/py-thop/package.py +++ b/var/spack/repos/builtin/packages/py-thop/package.py @@ -18,7 +18,6 @@ class PyThop(PythonPackage): version( "0.1.1.post2209072238", sha256="01473c225231927d2ad718351f78ebf7cffe6af3bed464c4f1ba1ef0f7cdda27", - expand=False, ) depends_on("py-torch", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-tuswsgi/package.py b/var/spack/repos/builtin/packages/py-tuswsgi/package.py index 5efbb80603270f..066f8c7e03fede 100644 --- a/var/spack/repos/builtin/packages/py-tuswsgi/package.py +++ b/var/spack/repos/builtin/packages/py-tuswsgi/package.py @@ -15,11 +15,7 @@ class PyTuswsgi(PythonPackage): license("MIT") - version( - "0.5.4", - sha256="f681a386254a161a97301a67c01ee7da77419c007d9bc43dbd48d5a987491a5e", - expand=False, - ) + version("0.5.4", sha256="f681a386254a161a97301a67c01ee7da77419c007d9bc43dbd48d5a987491a5e") depends_on("python@3.6:", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-wheel/package.py b/var/spack/repos/builtin/packages/py-wheel/package.py index 07798585efdfe4..38e4c3062d690a 100644 --- a/var/spack/repos/builtin/packages/py-wheel/package.py +++ b/var/spack/repos/builtin/packages/py-wheel/package.py @@ -13,66 +13,18 @@ class PyWheel(Package, PythonExtension): 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", - expand=False, - ) - version( - "0.37.0", - sha256="21014b2bd93c6d0034b6ba5d35e4eb284340e09d63c59aef6fc14b0f346146fd", - expand=False, - ) - version( - "0.36.2", - sha256="78b5b185f0e5763c26ca1e324373aadd49182ca90e825f7853f4b2509215dc0e", - expand=False, - ) - version( - "0.35.1", - sha256="497add53525d16c173c2c1c733b8f655510e909ea78cc0e29d374243544b77a2", - expand=False, - ) - version( - "0.34.2", - sha256="df277cb51e61359aba502208d680f90c0493adec6f0e848af94948778aed386e", - expand=False, - ) - version( - "0.33.6", - sha256="f4da1763d3becf2e2cd92a14a7c920f0f00eca30fdde9ea992c836685b9faf28", - expand=False, - ) - version( - "0.33.4", - sha256="5e79117472686ac0c4aef5bad5172ea73a1c2d1646b808c35926bd26bdfb0c08", - expand=False, - ) - version( - "0.33.1", - sha256="8eb4a788b3aec8abf5ff68d4165441bc57420c9f64ca5f471f58c3969fe08668", - expand=False, - ) - version( - "0.32.3", - sha256="1e53cdb3f808d5ccd0df57f964263752aa74ea7359526d3da6c02114ec1e1d44", - expand=False, - ) - version( - "0.29.0", - sha256="ea8033fc9905804e652f75474d33410a07404c1a78dd3c949a66863bd1050ebd", - expand=False, - ) - version( - "0.26.0", - sha256="c92ed3a2dd87c54a9e20024fb0a206fe591c352c745fff21e8f8c6cdac2086ea", - expand=False, - ) + version("0.41.2", sha256="75909db2664838d015e3d9139004ee16711748a52c8f336b52882266540215d8") + version("0.37.1", sha256="4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a") + version("0.37.0", sha256="21014b2bd93c6d0034b6ba5d35e4eb284340e09d63c59aef6fc14b0f346146fd") + version("0.36.2", sha256="78b5b185f0e5763c26ca1e324373aadd49182ca90e825f7853f4b2509215dc0e") + version("0.35.1", sha256="497add53525d16c173c2c1c733b8f655510e909ea78cc0e29d374243544b77a2") + version("0.34.2", sha256="df277cb51e61359aba502208d680f90c0493adec6f0e848af94948778aed386e") + version("0.33.6", sha256="f4da1763d3becf2e2cd92a14a7c920f0f00eca30fdde9ea992c836685b9faf28") + version("0.33.4", sha256="5e79117472686ac0c4aef5bad5172ea73a1c2d1646b808c35926bd26bdfb0c08") + version("0.33.1", sha256="8eb4a788b3aec8abf5ff68d4165441bc57420c9f64ca5f471f58c3969fe08668") + version("0.32.3", sha256="1e53cdb3f808d5ccd0df57f964263752aa74ea7359526d3da6c02114ec1e1d44") + version("0.29.0", sha256="ea8033fc9905804e652f75474d33410a07404c1a78dd3c949a66863bd1050ebd") + version("0.26.0", sha256="c92ed3a2dd87c54a9e20024fb0a206fe591c352c745fff21e8f8c6cdac2086ea") extends("python") depends_on("python +ctypes", type=("build", "run")) diff --git a/var/spack/repos/builtin/packages/py-x21/package.py b/var/spack/repos/builtin/packages/py-x21/package.py index c4ad8c9c097551..4838b1ecbd3f1d 100644 --- a/var/spack/repos/builtin/packages/py-x21/package.py +++ b/var/spack/repos/builtin/packages/py-x21/package.py @@ -30,33 +30,27 @@ def url_for_version(self, version): version( "0.2.6-py3.8", sha256="bbbfdb6b56562ecc81f0dc39e009713157011fbb50d47353eb25f633acf77204", - expand=False, ) version( "0.2.6-py3.9", sha256="d7b4f06a71ac27d05ae774752b3ca396134916427f371b5995b07f0f43205043", - expand=False, ) version( "0.2.6-py3.10", sha256="2cbda690757f1fc80edfe48fcb13f168068f1784f0cb8c300a0d8051714d0452", - expand=False, ) elif sys.platform.startswith("linux"): version( "0.2.6-py3.8", sha256="64275052bcda784395bc613f750b8b5a6b1ddbfa4e7a590cb8e209543f0ca0c4", - expand=False, ) version( "0.2.6-py3.9", sha256="e20b29650fcbf0be116ac93511033bf10debc76261b7350e018ff91b92ff950d", - expand=False, ) version( "0.2.6-py3.10", sha256="7c5c58ff6dc81caac6815578f78cf545e719beb0bf4017f77120d38025d2bc7d", - expand=False, ) depends_on("python@3.8.0:3.8", type=("build", "run"), when="@0.2.6-py3.8")