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 e2f9d126093471..2350f824249958 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 @@ -96,10 +96,10 @@ 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@343f7c4344506bcbf9b4de18042ae17996df046d + uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 with: registry: ghcr.io username: ${{ github.actor }} @@ -107,13 +107,13 @@ 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 }} - name: Build & Deploy ${{ matrix.dockerfile[0] }} - uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 + uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 with: context: dockerfiles/${{ matrix.dockerfile[0] }} platforms: ${{ matrix.dockerfile[1] }} 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/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 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 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 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/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/docs/requirements.txt b/lib/spack/docs/requirements.txt index 9f2b078bac629c..457fe02f2b5c45 100644 --- a/lib/spack/docs/requirements.txt +++ b/lib/spack/docs/requirements.txt @@ -6,8 +6,8 @@ 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 +black==24.3.0 flake8==7.0.0 -mypy==1.8.0 +mypy==1.9.0 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/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/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/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/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/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/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/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/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) 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/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/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/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/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/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/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/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/lib/spack/spack/compiler.py b/lib/spack/spack/compiler.py index 30511d90db5fbe..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. @@ -389,8 +423,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 +436,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/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/compilers/msvc.py b/lib/spack/spack/compilers/msvc.py index 864d578b81f503..cba2b6e41cc548 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 @@ -318,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) 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/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") diff --git a/lib/spack/spack/directives.py b/lib/spack/spack/directives.py index ec9c5b4065b19f..0d4834ed138c7c 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) @@ -919,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/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/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/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/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 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/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..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). @@ -1172,11 +1162,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 @@ -1507,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 }. 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: 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/target.py b/lib/spack/spack/target.py index 4ce8866ac76d44..5f1f4f9e5a9b3a 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__ @@ -152,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/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/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 "", + ) 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/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/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/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]) 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 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/patch.py b/lib/spack/spack/test/patch.py index e025994cced371..3710c58303560a 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.""" @@ -252,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 @@ -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) 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/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/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. 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 < setuptools patch for Python 3.12 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/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 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/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/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/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/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/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") 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 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/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): 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/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) diff --git a/var/spack/repos/builtin/packages/ecmwf-atlas/package.py b/var/spack/repos/builtin/packages/ecmwf-atlas/package.py index f1320c926606c1..e14429104a0f8a 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")) @@ -56,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") @@ -70,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 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") 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..36d79c06c76c1e 100644 --- a/var/spack/repos/builtin/packages/expat/package.py +++ b/var/spack/repos/builtin/packages/expat/package.py @@ -17,8 +17,19 @@ class Expat(AutotoolsPackage, CMakePackage): license("MIT") - 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( 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, ) 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/ffmpeg/package.py b/var/spack/repos/builtin/packages/ffmpeg/package.py index d12c547da6e5fd..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", @@ -125,15 +137,26 @@ 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", - when="@:6.0", + sha256="f070ac16be68b4d32b1b5b885d146eb36eb508daa928b6f0f78256c3482f9f0e", + 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" 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/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", 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/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) 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/fzf/package.py b/var/spack/repos/builtin/packages/fzf/package.py index eedd3fdea7f73c..d9a5b6057fd9fd 100644 --- a/var/spack/repos/builtin/packages/fzf/package.py +++ b/var/spack/repos/builtin/packages/fzf/package.py @@ -19,6 +19,8 @@ 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") version("0.44.1", sha256="295f3aec9519f0cf2dce67a14e94d8a743d82c19520e5671f39c71c9ea04f90c") 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/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") 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/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 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/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 d75fd6f9c70df1..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") @@ -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 @@ -158,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") @@ -260,7 +265,10 @@ 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")) # Never install the data with geant4, but point to the dependent # geant4-data's install directory to correctly set up the @@ -275,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)) 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/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") 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/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")) 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") 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/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") 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/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-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", 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-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..44a52b8d28ecf1 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": { @@ -89,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, ) 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/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", 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") 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) 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/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/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/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 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/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") 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 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/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" 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") 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") 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/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/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/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/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) diff --git a/var/spack/repos/builtin/packages/mgard/package.py b/var/spack/repos/builtin/packages/mgard/package.py index e75f76ee002424..c3abc1a5cfd93e 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") @@ -48,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:") @@ -63,11 +64,17 @@ 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": 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): 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/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/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/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) 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", 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) 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/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 + # 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): 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/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/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/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", diff --git a/var/spack/repos/builtin/packages/octopus/package.py b/var/spack/repos/builtin/packages/octopus/package.py index 7098b163faac2a..3690feb1c3e361 100644 --- a/var/spack/repos/builtin/packages/octopus/package.py +++ b/var/spack/repos/builtin/packages/octopus/package.py @@ -19,10 +19,11 @@ 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") + 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") @@ -292,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") 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"), 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/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 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/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 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) 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-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") 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-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") 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 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: diff --git a/var/spack/repos/builtin/packages/protobuf/package.py b/var/spack/repos/builtin/packages/protobuf/package.py index a87a0db6165146..035eab572a922d 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") @@ -110,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", ) 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-art/package.py b/var/spack/repos/builtin/packages/py-art/package.py new file mode 100644 index 00000000000000..c5b6a48eeb4953 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-art/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 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:", type=("build", "run")) + depends_on("py-setuptools", type="build") 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-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") 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")) 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-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-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-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-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 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-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-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") 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-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-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-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-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")) 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-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-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")) 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-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-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-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:") 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-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-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-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-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-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-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")) 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-keras/package.py b/var/spack/repos/builtin/packages/py-keras/package.py index f9eb62b9a6ae94..bb13e3a3dc9cab 100644 --- a/var/spack/repos/builtin/packages/py-keras/package.py +++ b/var/spack/repos/builtin/packages/py-keras/package.py @@ -19,12 +19,17 @@ 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") 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,18 +80,19 @@ 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") 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") @@ -98,7 +104,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-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") 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") 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-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")) 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-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-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-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-nvidia-dali/package.py b/var/spack/repos/builtin/packages/py-nvidia-dali/package.py index b67fe5c01ec1db..14522f2932f308 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() @@ -24,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-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-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") 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-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-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")) 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-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-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-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" 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-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-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-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") 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-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") 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-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") 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-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")) 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")) 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") 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-setuptools/package.py b/var/spack/repos/builtin/packages/py-setuptools/package.py index c5d5f7bfef2b02..bdfc00a9e15d8d 100644 --- a/var/spack/repos/builtin/packages/py-setuptools/package.py +++ b/var/spack/repos/builtin/packages/py-setuptools/package.py @@ -19,181 +19,45 @@ class PySetuptools(Package, PythonExtension): # Requires railroad skip_modules = ["setuptools._vendor", "pkg_resources._vendor"] - 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-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/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")) 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") 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 0f3322f49b98b6..b77439185c86d8 100644 --- a/var/spack/repos/builtin/packages/py-tensorboard/package.py +++ b/var/spack/repos/builtin/packages/py-tensorboard/package.py @@ -21,116 +21,34 @@ class PyTensorboard(PythonPackage): license("Apache-2.0") - 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:") @@ -138,22 +56,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") 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-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-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-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") 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-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-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-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") 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") 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") 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:") 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") 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")) 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") 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/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", 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() 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/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") diff --git a/var/spack/repos/builtin/packages/scorep/package.py b/var/spack/repos/builtin/packages/scorep/package.py index c5a1d2245428cb..fd0f6f842d1f96 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") @@ -143,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) diff --git a/var/spack/repos/builtin/packages/seacas/package.py b/var/spack/repos/builtin/packages/seacas/package.py index 393da4a4bdf002..30aab746a31a8a 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" ) @@ -132,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" ) @@ -143,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") @@ -212,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), @@ -230,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( @@ -358,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/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): 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 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 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") 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 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), 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/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")) 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"), 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") 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: 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") 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") 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"), ]